From ba848801d891ba75d32025a20b49f3583f849682 Mon Sep 17 00:00:00 2001 From: tigro Date: Tue, 27 Feb 2024 20:49:13 +0300 Subject: [PATCH] import 0.19.0 --- .copr/Makefile | 6 + .copr/build.sh | 52 + .github/ISSUE_TEMPLATE/bug_report.md | 52 + .github/workflows/codespell.yml | 30 + .github/workflows/differential-shellcheck.yml | 29 + .github/workflows/pr-welcome-msg.yml | 37 + .github/workflows/reuse-copr-build.yml | 163 + .github/workflows/tmt-tests.yml | 131 + .github/workflows/unit-tests.yml | 48 + .gitignore | 120 + .gitlab-ci.yml | 34 + .isort.cfg | 9 + .packit.yaml | 290 + .pylintrc | 80 + .travis.yml | 22 + .travis/githubio-data-idrsa | Bin 0 -> 1840 bytes CONTRIBUTING.md | 1 + LICENSE | 201 + Makefile | 497 + README.md | 31 +- commands/answer/__init__.py | 44 + commands/command_utils.py | 142 + commands/config.py | 7 + commands/list_runs/__init__.py | 26 + commands/preupgrade/__init__.py | 92 + commands/rerun/__init__.py | 82 + commands/tests/test_upgrade_paths.py | 52 + commands/upgrade/__init__.py | 122 + commands/upgrade/breadcrumbs.py | 171 + commands/upgrade/util.py | 247 + conftest.py | 97 + docs/README.md | 3 + .../files/device_driver_deprecation_data.json | 5060 + etc/leapp/files/pes-events.json | 501636 +++++++++++++++ etc/leapp/files/repomap.json | 3796 + etc/leapp/transaction/to_install | 2 + etc/leapp/transaction/to_keep | 7 + etc/leapp/transaction/to_remove | 3 + packaging/leapp-repository.spec | 279 + .../other_specs/leapp-el7toel8-deps.spec | 120 + pytest.ini | 10 + repos/common/.leapp/info | 1 + repos/common/.leapp/leapp.conf | 6 + repos/common/topics/systeminfo.py | 5 + repos/system_upgrade/common/.leapp/info | 1 + repos/system_upgrade/common/.leapp/leapp.conf | 6 + .../actors/addupgradebootentry/actor.py | 39 + .../libraries/addupgradebootentry.py | 116 + .../tests/files/grub_test.fixed | 7 + .../tests/files/grub_test.wrong | 7 + .../tests/files/grub_test_newline.fixed | 7 + .../tests/files/grub_test_newline.wrong | 7 + .../tests/unit_test_addupgradebootentry.py | 169 + .../applytransactionworkarounds/actor.py | 18 + .../unit_test_applytransactionworkarounds.py | 61 + .../common/actors/baculacheck/actor.py | 20 + .../baculacheck/libraries/baculacheck.py | 50 + .../baculacheck/tests/test_baculacheck.py | 65 + .../common/actors/biosdevname/actor.py | 19 + .../biosdevname/libraries/biosdevname.py | 59 + .../biosdevname/tests/test_biosdevname.py | 129 + .../common/actors/cephvolumescan/actor.py | 20 + .../libraries/cephvolumescan.py | 72 + .../tests/test_cephvolumescan.py | 85 + .../actors/checkbootavailspace/actor.py | 31 + .../libraries/checkbootavailspace.py | 39 + .../tests/unit_test_checkbootavailspace.py | 54 + .../common/actors/checkcifs/actor.py | 21 + .../actors/checkcifs/libraries/checkcifs.py | 23 + .../actors/checkcifs/tests/test_checkcifs.py | 38 + .../actors/checkconsumedassets/actor.py | 18 + .../libraries/check_consumed_assets.py | 162 + .../tests/test_asset_version_checking.py | 47 + .../checkdetecteddevicesanddrivers/actor.py | 21 + .../libraries/checkdddd.py | 180 + .../common/actors/checketcreleasever/actor.py | 18 + .../libraries/checketcreleasever.py | 34 + .../tests/test_checketcreleasever.py | 110 + .../common/actors/checkfips/actor.py | 55 + .../actors/checkfips/tests/test_checkfips.py | 23 + .../actors/checkfstabmountorder/actor.py | 19 + .../libraries/checkfstabmountorder.py | 95 + .../tests/test_checkfstabmountorder.py | 89 + .../common/actors/checkgrubcore/actor.py | 56 + .../checkgrubcore/tests/test_checkgrubcore.py | 35 + .../actors/checkinsightsautoregister/actor.py | 29 + .../libraries/checkinsightsautoregister.py | 53 + .../tests/test_reportinsightsautoregister.py | 80 + .../common/actors/checkipaserver/actor.py | 27 + .../libraries/checkipaserver.py | 72 + .../test_check_ipa_server_checkipaserver.py | 58 + .../common/actors/checkmemory/actor.py | 20 + .../checkmemory/libraries/checkmemory.py | 49 + .../checkmemory/tests/test_checkmemory.py | 31 + .../common/actors/checkmountoptions/actor.py | 21 + .../libraries/checkmountoptions.py | 75 + .../tests/test_checkmountoptions.py | 61 + .../common/actors/checknfs/actor.py | 77 + .../actors/checknfs/tests/test_checknfs.py | 123 + .../common/actors/checkosrelease/actor.py | 21 + .../libraries/checkosrelease.py | 45 + .../tests/test_checkosrelease.py | 44 + .../actors/checkpersistentmounts/actor.py | 21 + .../libraries/checkpersistentmounts.py | 43 + .../tests/test_checkpersistentmounts.py | 40 + .../common/actors/checkrhsmsku/actor.py | 22 + .../checkrhsmsku/libraries/checkrhsmsku.py | 29 + .../tests/test_rhsmsku_checkrhsmsku.py | 41 + .../common/actors/checkrootsymlinks/actor.py | 64 + .../tests/unit_test_checkrootsymlinks.py | 58 + .../common/actors/checksaphana/actor.py | 33 + .../checksaphana/libraries/checksaphana.py | 289 + .../checksaphana/tests/test_checksaphana.py | 293 + .../common/actors/checkselinux/actor.py | 26 + .../checkselinux/libraries/checkselinux.py | 77 + .../checkselinux/tests/test_checkselinux.py | 69 + .../actors/checkskippedrepositories/actor.py | 53 + ...ckskippedrepos_checkskippedrepositories.py | 70 + .../common/actors/checkskipphase/actor.py | 35 + .../common/actors/checksystemarch/actor.py | 21 + .../libraries/checksystemarch.py | 25 + .../tests/test_checksystemarch.py | 27 + .../common/actors/checktargetiso/actor.py | 18 + .../libraries/check_target_iso.py | 182 + .../tests/test_check_target_iso.py | 168 + .../common/actors/checktargetrepos/actor.py | 47 + .../libraries/checktargetrepos.py | 104 + .../tests/test_checktargetrepos.py | 87 + .../actors/checkyumpluginsenabled/actor.py | 20 + .../libraries/checkyumpluginsenabled.py | 72 + .../tests/test_checkyumpluginsenabled.py | 68 + .../actors/cloud/checkhybridimage/actor.py | 24 + .../libraries/checkhybridimage.py | 51 + .../tests/test_checkhybridimage.py | 82 + .../common/actors/cloud/checkrhui/actor.py | 124 + .../tests/component_test_checkrhui.py | 60 + .../actors/cloud/grubenvtofile/actor.py | 28 + .../grubenvtofile/libraries/grubenvtofile.py | 19 + .../grubenvtofile/tests/test_grubenvtofile.py | 43 + .../actors/commonleappdracutmodules/actor.py | 36 + .../dracut/85sys-upgrade-redhat/do-upgrade.sh | 380 + .../85sys-upgrade-redhat/module-setup.sh | 113 + .../dracut/85sys-upgrade-redhat/mount_usr.sh | 84 + .../files/dracut/90sys-upgrade/.profile | 9 + .../files/dracut/90sys-upgrade/.shrc | 4 + .../initrd-system-upgrade-generator | 30 + .../dracut/90sys-upgrade/leapp_debug_tools.sh | 41 + .../dracut/90sys-upgrade/module-setup.sh | 86 + .../dracut/90sys-upgrade/upgrade.service | 20 + .../files/dracut/90sys-upgrade/upgrade.sh | 30 + .../files/dracut/90sys-upgrade/upgrade.target | 8 + .../libraries/modscan.py | 98 + .../test_modscan_commonleappdracutmodules.py | 104 + .../common/actors/createisorepofile/actor.py | 18 + .../libraries/create_iso_repofile.py | 36 + .../actors/createresumeservice/actor.py | 64 + .../files/leapp_resume.service | 15 + .../tests/test_createresumeservice.py | 25 + .../actors/detectgrubconfigerror/actor.py | 87 + .../tests/test_detectgrubconfigerror.py | 58 + .../actors/detectkerneldrivers/actor.py | 18 + .../libraries/detectkerneldrivers.py | 21 + .../common/actors/dnfdryrun/actor.py | 59 + .../common/actors/dnfpackagedownload/actor.py | 56 + .../actors/dnftransactioncheck/actor.py | 48 + .../actors/dnfupgradetransaction/actor.py | 65 + .../efibootorderfix/eficheckboot/actor.py | 38 + .../efibootorderfix/finalization/actor.py | 17 + .../actors/efibootorderfix/interim/actor.py | 17 + .../actors/enablerhsmtargetrepos/actor.py | 30 + .../libraries/enablerhsmtargetrepos.py | 60 + .../tests/test_enablerhsmtargetrepos.py | 128 + .../filterrpmtransactionevents/actor.py | 57 + .../tests/test_filterrpmtransactionevents.py | 45 + .../actor.py | 22 + .../libraries/forcedefaultboot.py | 77 + ...t_forcedefaultboottotargetkernelversion.py | 157 + .../common/actors/getenabledmodules/actor.py | 19 + .../actors/getinstalleddesktops/actor.py | 22 + .../libraries/getinstalleddesktops.py | 17 + .../tests/unit_test_getinstalleddesktops.py | 36 + .../common/actors/inhibitwhenluks/actor.py | 49 + .../tests/test_inhibitwhenluks.py | 34 + .../initramfs/checkfipsenabled/actor.py | 21 + .../checkfipsenabled/libraries/check_fips.py | 23 + .../tests/test_checkfipsenabled.py | 31 + .../initramfs/checkinitramfstasks/actor.py | 23 + .../libraries/checkinitramfstasks.py | 93 + .../tests/unit_test_checkinitramfstasks.py | 157 + .../actors/initramfs/mounttargetiso/actor.py | 16 + .../libraries/mount_target_iso.py | 27 + .../targetinitramfsgenerator/actor.py | 21 + .../libraries/targetinitramfsgenerator.py | 141 + .../tests/test_targetinitramfsgenerator.py | 231 + .../common/actors/initramfs/tmpactor/actor.py | 21 + .../upgradeinitramfsgenerator/actor.py | 44 + .../files/generate-initram.sh | 119 + .../libraries/upgradeinitramfsgenerator.py | 402 + .../unit_test_upgradeinitramfsgenerator.py | 404 + .../actors/insightsautoregister/actor.py | 23 + .../libraries/insightsautoregister.py | 25 + .../tests/test_insightsautoregister.py | 73 + .../common/actors/ipascanner/actor.py | 29 + .../actors/ipascanner/libraries/ipascanner.py | 31 + .../ipascanner/tests/test_ipascanner.py | 93 + .../common/actors/ipuworkflowconfig/actor.py | 19 + .../libraries/ipuworkflowconfig.py | 82 + .../ipuworkflowconfig/tests/files/os-release | 17 + .../tests/files/os-release-8beta | 17 + .../tests/test_ipuworkflowconfig.py | 72 + .../kernel/checkinstalledkernels/actor.py | 38 + .../libraries/checkinstalledkernels.py | 107 + .../tests/unit_test_checkinstalledkernels.py | 177 + .../actors/kernelcmdlineconfig/actor.py | 32 + .../libraries/kernelcmdlineconfig.py | 66 + .../tests/test_kernelcmdlineconfig.py | 124 + .../loaddevicedriverdeprecationdata/actor.py | 21 + .../deviceanddriverdeprecationdataload.py | 30 + .../tests/test_ddddload.py | 59 + .../common/actors/localreposinhibit/actor.py | 89 + .../tests/test_unit_localreposinhibit.py | 81 + .../actors/missinggpgkeysinhibitor/actor.py | 40 + .../libraries/missinggpgkey.py | 484 + .../tests/component_test_missinggpgkey.py | 665 + .../tests/unit_test_missinggpgkey.py | 238 + .../actors/opensshconfigscanner/actor.py | 28 + .../libraries/readopensshconfig.py | 107 + ..._readopensshconfig_opensshconfigscanner.py | 178 + .../opensshpermitrootlogincheck/actor.py | 161 + .../libraries/opensshpermitrootlogincheck.py | 43 + ...est_library_opensshpermitrootlogincheck.py | 236 + .../common/actors/pcidevicesscanner/Makefile | 2 + .../common/actors/pcidevicesscanner/actor.py | 20 + .../libraries/pcidevicesscanner.py | 123 + .../tests/test_pcidevicesscanner.py | 213 + .../common/actors/persistentnetnames/actor.py | 27 + .../tests/test_persistentnetnames.py | 37 + .../actors/persistentnetnamesconfig/actor.py | 31 + .../libraries/persistentnetnamesconfig.py | 106 + .../tests/files/crashed_ifaces.json | 348 + .../tests/test_persistentnetnamesconfig.py | 205 + .../actors/persistentnetnamesdisable/actor.py | 59 + .../tests/test_persistentnetnamesdisable.py | 54 + .../persistentnetnamesinitramfs/actor.py | 20 + .../tests/test_persistentnetnamesinitramfs.py | 37 + .../common/actors/peseventsscanner/actor.py | 41 + .../libraries/pes_event_parsing.py | 299 + .../libraries/pes_events_scanner.py | 515 + .../libraries/peseventsscanner_repomap.py | 326 + .../tests/files/sample01.json | 1 + .../tests/files/sample02.json | 1 + .../tests/files/sample03.json | 0 .../tests/files/sample04.json | 70 + .../tests/test_event_parsing.py | 170 + .../tests/test_pes_event_scanner.py | 404 + .../actors/preparepythonworkround/actor.py | 22 + .../libraries/workaround.py | 42 + .../tests/test_preparepythonworkaround.py | 50 + .../actors/redhatsignedrpmcheck/actor.py | 22 + .../libraries/redhatsignedrpmcheck.py | 45 + .../tests/test_redhatsignedrpmcheck.py | 47 + .../actors/redhatsignedrpmscanner/actor.py | 94 + .../tests/test_redhatsignedrpmscanner.py | 171 + .../common/actors/removebootfiles/actor.py | 21 + .../libraries/removebootfiles.py | 25 + .../tests/unit_test_removebootfiles.py | 56 + .../actors/removeobsoletegpgkeys/actor.py | 24 + .../libraries/removeobsoleterpmgpgkeys.py | 47 + .../tests/test_removeobsoleterpmgpgkeys.py | 94 + .../actors/removeresumeservice/actor.py | 45 + .../tests/test_removeresumeservice.py | 37 + .../actors/removeupgradeartifacts/actor.py | 23 + .../libraries/removeupgradeartifacts.py | 17 + .../tests/test_removeupgradeartifacts.py | 28 + .../actors/removeupgradebootentry/actor.py | 20 + .../libraries/removeupgradebootentry.py | 54 + .../tests/unit_test_removeupgradebootentry.py | 68 + .../actors/reportsettargetrelease/actor.py | 23 + .../libraries/reportsettargetrelease.py | 54 + ...getreleasereport_reportsettargetrelease.py | 28 + .../actors/repositoriesblacklist/actor.py | 31 + .../libraries/repositoriesblacklist.py | 169 + .../tests/test_repositoriesblacklist.py | 215 + .../actors/repositoriesmapping/actor.py | 21 + .../libraries/repositoriesmapping.py | 198 + .../tests/files/repomap_example.json | 94 + .../tests/unit_test_repositoriesmapping.py | 301 + .../common/actors/rootscanner/actor.py | 19 + .../rootscanner/libraries/rootscanner.py | 34 + .../rootscanner/tests/test_rootscanner.py | 32 + .../common/actors/rpmscanner/actor.py | 20 + .../actors/rpmscanner/libraries/rpmscanner.py | 133 + .../rpmscanner/tests/test_rpmscanner.py | 194 + .../actor.py | 23 + .../rpmtransactionconfigtaskscollector.py | 38 + ...asks_rpmtransactionconfigtaskscollector.py | 37 + .../common/actors/scanclienablerepo/actor.py | 18 + .../libraries/scanclienablerepo.py | 11 + .../tests/test_unit_scanclienablerepo.py | 46 + .../common/actors/scancpu/actor.py | 16 + .../actors/scancpu/libraries/scancpu.py | 151 + .../actors/scancpu/tests/files/lscpu_aarch64 | 26 + .../actors/scancpu/tests/files/lscpu_ppc64le | 24 + .../actors/scancpu/tests/files/lscpu_s390x | 38 + .../actors/scancpu/tests/files/lscpu_x86_64 | 36 + .../actors/scancpu/tests/test_scancpu.py | 91 + .../common/actors/scancustomrepofile/actor.py | 27 + .../libraries/scancustomrepofile.py | 34 + .../tests/test_scancustomrepofile.py | 77 + .../common/actors/scandasd/actor.py | 24 + .../actors/scandasd/libraries/scandasd.py | 25 + .../scandasd/tests/unit_test_scandasd.py | 59 + .../scanfilesfortargetuserspace/actor.py | 18 + .../libraries/scanfilesfortargetuserspace.py | 26 + .../tests/test_scanfilesfortargetuserspace.py | 89 + .../common/actors/scanfips/actor.py | 28 + .../actors/scanfips/tests/test_scanfips.py | 36 + .../common/actors/scangrubconfig/actor.py | 21 + .../scangrubconfig/libraries/scanner.py | 73 + .../files/corrupted_grubenv/grubenv.correct | 3 + .../files/corrupted_grubenv/grubenv.wrong1 | 4 + .../files/corrupted_grubenv/grubenv.wrong2 | 2 + .../tests/files/error_detection/grub.correct | 7 + .../error_detection/grub.correct_comment | 8 + .../files/error_detection/grub.correct_puppet | 27 + .../grub.correct_trailing_space | 3 + .../tests/files/error_detection/grub.wrong | 7 + .../tests/files/error_detection/grub.wrong1 | 1 + .../tests/test_scangrubconfig.py | 69 + .../common/actors/scangrubdevice/actor.py | 25 + .../tests/test_scangrubdevice.py | 35 + .../scaninstalledtargetkernelversion/actor.py | 23 + .../libraries/scankernel.py | 110 + ...kernel_scaninstalledtargetkernelversion.py | 165 + .../common/actors/scankernelcmdline/actor.py | 26 + .../common/actors/scanmemory/actor.py | 16 + .../actors/scanmemory/libraries/scanmemory.py | 24 + .../scanmemory/tests/test_scanmemory.py | 44 + .../common/actors/scanpkgmanager/actor.py | 18 + .../scanpkgmanager/libraries/pluginscanner.py | 75 + .../libraries/scanpkgmanager.py | 85 + .../scanpkgmanager/tests/files/releasever | 2 + .../tests/test_pluginscanner.py | 83 + .../tests/test_scanpkgmanager.py | 95 + .../common/actors/scansaphana/actor.py | 21 + .../scansaphana/libraries/scansaphana.py | 133 + .../scansaphana/tests/test_scansaphana.py | 187 + .../common/actors/scansourcekernel/actor.py | 18 + .../libraries/scan_source_kernel.py | 30 + .../scansubscriptionmanagerinfo/actor.py | 21 + .../libraries/scanrhsm.py | 10 + .../test_scansubscriptionmanagementinfo.py | 43 + .../common/actors/scantargetiso/actor.py | 16 + .../libraries/scan_target_os_iso.py | 96 + .../tests/test_scan_target_iso.py | 220 + .../common/actors/scanzfcp/actor.py | 24 + .../actors/scanzfcp/libraries/scanzfcp.py | 25 + .../scanzfcp/tests/unit_test_scanzfcp.py | 59 + .../actors/scheduleselinuxrelabeling/actor.py | 50 + .../tests/test_scheduleselinuxrelabeling.py | 31 + .../selinux/selinuxapplycustom/Makefile | 2 + .../selinux/selinuxapplycustom/actor.py | 181 + .../libraries/selinuxapplycustom.py | 72 + .../component_test_selinuxapplycustom.py | 99 + .../selinux/selinuxcontentscanner/Makefile | 2 + .../selinux/selinuxcontentscanner/actor.py | 55 + .../libraries/selinuxcontentscanner.py | 246 + .../component_test_selinuxcontentscanner.py | 113 + .../tests/mock_modules/base_container.cil | 14 + .../tests/mock_modules/compat.cil | 4 + .../tests/mock_modules/mock1.cil | 4 + .../tests/mock_modules/mock2.cil | 6 + .../tests/mock_modules/mock3.cil | 3 + .../tests/unit_test_selinuxcontentscanner.py | 75 + .../actors/selinux/selinuxprepare/Makefile | 2 + .../actors/selinux/selinuxprepare/actor.py | 24 + .../libraries/selinuxprepare.py | 66 + .../tests/component_test_selinuxprepare.py | 106 + .../tests/mock_modules/base_container.cil | 14 + .../tests/mock_modules/compat.cil | 4 + .../tests/mock_modules/mock1.cil | 4 + .../tests/mock_modules/mock2.cil | 6 + .../tests/mock_modules/mock3.cil | 5 + .../tests/unit_test_selinuxprepare.py | 51 + .../common/actors/setetcreleasever/actor.py | 24 + .../libraries/setetcreleasever.py | 26 + .../tests/test_setetcreleasever.py | 63 + .../actors/setpermissiveselinux/Makefile | 2 + .../actors/setpermissiveselinux/actor.py | 36 + .../libraries/setpermissiveselinux.py | 11 + .../tests/test_setpermissiveselinux.py | 27 + .../common/actors/setuptargetrepos/actor.py | 40 + .../libraries/setuptargetrepos.py | 155 + .../libraries/setuptargetrepos_repomap.py | 326 + .../tests/test_repomapping.py | 684 + .../tests/test_setuptargetrepos.py | 196 + .../common/actors/storagescanner/actor.py | 22 + .../libraries/storagescanner.py | 274 + .../actors/storagescanner/tests/files/fstab | 14 + .../storagescanner/tests/files/invalid_fstab | 11 + .../actors/storagescanner/tests/files/mounts | 38 + .../storagescanner/tests/files/partitions | 7 + .../tests/unit_test_storagescanner.py | 500 + .../checksystemdbrokensymlinks/actor.py | 29 + .../libraries/checksystemdbrokensymlinks.py | 106 + .../tests/test_checksystemdbrokensymlinks.py | 89 + .../systemd/checksystemdservicetasks/actor.py | 29 + .../libraries/checksystemdservicetasks.py | 34 + .../tests/test_checksystemdservicestasks.py | 102 + .../systemd/repairsystemdsymlinks/actor.py | 25 + .../libraries/repairsystemdsymlinks.py | 76 + .../tests/test_repairsystemdsymlinks.py | 91 + .../actors/systemd/scansystemdsource/actor.py | 25 + .../libraries/scansystemdsource.py | 45 + .../tests/test_scansystemdsource.py | 100 + .../actors/systemd/scansystemdtarget/actor.py | 28 + .../libraries/scansystemdtarget.py | 37 + .../tests/test_scansystemdtarget.py | 110 + .../systemd/setsystemdservicesstates/actor.py | 18 + .../libraries/setsystemdservicesstate.py | 30 + .../tests/test_setsystemdservicesstate.py | 97 + .../common/actors/systemfacts/Makefile | 3 + .../common/actors/systemfacts/actor.py | 67 + .../systemfacts/libraries/systemfacts.py | 356 + .../systemfacts/tests/test_systemfacts.py | 118 + .../tests/test_systemfacts_grub.py | 46 + .../tests/test_systemfacts_selinux.py | 98 + .../actors/targetuserspacecreator/actor.py | 58 + .../libraries/constants.py | 5 + .../libraries/userspacegen.py | 867 + .../tests/unit_test_targetuserspacecreator.py | 410 + .../actors/transactionworkarounds/actor.py | 20 + .../libraries/transactionworkarounds.py | 17 + ...tion_workarounds_transactionworkarounds.py | 28 + .../common/actors/udev/udevadminfo/actor.py | 19 + .../actors/unsupportedupgradecheck/actor.py | 74 + .../common/actors/updategrubcore/actor.py | 22 + .../libraries/updategrubcore.py | 68 + .../tests/test_updategrubcore.py | 124 + .../actors/usedrepositoriesscanner/actor.py | 44 + .../tests/test_usedrepositoriesscanner.py | 57 + .../common/actors/verifycheckresults/actor.py | 21 + .../libraries/verifycheckresults.py | 9 + .../tests/unit_test_verifycheckresults.py | 38 + .../common/actors/verifydialogs/actor.py | 21 + .../verifydialogs/libraries/verifydialogs.py | 24 + .../common/actors/xfsinfoscanner/actor.py | 23 + .../libraries/xfsinfoscanner.py | 64 + .../tests/unit_test_xfsinfoscanner.py | 207 + .../common/files/prod-certs/8.0/279.pem | 35 + .../common/files/prod-certs/8.0/419.pem | 35 + .../common/files/prod-certs/8.0/479.pem | 35 + .../common/files/prod-certs/8.0/72.pem | 35 + .../common/files/prod-certs/8.1/279.pem | 35 + .../common/files/prod-certs/8.1/419.pem | 35 + .../common/files/prod-certs/8.1/479.pem | 35 + .../common/files/prod-certs/8.1/72.pem | 35 + .../common/files/prod-certs/8.2/279.pem | 35 + .../common/files/prod-certs/8.2/419.pem | 35 + .../common/files/prod-certs/8.2/479.pem | 35 + .../common/files/prod-certs/8.2/72.pem | 35 + .../common/files/prod-certs/8.3/279.pem | 35 + .../common/files/prod-certs/8.3/419.pem | 35 + .../common/files/prod-certs/8.3/479.pem | 35 + .../common/files/prod-certs/8.3/72.pem | 35 + .../common/files/prod-certs/8.4/279.pem | 35 + .../common/files/prod-certs/8.4/419.pem | 35 + .../common/files/prod-certs/8.4/479.pem | 35 + .../common/files/prod-certs/8.4/72.pem | 35 + .../common/files/prod-certs/8.5/279.pem | 35 + .../common/files/prod-certs/8.5/362.pem | 36 + .../common/files/prod-certs/8.5/363.pem | 36 + .../common/files/prod-certs/8.5/419.pem | 35 + .../common/files/prod-certs/8.5/433.pem | 36 + .../common/files/prod-certs/8.5/479.pem | 35 + .../common/files/prod-certs/8.5/486.pem | 36 + .../common/files/prod-certs/8.5/72.pem | 35 + .../common/files/prod-certs/8.6/279.pem | 35 + .../common/files/prod-certs/8.6/362.pem | 37 + .../common/files/prod-certs/8.6/363.pem | 36 + .../common/files/prod-certs/8.6/419.pem | 35 + .../common/files/prod-certs/8.6/433.pem | 36 + .../common/files/prod-certs/8.6/479.pem | 35 + .../common/files/prod-certs/8.6/486.pem | 36 + .../common/files/prod-certs/8.6/72.pem | 35 + .../common/files/prod-certs/8.7/279.pem | 35 + .../common/files/prod-certs/8.7/362.pem | 36 + .../common/files/prod-certs/8.7/363.pem | 35 + .../common/files/prod-certs/8.7/419.pem | 35 + .../common/files/prod-certs/8.7/433.pem | 35 + .../common/files/prod-certs/8.7/479.pem | 35 + .../common/files/prod-certs/8.7/486.pem | 35 + .../common/files/prod-certs/8.7/72.pem | 35 + .../common/files/prod-certs/8.8/279.pem | 35 + .../common/files/prod-certs/8.8/362.pem | 36 + .../common/files/prod-certs/8.8/363.pem | 35 + .../common/files/prod-certs/8.8/419.pem | 35 + .../common/files/prod-certs/8.8/433.pem | 35 + .../common/files/prod-certs/8.8/479.pem | 35 + .../common/files/prod-certs/8.8/486.pem | 35 + .../common/files/prod-certs/8.8/72.pem | 35 + .../common/files/prod-certs/8.9/279.pem | 35 + .../common/files/prod-certs/8.9/362.pem | 36 + .../common/files/prod-certs/8.9/363.pem | 35 + .../common/files/prod-certs/8.9/419.pem | 35 + .../common/files/prod-certs/8.9/433.pem | 35 + .../common/files/prod-certs/8.9/479.pem | 35 + .../common/files/prod-certs/8.9/486.pem | 35 + .../common/files/prod-certs/8.9/72.pem | 35 + .../common/files/prod-certs/9.0/279.pem | 35 + .../common/files/prod-certs/9.0/362.pem | 36 + .../common/files/prod-certs/9.0/363.pem | 35 + .../common/files/prod-certs/9.0/419.pem | 35 + .../common/files/prod-certs/9.0/433.pem | 35 + .../common/files/prod-certs/9.0/479.pem | 35 + .../common/files/prod-certs/9.0/486.pem | 35 + .../common/files/prod-certs/9.0/72.pem | 35 + .../common/files/prod-certs/9.1/279.pem | 35 + .../common/files/prod-certs/9.1/362.pem | 36 + .../common/files/prod-certs/9.1/363.pem | 35 + .../common/files/prod-certs/9.1/419.pem | 35 + .../common/files/prod-certs/9.1/433.pem | 35 + .../common/files/prod-certs/9.1/479.pem | 35 + .../common/files/prod-certs/9.1/486.pem | 35 + .../common/files/prod-certs/9.1/72.pem | 35 + .../common/files/prod-certs/9.2/279.pem | 35 + .../common/files/prod-certs/9.2/362.pem | 36 + .../common/files/prod-certs/9.2/363.pem | 35 + .../common/files/prod-certs/9.2/419.pem | 35 + .../common/files/prod-certs/9.2/433.pem | 35 + .../common/files/prod-certs/9.2/479.pem | 35 + .../common/files/prod-certs/9.2/486.pem | 35 + .../common/files/prod-certs/9.2/72.pem | 35 + .../common/files/prod-certs/9.3/279.pem | 35 + .../common/files/prod-certs/9.3/362.pem | 36 + .../common/files/prod-certs/9.3/363.pem | 35 + .../common/files/prod-certs/9.3/419.pem | 35 + .../common/files/prod-certs/9.3/433.pem | 35 + .../common/files/prod-certs/9.3/479.pem | 35 + .../common/files/prod-certs/9.3/486.pem | 35 + .../common/files/prod-certs/9.3/72.pem | 35 + .../common/files/rhel_upgrade.py | 226 + .../rpm-gpg/8/RPM-GPG-KEY-redhat-release | 89 + .../rpm-gpg/8beta/RPM-GPG-KEY-redhat-beta | 29 + .../rpm-gpg/9/RPM-GPG-KEY-redhat-release | 66 + .../rpm-gpg/9beta/RPM-GPG-KEY-redhat-beta | 29 + .../common/files/upgrade_paths.json | 17 + .../system_upgrade/common/libraries/Makefile | 2 + .../common/libraries/config/__init__.py | 99 + .../common/libraries/config/architecture.py | 28 + .../common/libraries/config/mock_configs.py | 76 + .../config/tests/test_architecture.py | 21 + .../libraries/config/tests/test_getenvvars.py | 55 + .../libraries/config/tests/test_version.py | 123 + .../common/libraries/config/version.py | 328 + .../common/libraries/dnfconfig.py | 126 + .../common/libraries/dnfplugin.py | 539 + .../common/libraries/efi_reboot_fix.py | 47 + .../system_upgrade/common/libraries/fetch.py | 198 + repos/system_upgrade/common/libraries/grub.py | 118 + .../system_upgrade/common/libraries/guards.py | 54 + .../system_upgrade/common/libraries/kernel.py | 116 + .../system_upgrade/common/libraries/mdraid.py | 52 + .../system_upgrade/common/libraries/module.py | 93 + .../common/libraries/mounting.py | 444 + .../common/libraries/multipathutil.py | 102 + .../common/libraries/overlaygen.py | 713 + .../common/libraries/persistentnetnames.py | 56 + .../common/libraries/repofileutils.py | 106 + repos/system_upgrade/common/libraries/rhsm.py | 387 + repos/system_upgrade/common/libraries/rhui.py | 270 + repos/system_upgrade/common/libraries/rpms.py | 116 + .../common/libraries/systemd.py | 266 + .../common/libraries/tests/00-test.preset | 10 + .../common/libraries/tests/01-test.preset | 4 + .../common/libraries/tests/05-invalid.preset | 8 + .../common/libraries/tests/grub_invalid | 1 + .../common/libraries/tests/grub_valid | 1 + .../common/libraries/tests/panagrams | 21 + .../common/libraries/tests/sample_repos.txt | 28 + .../common/libraries/tests/test_dnfplugin.py | 193 + .../common/libraries/tests/test_grub.py | 189 + .../common/libraries/tests/test_kernel_lib.py | 78 + .../common/libraries/tests/test_mdraid.py | 108 + .../libraries/tests/test_multipathutil.py | 115 + .../tests/test_persistentnetnames_library.py | 57 + .../libraries/tests/test_repofileutils.py | 50 + .../common/libraries/tests/test_rhsm.py | 387 + .../common/libraries/tests/test_rpms.py | 32 + .../common/libraries/tests/test_systemd.py | 263 + .../tests/test_systemd_files/abc.service | 0 .../tests/test_systemd_files/example.service | 0 .../tests/test_systemd_files/example.socket | 0 .../tests/test_systemd_files/extra.service | 0 .../test_systemd_files/globbed-one.service | 0 .../test_systemd_files/globbed-two.service | 0 .../test_systemd_files/template2@.service | 0 .../test_systemd_files/template@.service | 0 .../common/libraries/tests/test_testutils.py | 23 + .../tests/test_utils_logging_handler.py | 49 + .../common/libraries/testutils.py | 189 + .../system_upgrade/common/libraries/utils.py | 242 + .../common/models/activekernelmodulesfacts.py | 23 + repos/system_upgrade/common/models/assets.py | 13 + .../common/models/bootcontent.py | 14 + .../system_upgrade/common/models/cephinfo.py | 8 + repos/system_upgrade/common/models/cpuinfo.py | 48 + .../common/models/defaultgrubinfo.py | 25 + .../models/devicedriverdeprecationdata.py | 93 + .../common/models/dnfplugintask.py | 18 + .../common/models/dnfworkaround.py | 34 + repos/system_upgrade/common/models/fips.py | 12 + .../common/models/firewallsfacts.py | 17 + .../common/models/firmwarefacts.py | 11 + .../common/models/groupsfacts.py | 16 + .../common/models/grubcfgbios.py | 12 + .../common/models/grubconfigerror.py | 17 + repos/system_upgrade/common/models/grubenv.py | 12 + .../system_upgrade/common/models/grubinfo.py | 31 + .../system_upgrade/common/models/initramfs.py | 170 + .../common/models/installeddesktopsfacts.py | 11 + .../common/models/installedkernelversion.py | 9 + .../common/models/installedrpm.py | 29 + .../models/installedtargetkernelversion.py | 48 + repos/system_upgrade/common/models/ipainfo.py | 12 + .../system_upgrade/common/models/ipuconfig.py | 61 + .../common/models/kernelcmdlineargs.py | 33 + .../common/models/leftoverpackages.py | 11 + .../common/models/memoryinfo.py | 15 + repos/system_upgrade/common/models/module.py | 20 + .../common/models/opensshconfig.py | 43 + .../common/models/packagemanagerinfo.py | 26 + .../common/models/pcidevices.py | 128 + .../common/models/persistentnetnamesfacts.py | 65 + .../common/models/repositoriesblacklisted.py | 11 + .../common/models/repositoriesfacts.py | 45 + .../common/models/repositoriesmap.py | 93 + .../common/models/repositoriessetuptasks.py | 15 + .../system_upgrade/common/models/rhsminfo.py | 22 + .../system_upgrade/common/models/rhuiinfo.py | 12 + .../common/models/rootdirectory.py | 26 + .../common/models/rpmtransactiontasks.py | 24 + .../common/models/saphanainfo.py | 44 + repos/system_upgrade/common/models/selinux.py | 45 + .../common/models/selinuxdecisions.py | 14 + .../common/models/selinuxfacts.py | 12 + .../common/models/skippedrepositories.py | 14 + .../common/models/storageinfo.py | 109 + .../common/models/sysctlvariablesfacts.py | 15 + repos/system_upgrade/common/models/systemd.py | 155 + .../common/models/targetrepositories.py | 71 + .../common/models/targetuserspace.py | 130 + .../common/models/transactioncompleted.py | 10 + repos/system_upgrade/common/models/udev.py | 9 + .../common/models/upgradeiso.py | 14 + .../common/models/usedrepositories.py | 23 + .../common/models/usersfacts.py | 17 + .../common/models/xfspresence.py | 18 + .../common/tags/applications.py | 5 + repos/system_upgrade/common/tags/checks.py | 9 + repos/system_upgrade/common/tags/download.py | 5 + repos/system_upgrade/common/tags/facts.py | 9 + .../common/tags/finalization.py | 5 + repos/system_upgrade/common/tags/firstboot.py | 5 + .../common/tags/initramstart.py | 5 + .../common/tags/interimpreparation.py | 5 + repos/system_upgrade/common/tags/ipu.py | 5 + repos/system_upgrade/common/tags/latetests.py | 5 + .../system_upgrade/common/tags/preparation.py | 5 + repos/system_upgrade/common/tags/report.py | 5 + .../system_upgrade/common/tags/rpmupgrade.py | 5 + .../common/tags/thirdpartyapplications.py | 5 + .../common/tools/importrpmgpgkeys | 35 + .../common/tools/removerpmgpgkeys | 13 + .../system_upgrade/common/topics/bootprep.py | 5 + repos/system_upgrade/common/topics/rhsm.py | 5 + .../common/topics/sctpconfigtopic.py | 5 + .../common/topics/systemfacts.py | 5 + .../common/topics/targetuserspace.py | 5 + .../common/topics/transaction.py | 5 + .../common/workflows/inplace_upgrade.py | 220 + repos/system_upgrade/el7toel8/.leapp/info | 1 + .../system_upgrade/el7toel8/.leapp/leapp.conf | 6 + .../el7toel8/actors/authselectapply/actor.py | 71 + .../el7toel8/actors/authselectcheck/actor.py | 185 + .../actors/authselectscanner/actor.py | 95 + .../libraries/authselectscanner.py | 267 + .../tests/unit_test_authselectscanner.py | 622 + .../el7toel8/actors/bindupdate/actor.py | 35 + .../actors/bindupdate/libraries/updates.py | 89 + .../actors/bindupdate/tests/test_updates.py | 50 + .../el7toel8/actors/checkacpid/actor.py | 30 + .../tests/component_test_checkacpid.py | 33 + .../el7toel8/actors/checkbind/actor.py | 40 + .../actors/checkbind/libraries/iscmodel.py | 110 + .../actors/checkbind/tests/test_model.py | 80 + .../el7toel8/actors/checkbrltty/actor.py | 55 + .../checkbrltty/libraries/checkbrltty.py | 23 + .../tests/component_test_checkbrltty.py | 32 + .../tests/unit_test_checkbrltty.py | 27 + .../el7toel8/actors/checkbtrfs/actor.py | 50 + .../checkbtrfs/tests/test_btrfs_checkbtrfs.py | 29 + .../el7toel8/actors/checkchrony/actor.py | 23 + .../checkchrony/libraries/checkchrony.py | 50 + .../tests/unit_test_checkchrony.py | 33 + .../el7toel8/actors/checkdocker/actor.py | 36 + .../tests/component_test_checkdocker.py | 61 + .../el7toel8/actors/checkdosfstools/actor.py | 38 + .../tests/component_test_checkdosfstools.py | 33 + .../el7toel8/actors/checkfirewalld/actor.py | 75 + .../checkfirewalld/libraries/private.py | 12 + .../tests/component_test_checkfirewalld.py | 13 + .../tests/unit_test_checkfirewalld.py | 22 + .../actors/checkfstabxfsoptions/actor.py | 27 + .../libraries/checkfstabxfsoptions.py | 59 + .../tests/test_checkfstabxfsoptions.py | 69 + .../el7toel8/actors/checkgrep/actor.py | 42 + .../tests/component_test_checkgrep.py | 33 + .../el7toel8/actors/checkhacluster/actor.py | 23 + .../libraries/checkhacluster.py | 48 + .../test_check_ha_cluster_checkhacluster.py | 44 + .../el7toel8/actors/checkirssi/actor.py | 36 + .../tests/component_test_checkirssi.py | 33 + .../el7toel8/actors/checkkdeapps/actor.py | 20 + .../checkkdeapps/libraries/checkkdeapps.py | 25 + .../tests/unit_test_checkkdeapps.py | 46 + .../el7toel8/actors/checkkdegnome/actor.py | 31 + .../checkkdegnome/libraries/checkkdegnome.py | 74 + .../tests/unit_test_checkkdegnome.py | 94 + .../actors/checkleftoverpackages/actor.py | 46 + .../el7toel8/actors/checkmemcached/actor.py | 24 + .../libraries/checkmemcached.py | 69 + .../tests/unit_test_checkmemcached.py | 49 + .../checkmultiplepackageversions/actor.py | 22 + .../libraries/checkmultiplepackageversions.py | 37 + .../tests/test_multiplepackageversions.py | 79 + .../el7toel8/actors/checkntp/actor.py | 25 + .../actors/checkntp/libraries/checkntp.py | 82 + .../checkntp/tests/unit_test_checkntp.py | 64 + .../el7toel8/actors/checkpostfix/actor.py | 66 + .../tests/component_test_checkpostfix.py | 33 + .../actors/checkremovedenvvars/actor.py | 19 + .../libraries/checkremovedenvvars.py | 25 + .../tests/test_checkremovedenvvars.py | 25 + .../actors/checkremovedpammodules/actor.py | 64 + .../el7toel8/actors/checksendmail/actor.py | 63 + .../checksendmail/libraries/checksendmail.py | 33 + .../tests/component_test_checksendmail.py | 38 + .../tests/unit_test_checksendmail.py | 23 + .../el7toel8/actors/checkwireshark/actor.py | 36 + .../tests/component_test_checkwireshark.py | 29 + .../el7toel8/actors/cupscheck/actor.py | 27 + .../actors/cupscheck/libraries/cupscheck.py | 219 + .../cupscheck/tests/test_check_certkey.py | 22 + .../tests/test_check_digest_values.py | 22 + .../tests/test_check_env_directives.py | 22 + .../tests/test_check_include_directive.py | 23 + .../tests/test_check_interface_scripts.py | 25 + .../tests/test_check_printcap_directive.py | 22 + .../cupscheck/tests/test_make_reports.py | 44 + .../actors/cupsfiltersmigrate/actor.py | 29 + .../libraries/cupsfiltersmigrate.py | 116 + .../test_update_config_cupsfiltersmigrate.py | 100 + ..._update_cups_browsed_cupsfiltersmigrate.py | 107 + .../el7toel8/actors/cupsmigrate/actor.py | 21 + .../cupsmigrate/libraries/cupsmigrate.py | 231 + .../cupsmigrate/tests/test_migrate_certkey.py | 222 + .../tests/test_migrate_configuration.py | 193 + .../cupsmigrate/tests/test_migrate_digest.py | 93 + .../cupsmigrate/tests/test_migrate_include.py | 78 + .../cupsmigrate/tests/test_move_directives.py | 110 + .../el7toel8/actors/cupsscanner/actor.py | 29 + .../cupsscanner/libraries/cupsscanner.py | 280 + .../tests/test_digest_directive_check.py | 34 + .../tests/test_directive_exists.py | 19 + .../tests/test_environment_setup_check.py | 34 + .../cupsscanner/tests/test_find_features.py | 387 + .../tests/test_get_directive_value_check.py | 20 + .../tests/test_include_directive_check.py | 102 + .../tests/test_interface_script_check.py | 35 + .../tests/test_print_capabilities_check.py | 30 + .../tests/test_ssl_directive_check.py | 32 + .../enableddeviceciofreeservices390/actor.py | 21 + .../libraries/enabledeviceciofreeservice.py | 8 + .../tests/test_enableddeviceciofreeservice.py | 32 + .../actors/enablersyncdservice/actor.py | 21 + .../libraries/enablersyncdservice.py | 21 + .../tests/test_enablersyncdservice.py | 24 + .../actors/firewalldfactsactor/actor.py | 55 + .../libraries/firewalldfactsactor.py | 35 + .../component_test_firewalldfactsactor.py | 6 + .../tests/unit_test_firewalldfactsactor.py | 88 + .../firewalldupdatelockdownwhitelist/actor.py | 39 + .../firewalldupdatelockdownwhitelist.py | 13 + ...t_test_firewalldupdatelockdownwhitelist.py | 51 + .../checkinstalleddebugkernels/actor.py | 23 + .../libraries/checkinstalleddebugkernels.py | 42 + .../unit_test_checkinstalleddebugkernels.py | 35 + .../checkinstalleddevelkernels/actor.py | 23 + .../libraries/checkinstalleddevelkernels.py | 42 + .../unit_test_checkinstalleddevelkernels.py | 35 + .../el7toel8/actors/migratebrltty/actor.py | 39 + .../migratebrltty/libraries/migratebrltty.py | 25 + .../tests/component_test_migratebrltty.py | 29 + .../el7toel8/actors/migratentp/Makefile | 2 + .../el7toel8/actors/migratentp/actor.py | 19 + .../actors/migratentp/libraries/migratentp.py | 87 + .../actors/migratentp/libraries/ntp2chrony.py | 684 + .../tests/data/chronyconfs/1_chrony.conf | 47 + .../tests/data/chronyconfs/2_chrony.conf | 46 + .../tests/data/chronyconfs/2_chrony.keys | 3 + .../tests/data/chronyconfs/3_chrony.conf | 49 + .../tests/data/chronyconfs/3_chrony.keys | 1 + .../tests/data/chronyconfs/4_chrony.conf | 49 + .../tests/data/chronyconfs/5_chrony.conf | 48 + .../tests/data/chronyconfs/6_chrony.conf | 51 + .../tests/data/chronyconfs/7_chrony.conf | 50 + .../actors/migratentp/tests/data/ntp.conf | 45 + .../actors/migratentp/tests/data/ntp.keys | 3 + .../migratentp/tests/data/ntpconfs/1_ntp.conf | 4 + .../migratentp/tests/data/ntpconfs/2_ntp.conf | 54 + .../migratentp/tests/data/ntpconfs/2_ntp.keys | 3 + .../migratentp/tests/data/ntpconfs/3_ntp.conf | 59 + .../tests/data/ntpconfs/3_ntp.includefile | 50 + .../migratentp/tests/data/ntpconfs/3_ntp.keys | 1 + .../migratentp/tests/data/ntpconfs/4_ntp.conf | 20 + .../migratentp/tests/data/ntpconfs/5_ntp.conf | 9 + .../migratentp/tests/data/ntpconfs/6_ntp.conf | 8 + .../migratentp/tests/data/ntpconfs/7_ntp.conf | 3 + .../actors/migratentp/tests/data/step_tickers | 3 + .../tests/test_converter_migratentp.py | 88 + .../migratentp/tests/unit_test_migratentp.py | 83 + .../el7toel8/actors/migratesendmail/Makefile | 2 + .../el7toel8/actors/migratesendmail/actor.py | 54 + .../libraries/migratesendmail.py | 41 + .../tests/component_test_migratesendmail.py | 17 + .../actors/multipathconfcheck/actor.py | 34 + .../libraries/multipathconfcheck.py | 126 + .../tests/test_actor_multipathconfcheck.py | 200 + .../actors/multipathconfread/actor.py | 33 + .../libraries/multipathconfread.py | 242 + .../tests/files/all_the_things.conf | 1052 + .../tests/files/already_updated.conf | 1069 + .../tests/files/conf.d/all_devs.conf | 136 + .../tests/files/conf.d/empty.conf | 0 .../tests/files/default_rhel7.conf | 1021 + .../tests/files/default_rhel8.conf | 1049 + .../tests/files/just_all_devs.conf | 5 + .../tests/files/just_checker.conf | 1049 + .../tests/files/just_detect.conf | 3 + .../tests/files/just_exists.conf | 32 + .../tests/files/just_reassign.conf | 93 + .../multipathconfread/tests/files/ugly1.conf | 1055 + .../multipathconfread/tests/files/ugly2.conf | 123 + .../tests/test_library_multipathconfread.py | 199 + .../actors/multipathconfupdate/actor.py | 29 + .../libraries/multipathconfupdate.py | 250 + .../tests/files/after/all_devs.conf | 146 + .../tests/files/after/all_the_things.conf | 1069 + .../tests/files/after/default_rhel7.conf | 1036 + .../tests/files/after/just_all_devs.conf | 5 + .../tests/files/after/just_checker.conf | 1049 + .../tests/files/after/just_detect.conf | 3 + .../tests/files/after/just_exists.conf | 33 + .../tests/files/after/just_reassign.conf | 93 + .../tests/files/after/ugly1.conf | 1075 + .../tests/files/after/ugly2.conf | 135 + .../tests/files/before/all_devs.conf | 136 + .../tests/files/before/all_the_things.conf | 1052 + .../tests/files/before/already_updated.conf | 1069 + .../tests/files/before/default_rhel7.conf | 1021 + .../tests/files/before/default_rhel8.conf | 1049 + .../tests/files/before/empty.conf | 0 .../tests/files/before/just_all_devs.conf | 5 + .../tests/files/before/just_checker.conf | 1049 + .../tests/files/before/just_detect.conf | 3 + .../tests/files/before/just_exists.conf | 32 + .../tests/files/before/just_reassign.conf | 93 + .../tests/files/before/ugly1.conf | 1055 + .../tests/files/before/ugly2.conf | 123 + .../tests/test_library_multipathconfupdate.py | 116 + .../actors/networkmanagerreadconfig/actor.py | 28 + .../libraries/networkmanagerreadconfig.py | 38 + .../tests/files/nm_cfg_file_error | 16 + .../tests/files/nm_cfg_with_dhcp | 16 + .../tests/files/nm_cfg_without_dhcp | 16 + .../unit_test_networkmanagerreadconfig.py | 32 + .../networkmanagerupdateconfig/actor.py | 36 + .../networkmanagerupdateconnections/actor.py | 34 + .../tools/nm-update-client-ids.py | 50 + .../networkmanagerupdateservice/actor.py | 56 + .../actors/opensshalgorithmscheck/actor.py | 20 + .../libraries/opensshalgorithmscheck.py | 82 + .../tests/unit_test_opensshalgorithmscheck.py | 35 + .../opensshdeprecateddirectivescheck/actor.py | 23 + .../opensshdeprecateddirectivescheck.py | 30 + .../test_opensshdeprecateddirectivescheck.py | 51 + .../actors/opensshprotocolcheck/actor.py | 22 + .../libraries/opensshprotocolcheck.py | 31 + .../tests/unit_test_opensshprotocolcheck.py | 28 + .../actor.py | 20 + .../opensshuseprivilegeseparationcheck.py | 31 + ...test_opensshuseprivilegeseparationcheck.py | 41 + .../actors/pammodulesscanner/actor.py | 43 + .../el7toel8/actors/postgresqlcheck/actor.py | 20 + .../libraries/postgresqlcheck.py | 88 + .../tests/test_postgresqlcheck.py | 73 + .../el7toel8/actors/powertop/actor.py | 35 + .../powertop/tests/component_test_powertop.py | 33 + .../el7toel8/actors/pythoninformuser/actor.py | 33 + .../el7toel8/actors/quaggadaemons/actor.py | 24 + .../quaggadaemons/libraries/quaggadaemons.py | 37 + .../tests/test_unit_quaggadaemons.py | 21 + .../el7toel8/actors/quaggareport/actor.py | 47 + .../quaggareport/tests/test_quaggareport.py | 40 + .../el7toel8/actors/quaggatofrr/actor.py | 23 + .../quaggatofrr/libraries/quaggatofrr.py | 101 + .../actors/quaggatofrr/tests/files/bgpd.conf | 33 + .../actors/quaggatofrr/tests/files/daemons | 82 + .../actors/quaggatofrr/tests/files/quagga | 24 + .../tests/test_unit_quaggatofrr.py | 168 + .../actors/registeryumadjustment/actor.py | 22 + .../tests/test_register_yum_adjustments.py | 12 + .../actors/removeleftoverpackages/actor.py | 56 + .../actors/removeoldpammodulesapply/actor.py | 28 + .../libraries/removeoldpammodulesapply.py | 27 + .../unit_test_removeoldpammodulesapply.py | 70 + .../actors/removeoldpammodulescheck/actor.py | 119 + .../removeoldpammodulesscanner/actor.py | 24 + .../libraries/removeoldpammodulesscanner.py | 27 + .../unit_test_removeoldpammodulesscanner.py | 62 + .../reportleftoverpackages/actor.py | 62 + .../actors/sanebackendsmigrate/actor.py | 21 + .../libraries/sanebackendsmigrate.py | 318 + .../test_update_config_sanebackendsmigrate.py | 238 + .../test_update_sane_sanebackendsmigrate.py | 115 + .../actors/satellite_upgrade_check/actor.py | 22 + .../libraries/satellite_upgrade_check.py | 59 + .../unit_test_satellite_upgrade_check.py | 83 + .../satellite_upgrade_data_migration/actor.py | 61 + .../actors/satellite_upgrade_facts/actor.py | 150 + .../unit_test_satellite_upgrade_facts.py | 176 + .../actors/satellite_upgrader/actor.py | 43 + .../tests/unit_test_satellite_upgrader.py | 50 + .../el7toel8/actors/sctpchecks/actor.py | 24 + .../tests/component_test_sctpchecks.py | 27 + .../el7toel8/actors/sctpconfigread/actor.py | 21 + .../sctpconfigread/libraries/sctpdlm.py | 64 + .../sctpconfigread/libraries/sctplib.py | 106 + .../tests/test_unit_sctpconfigread_sctpdlm.py | 90 + .../tests/test_unit_sctpconfigread_sctplib.py | 239 + .../tools/check_syslog_for_sctp.sh | 3 + .../el7toel8/actors/sctpconfigupdate/actor.py | 21 + .../sctpconfigupdate/libraries/sctpupdate.py | 27 + .../tests/test_unit_sctpconfigupdate.py | 119 + .../actors/sourcebootloaderscanner/actor.py | 18 + .../libraries/sourcebootloaderscanner.py | 90 + .../tests/test_bootentryscanner.py | 60 + .../actors/spamassassinconfigcheck/actor.py | 33 + .../libraries/spamassassinconfigcheck.py | 107 + .../test_actor_spamassassinconfigcheck.py | 28 + .../test_library_spamassassinconfigcheck.py | 152 + .../actors/spamassassinconfigread/actor.py | 26 + .../libraries/spamassassinconfigread.py | 27 + .../libraries/spamassassinconfigread_spamc.py | 35 + .../libraries/spamassassinconfigread_spamd.py | 40 + .../test_lib_spamc_spamassassinconfigread.py | 139 + .../test_lib_spamd_spamassassinconfigread.py | 174 + .../test_library_spamassassinconfigread.py | 73 + .../actors/spamassassinconfigupdate/actor.py | 31 + .../libraries/spamassassinconfigupdate.py | 25 + .../spamassassinconfigupdate_backup.py | 22 + .../spamassassinconfigupdate_spamc.py | 46 + .../spamassassinconfigupdate_spamd.py | 83 + ...est_lib_backup_spamassassinconfigupdate.py | 58 + ...test_lib_spamc_spamassassinconfigupdate.py | 239 + ...test_lib_spamd_spamassassinconfigupdate.py | 449 + .../test_library_spamassassinconfigupdate.py | 74 + .../actors/sssd_handle_cache_files/actor.py | 23 + .../libraries/sssd_cache_files.py | 19 + .../unit_test_sssd_handle_cache_files.py | 23 + .../el7toel8/actors/sssdcheck/actor.py | 78 + .../el7toel8/actors/sssdfacts/actor.py | 34 + .../actors/sssdfacts/libraries/sssdfacts.py | 105 + .../sssdfacts/tests/unit_test_sssdfacts.py | 180 + .../el7toel8/actors/tcpwrapperscheck/actor.py | 81 + .../libraries/tcpwrapperscheck.py | 30 + .../test_tcp_wrappers_tcpwrapperscheck.py | 55 + .../actors/tcpwrappersconfigread/actor.py | 18 + .../libraries/tcpwrappersconfigread.py | 54 + .../test_library_tcpwrappersconfigread.py | 167 + .../actors/updateetcsysconfigkernel/actor.py | 20 + .../libraries/updateetcsysconfigkernel.py | 9 + .../tests/files/expected | 6 + .../tests/files/original | 6 + .../unit_test_updateetcsysconfigkernel.py | 29 + .../el7toel8/actors/vimmigrate/actor.py | 19 + .../actors/vimmigrate/libraries/vimmigrate.py | 82 + .../tests/test_update_config_vimmigrate.py | 41 + .../tests/test_update_vim_vimmigrate.py | 127 + .../actors/vsftpdconfigcheck/actor.py | 26 + .../libraries/vsftpdconfigcheck.py | 32 + .../tests/test_library_vsftpdconfigcheck.py | 82 + .../el7toel8/actors/vsftpdconfigread/actor.py | 20 + .../libraries/config_parser.py | 102 + .../libraries/vsftpdconfigread.py | 55 + .../test_config_parser_vsftpdconfigread.py | 103 + .../tests/test_library_vsftpdconfigread.py | 214 + .../actors/vsftpdconfigupdate/actor.py | 33 + .../libraries/vsftpdconfigupdate.py | 82 + .../tests/test_library_vsftpdconfigupdate.py | 110 + .../actors/ziplcheckbootentries/actor.py | 24 + .../libraries/ziplcheckbootentries.py | 134 + .../tests/test_ziplcheckbootentries.py | 157 + .../actors/ziplconverttoblscfg/actor.py | 77 + .../tests/unit_test_ziplconverttoblscfg.py | 2 + .../kernel-workaround-0.1-1.el8.noarch.rpm | Bin 0 -> 2252 bytes .../el7toel8/libraries/Makefile | 2 + .../el7toel8/libraries/isccfg.py | 950 + .../system_upgrade/el7toel8/libraries/pam.py | 66 + .../el7toel8/libraries/spamassassinutils.py | 44 + .../el7toel8/libraries/tcpwrappersutils.py | 83 + .../el7toel8/libraries/tests/test_isccfg.py | 347 + .../el7toel8/libraries/tests/test_pam.py | 92 + .../libraries/tests/test_spamassassinutils.py | 41 + .../libraries/tests/test_tcpwrappersutils.py | 176 + .../libraries/tests/test_vsftpdutils.py | 82 + .../el7toel8/libraries/vsftpdutils.py | 51 + .../el7toel8/models/authselect.py | 42 + .../el7toel8/models/bindfacts.py | 35 + .../models/bootloaderconfiguration.py | 25 + .../models/brlttymigrationdecision.py | 9 + .../el7toel8/models/cupschangedfeatures.py | 41 + .../el7toel8/models/firewalldfacts.py | 11 + .../el7toel8/models/installedkdeappsfacts.py | 7 + .../el7toel8/models/multipathconffacts.py | 59 + .../el7toel8/models/networkmanagerconfig.py | 8 + .../el7toel8/models/ntpmigrationdecision.py | 8 + .../el7toel8/models/pamconfiguration.py | 29 + .../el7toel8/models/quaggatofrrfacts.py | 15 + .../el7toel8/models/removedpammodules.py | 15 + .../el7toel8/models/satellite.py | 28 + .../el7toel8/models/sctpconfigmodel.py | 7 + .../models/sendmailmigrationdecision.py | 7 + .../el7toel8/models/spamassassinfacts.py | 23 + repos/system_upgrade/el7toel8/models/sssd.py | 32 + .../el7toel8/models/tcpwrappersfacts.py | 24 + .../el7toel8/models/vsftpdfacts.py | 31 + .../tools/handle-postgresql-legacy-actions | 6 + .../el7toel8/tools/handleyumconfig | 36 + repos/system_upgrade/el8toel9/.leapp/info | 1 + .../system_upgrade/el8toel9/.leapp/leapp.conf | 6 + .../el8toel9/actors/checkblacklistca/actor.py | 18 + .../libraries/checkblacklistca.py | 75 + .../tests/component_test_checkblacklistca.py | 146 + .../actors/checkblsgrubcfgonppc64/actor.py | 29 + .../libraries/blsgrubcfgonppc64.py | 62 + .../tests/test_checkblsgrubcfgonppc64.py | 48 + .../actors/checkcustomnetworkscripts/actor.py | 18 + .../libraries/customnetworkscripts.py | 58 + .../tests/unit_test_customnetworkscripts.py | 19 + .../checkdeprecatedrpmsignature/actor.py | 40 + .../libraries/checkdeprecatedrpmsignature.py | 89 + .../unit_test_checkdeprecatedrpmsignature.py | 24 + .../el8toel9/actors/checkifcfg/actor.py | 24 + .../checkifcfg/libraries/checkifcfg_ifcfg.py | 135 + .../checkifcfg/tests/unit_test_ifcfg.py | 144 + .../actors/checkmicroarchitecture/actor.py | 63 + .../libraries/checkmicroarchitecture.py | 46 + .../tests/test_checkmicroarchitecture.py | 65 + .../el8toel9/actors/checkvdo/actor.py | 117 + .../actors/checkvdo/libraries/checkvdo.py | 179 + .../checkvdo/tests/unit_test_checkvdo.py | 249 + .../actors/cryptopoliciescheck/actor.py | 24 + .../libraries/cryptopoliciescheck.py | 50 + .../component_test_cryptopoliciescheck.py | 63 + .../tests/unit_test_cryptopoliciescheck.py | 13 + .../el8toel9/actors/dotnet/actor.py | 40 + .../actors/dotnet/tests/test_dotnet.py | 43 + .../firewalldcheckallowzonedrifting/actor.py | 51 + ...nt_test_firewalldcheckallowzonedrifting.py | 35 + .../firewalldcheckservicetftpclient/actor.py | 51 + ...nt_test_firewalldcollectusedobjectnames.py | 44 + .../firewalldcollectglobalconfig/actor.py | 19 + .../private_firewalldcollectglobalconfig.py | 31 + .../firewalldcollectusedobjectnames/actor.py | 19 + ...private_firewalldcollectusedobjectnames.py | 110 + ...it_test_firewalldcollectusedobjectnames.py | 238 + .../actors/grub2mkconfigonppc64/actor.py | 29 + .../libraries/grub2mkconfigonppc64.py | 36 + .../tests/test_grub2mkconfigonppc64.py | 75 + .../el8toel9/actors/ifcfgscanner/actor.py | 18 + .../ifcfgscanner/libraries/ifcfgscanner.py | 73 + .../tests/unit_test_ifcfgscanner.py | 127 + .../actors/kernel/checkkpatch/actor.py | 29 + .../el8toel9/actors/mariadbcheck/actor.py | 20 + .../mariadbcheck/libraries/mariadbcheck.py | 53 + .../mariadbcheck/tests/test_mariadbcheck.py | 65 + .../actors/migrateblacklistca/actor.py | 28 + .../libraries/migrateblacklistca.py | 89 + .../tests/unit_test_migrateblacklistca.py | 25 + .../actors/multipathconfcheck/actor.py | 25 + .../libraries/multipathconfcheck.py | 80 + .../tests/test_multipath_conf_check_8to9.py | 137 + .../actors/multipathconfread/actor.py | 33 + .../libraries/multipathconfread.py | 129 + .../tests/files/all_the_things.conf | 21 + .../tests/files/allow_usb.conf | 1078 + .../tests/files/complicated.conf | 1107 + .../tests/files/conf1.d/empty.conf | 0 .../files/conf1.d/nothing_important.conf | 26 + .../tests/files/conf2.d/all_true.conf | 24 + .../tests/files/conf3.d/README | 2 + .../tests/files/converted_the_things.conf | 23 + .../tests/files/default_rhel8.conf | 22 + .../multipathconfread/tests/files/empty.conf | 0 .../tests/files/empty_dir.conf | 26 + .../tests/files/missing_dir.conf | 27 + .../tests/files/no_defaults.conf | 1049 + .../tests/files/no_foreign.conf | 1089 + .../tests/files/not_set_dir.conf | 27 + .../tests/files/set_in_dir.conf | 33 + .../tests/files/two_defaults.conf | 26 + .../tests/test_multipath_conf_read_8to9.py | 144 + .../actors/multipathconfupdate/actor.py | 27 + .../libraries/multipathconfupdate.py | 86 + .../tests/files/after/all_the_things.conf | 23 + .../tests/files/after/allow_usb.conf | 1079 + .../tests/files/after/complicated.conf | 1108 + .../tests/files/after/conf2.d/all_true.conf | 24 + .../tests/files/after/default_rhel8.conf | 23 + .../tests/files/after/empty.conf | 5 + .../tests/files/after/empty_dir.conf | 28 + .../tests/files/after/missing_dir.conf | 29 + .../tests/files/after/no_defaults.conf | 1054 + .../tests/files/after/no_foreign.conf | 1090 + .../tests/files/after/not_set_dir.conf | 29 + .../tests/files/after/two_defaults.conf | 27 + .../tests/files/before/all_the_things.conf | 21 + .../tests/files/before/allow_usb.conf | 1078 + .../tests/files/before/complicated.conf | 1107 + .../tests/files/before/conf1.d/empty.conf | 0 .../before/conf1.d/nothing_important.conf | 26 + .../tests/files/before/conf2.d/all_true.conf | 24 + .../tests/files/before/conf3.d/README | 2 + .../files/before/converted_the_things.conf | 23 + .../tests/files/before/default_rhel8.conf | 22 + .../tests/files/before/empty.conf | 0 .../tests/files/before/empty_dir.conf | 26 + .../tests/files/before/missing_dir.conf | 27 + .../tests/files/before/no_defaults.conf | 1049 + .../tests/files/before/no_foreign.conf | 1089 + .../tests/files/before/not_set_dir.conf | 27 + .../tests/files/before/set_in_dir.conf | 33 + .../tests/files/before/two_defaults.conf | 26 + .../tests/test_multipath_conf_update_8to9.py | 119 + .../actors/networkdeprecations/actor.py | 24 + .../libraries/networkdeprecations.py | 67 + .../tests/unit_test_networkdeprecations.py | 124 + .../networkmanagerconnectionscanner/actor.py | 18 + .../networkmanagerconnectionscanner.py | 65 + ...it_test_networkmanagerconnectionscanner.py | 105 + .../el8toel9/actors/nischeck/actor.py | 19 + .../actors/nischeck/libraries/nischeck.py | 72 + .../actors/nischeck/tests/test_nischeck.py | 71 + .../el8toel9/actors/nisscanner/actor.py | 18 + .../actors/nisscanner/libraries/nisscan.py | 58 + .../actors/nisscanner/tests/test_nisscan.py | 82 + .../actors/nvidiaproprietarydriver/actor.py | 47 + .../tests/test_nvidiadriver.py | 34 + .../actors/opensshdropindirectory/actor.py | 29 + .../libraries/opensshdropindirectory.py | 67 + .../test_opensshdropindirectory_prepend.py | 44 + .../opensshdropindirectorycheck/actor.py | 64 + .../actors/opensshsubsystemsftp/actor.py | 22 + .../libraries/opensshsubsystemsftp.py | 50 + .../tests/test_opensshsubsystemsftp.py | 33 + .../actors/opensslconfigcheck/actor.py | 81 + .../libraries/opensslconfigcheck.py | 354 + .../component_test_opensslconfigcheck.py | 189 + .../tests/test_reachable.py | 308 + .../actors/opensslconfigscanner/actor.py | 18 + .../libraries/readconf.py | 97 + .../tests/test_opensslconfigscanner.py | 146 + .../el8toel9/actors/opensslproviders/actor.py | 41 + .../libraries/add_provider.py | 137 + .../tests/test_add_provider.py | 111 + .../el8toel9/actors/postgresqlcheck/actor.py | 20 + .../libraries/postgresqlcheck.py | 54 + .../tests/test_postgresqlcheck.py | 65 + .../actors/pythonthreetmpworkaround/actor.py | 58 + .../actors/registerrubyirbadjustment/actor.py | 22 + .../test_register_ruby_irb_adjustments.py | 11 + .../el8toel9/actors/rocecheck/actor.py | 23 + .../actors/rocecheck/libraries/rocecheck.py | 134 + .../rocecheck/tests/unit_test_rocecheck.py | 116 + .../el8toel9/actors/rocescanner/actor.py | 27 + .../rocescanner/libraries/rocescanner.py | 71 + .../tests/unit_test_rocescanner.py | 154 + .../el8toel9/actors/scanblacklistca/actor.py | 21 + .../libraries/scanblacklistca.py | 48 + .../scanblacklistca/tests/files/badca.cert | Bin 0 -> 889 bytes .../tests/unit_test_scanblacklistca.py | 142 + .../actors/scancryptopolicies/actor.py | 26 + .../libraries/scancryptopolicies.py | 82 + .../component_test_scancryptopolicies.py | 6 + .../tests/unit_test_scancryptopolicies.py | 105 + .../el8toel9/actors/sssdcheck/actor.py | 59 + .../el8toel9/actors/sssdfacts/actor.py | 34 + .../sssdfacts/libraries/sssdfacts8to9.py | 43 + .../tests/unit_test_sssdfacts_8to9.py | 167 + .../targetuserspacecryptopolicies/actor.py | 32 + .../targetuserspacecryptopolicies.py | 56 + .../actors/vdoconversionscanner/actor.py | 68 + .../libraries/vdoconversionscanner.py | 125 + .../tests/unit_test_vdoconversionscanner.py | 281 + .../el8toel9/actors/xorgdrvcheck/actor.py | 52 + .../xorgdrvcheck/tests/test_xorgdrvcheck.py | 19 + .../el8toel9/actors/xorgdrvfact/actor.py | 28 + .../xorgdrvfact/libraries/xorgdriverlib.py | 36 + .../tests/files/journalctl-xorg-intel | 461 + .../tests/files/journalctl-xorg-qxl | 309 + .../tests/files/journalctl-xorg-without-qxl | 305 + .../xorgdrvfact/tests/test_xorgdrvfact.py | 77 + .../el8toel9/files/bundled-rpms/.gitkeep | 0 .../el8toel9/libraries/.gitkeep | 0 repos/system_upgrade/el8toel9/models/.gitkeep | 0 .../el8toel9/models/blacklistca.py | 30 + .../el8toel9/models/blacklisterror.py | 25 + .../el8toel9/models/cryptopolicy.py | 61 + .../el8toel9/models/firewalldglobalconfig.py | 27 + .../models/firewalldusedobjectnames.py | 31 + repos/system_upgrade/el8toel9/models/ifcfg.py | 42 + .../el8toel9/models/multipathconffacts.py | 30 + .../models/networkmanagerconnection.py | 47 + repos/system_upgrade/el8toel9/models/nis.py | 16 + .../el8toel9/models/opensslconfig.py | 72 + repos/system_upgrade/el8toel9/models/roce.py | 27 + repos/system_upgrade/el8toel9/models/sssd.py | 24 + .../el8toel9/models/vdoconversioninfo.py | 42 + .../system_upgrade/el8toel9/models/xorgdrv.py | 24 + repos/system_upgrade/el8toel9/tools/.gitkeep | 0 .../el8toel9/tools/handlerubyirbsymlink | 23 + requirements.txt | 15 + setup.cfg | 14 + utils/actor_path.py | 41 + utils/container-builds/Containerfile.centos7 | 10 + utils/container-builds/Containerfile.ubi8 | 10 + utils/container-tests/Containerfile.f34 | 18 + utils/container-tests/Containerfile.rhel7 | 24 + utils/container-tests/Containerfile.rhel8 | 18 + utils/container-tests/Containerfile.ubi7 | 25 + utils/container-tests/Containerfile.ubi8 | 9 + utils/container-tests/Containerfile.ubi9 | 9 + utils/dashboard-json-dump.py | 15 + utils/get_latest_copr_build | 93 + utils/ibdmp-decode | 265 + utils/install_actor_deps.py | 66 + utils/install_commands.sh | 9 + utils/library_path.py | 15 + utils/update_dashboard.sh | 29 + 1261 files changed, 620383 insertions(+), 1 deletion(-) create mode 100644 .copr/Makefile create mode 100644 .copr/build.sh create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/workflows/codespell.yml create mode 100644 .github/workflows/differential-shellcheck.yml create mode 100644 .github/workflows/pr-welcome-msg.yml create mode 100644 .github/workflows/reuse-copr-build.yml create mode 100644 .github/workflows/tmt-tests.yml create mode 100644 .github/workflows/unit-tests.yml create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .isort.cfg create mode 100644 .packit.yaml create mode 100644 .pylintrc create mode 100644 .travis.yml create mode 100644 .travis/githubio-data-idrsa create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 commands/answer/__init__.py create mode 100644 commands/command_utils.py create mode 100644 commands/config.py create mode 100644 commands/list_runs/__init__.py create mode 100644 commands/preupgrade/__init__.py create mode 100644 commands/rerun/__init__.py create mode 100644 commands/tests/test_upgrade_paths.py create mode 100644 commands/upgrade/__init__.py create mode 100644 commands/upgrade/breadcrumbs.py create mode 100644 commands/upgrade/util.py create mode 100644 conftest.py create mode 100644 docs/README.md create mode 100644 etc/leapp/files/device_driver_deprecation_data.json create mode 100644 etc/leapp/files/pes-events.json create mode 100644 etc/leapp/files/repomap.json create mode 100644 etc/leapp/transaction/to_install create mode 100644 etc/leapp/transaction/to_keep create mode 100644 etc/leapp/transaction/to_remove create mode 100644 packaging/leapp-repository.spec create mode 100644 packaging/other_specs/leapp-el7toel8-deps.spec create mode 100644 pytest.ini create mode 100644 repos/common/.leapp/info create mode 100644 repos/common/.leapp/leapp.conf create mode 100644 repos/common/topics/systeminfo.py create mode 100644 repos/system_upgrade/common/.leapp/info create mode 100644 repos/system_upgrade/common/.leapp/leapp.conf create mode 100644 repos/system_upgrade/common/actors/addupgradebootentry/actor.py create mode 100644 repos/system_upgrade/common/actors/addupgradebootentry/libraries/addupgradebootentry.py create mode 100644 repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test.fixed create mode 100644 repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test.wrong create mode 100644 repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test_newline.fixed create mode 100644 repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test_newline.wrong create mode 100644 repos/system_upgrade/common/actors/addupgradebootentry/tests/unit_test_addupgradebootentry.py create mode 100644 repos/system_upgrade/common/actors/applytransactionworkarounds/actor.py create mode 100644 repos/system_upgrade/common/actors/applytransactionworkarounds/tests/unit_test_applytransactionworkarounds.py create mode 100644 repos/system_upgrade/common/actors/baculacheck/actor.py create mode 100644 repos/system_upgrade/common/actors/baculacheck/libraries/baculacheck.py create mode 100644 repos/system_upgrade/common/actors/baculacheck/tests/test_baculacheck.py create mode 100644 repos/system_upgrade/common/actors/biosdevname/actor.py create mode 100644 repos/system_upgrade/common/actors/biosdevname/libraries/biosdevname.py create mode 100644 repos/system_upgrade/common/actors/biosdevname/tests/test_biosdevname.py create mode 100644 repos/system_upgrade/common/actors/cephvolumescan/actor.py create mode 100644 repos/system_upgrade/common/actors/cephvolumescan/libraries/cephvolumescan.py create mode 100644 repos/system_upgrade/common/actors/cephvolumescan/tests/test_cephvolumescan.py create mode 100644 repos/system_upgrade/common/actors/checkbootavailspace/actor.py create mode 100644 repos/system_upgrade/common/actors/checkbootavailspace/libraries/checkbootavailspace.py create mode 100644 repos/system_upgrade/common/actors/checkbootavailspace/tests/unit_test_checkbootavailspace.py create mode 100644 repos/system_upgrade/common/actors/checkcifs/actor.py create mode 100644 repos/system_upgrade/common/actors/checkcifs/libraries/checkcifs.py create mode 100644 repos/system_upgrade/common/actors/checkcifs/tests/test_checkcifs.py create mode 100644 repos/system_upgrade/common/actors/checkconsumedassets/actor.py create mode 100644 repos/system_upgrade/common/actors/checkconsumedassets/libraries/check_consumed_assets.py create mode 100644 repos/system_upgrade/common/actors/checkconsumedassets/tests/test_asset_version_checking.py create mode 100644 repos/system_upgrade/common/actors/checkdetecteddevicesanddrivers/actor.py create mode 100644 repos/system_upgrade/common/actors/checkdetecteddevicesanddrivers/libraries/checkdddd.py create mode 100644 repos/system_upgrade/common/actors/checketcreleasever/actor.py create mode 100644 repos/system_upgrade/common/actors/checketcreleasever/libraries/checketcreleasever.py create mode 100644 repos/system_upgrade/common/actors/checketcreleasever/tests/test_checketcreleasever.py create mode 100644 repos/system_upgrade/common/actors/checkfips/actor.py create mode 100644 repos/system_upgrade/common/actors/checkfips/tests/test_checkfips.py create mode 100644 repos/system_upgrade/common/actors/checkfstabmountorder/actor.py create mode 100644 repos/system_upgrade/common/actors/checkfstabmountorder/libraries/checkfstabmountorder.py create mode 100644 repos/system_upgrade/common/actors/checkfstabmountorder/tests/test_checkfstabmountorder.py create mode 100644 repos/system_upgrade/common/actors/checkgrubcore/actor.py create mode 100644 repos/system_upgrade/common/actors/checkgrubcore/tests/test_checkgrubcore.py create mode 100644 repos/system_upgrade/common/actors/checkinsightsautoregister/actor.py create mode 100644 repos/system_upgrade/common/actors/checkinsightsautoregister/libraries/checkinsightsautoregister.py create mode 100644 repos/system_upgrade/common/actors/checkinsightsautoregister/tests/test_reportinsightsautoregister.py create mode 100644 repos/system_upgrade/common/actors/checkipaserver/actor.py create mode 100644 repos/system_upgrade/common/actors/checkipaserver/libraries/checkipaserver.py create mode 100644 repos/system_upgrade/common/actors/checkipaserver/tests/test_check_ipa_server_checkipaserver.py create mode 100644 repos/system_upgrade/common/actors/checkmemory/actor.py create mode 100644 repos/system_upgrade/common/actors/checkmemory/libraries/checkmemory.py create mode 100644 repos/system_upgrade/common/actors/checkmemory/tests/test_checkmemory.py create mode 100644 repos/system_upgrade/common/actors/checkmountoptions/actor.py create mode 100644 repos/system_upgrade/common/actors/checkmountoptions/libraries/checkmountoptions.py create mode 100644 repos/system_upgrade/common/actors/checkmountoptions/tests/test_checkmountoptions.py create mode 100644 repos/system_upgrade/common/actors/checknfs/actor.py create mode 100644 repos/system_upgrade/common/actors/checknfs/tests/test_checknfs.py create mode 100644 repos/system_upgrade/common/actors/checkosrelease/actor.py create mode 100644 repos/system_upgrade/common/actors/checkosrelease/libraries/checkosrelease.py create mode 100644 repos/system_upgrade/common/actors/checkosrelease/tests/test_checkosrelease.py create mode 100644 repos/system_upgrade/common/actors/checkpersistentmounts/actor.py create mode 100644 repos/system_upgrade/common/actors/checkpersistentmounts/libraries/checkpersistentmounts.py create mode 100644 repos/system_upgrade/common/actors/checkpersistentmounts/tests/test_checkpersistentmounts.py create mode 100644 repos/system_upgrade/common/actors/checkrhsmsku/actor.py create mode 100644 repos/system_upgrade/common/actors/checkrhsmsku/libraries/checkrhsmsku.py create mode 100644 repos/system_upgrade/common/actors/checkrhsmsku/tests/test_rhsmsku_checkrhsmsku.py create mode 100644 repos/system_upgrade/common/actors/checkrootsymlinks/actor.py create mode 100644 repos/system_upgrade/common/actors/checkrootsymlinks/tests/unit_test_checkrootsymlinks.py create mode 100644 repos/system_upgrade/common/actors/checksaphana/actor.py create mode 100644 repos/system_upgrade/common/actors/checksaphana/libraries/checksaphana.py create mode 100644 repos/system_upgrade/common/actors/checksaphana/tests/test_checksaphana.py create mode 100644 repos/system_upgrade/common/actors/checkselinux/actor.py create mode 100644 repos/system_upgrade/common/actors/checkselinux/libraries/checkselinux.py create mode 100644 repos/system_upgrade/common/actors/checkselinux/tests/test_checkselinux.py create mode 100644 repos/system_upgrade/common/actors/checkskippedrepositories/actor.py create mode 100644 repos/system_upgrade/common/actors/checkskippedrepositories/tests/test_checkskippedrepos_checkskippedrepositories.py create mode 100644 repos/system_upgrade/common/actors/checkskipphase/actor.py create mode 100644 repos/system_upgrade/common/actors/checksystemarch/actor.py create mode 100644 repos/system_upgrade/common/actors/checksystemarch/libraries/checksystemarch.py create mode 100644 repos/system_upgrade/common/actors/checksystemarch/tests/test_checksystemarch.py create mode 100644 repos/system_upgrade/common/actors/checktargetiso/actor.py create mode 100644 repos/system_upgrade/common/actors/checktargetiso/libraries/check_target_iso.py create mode 100644 repos/system_upgrade/common/actors/checktargetiso/tests/test_check_target_iso.py create mode 100644 repos/system_upgrade/common/actors/checktargetrepos/actor.py create mode 100644 repos/system_upgrade/common/actors/checktargetrepos/libraries/checktargetrepos.py create mode 100644 repos/system_upgrade/common/actors/checktargetrepos/tests/test_checktargetrepos.py create mode 100644 repos/system_upgrade/common/actors/checkyumpluginsenabled/actor.py create mode 100644 repos/system_upgrade/common/actors/checkyumpluginsenabled/libraries/checkyumpluginsenabled.py create mode 100644 repos/system_upgrade/common/actors/checkyumpluginsenabled/tests/test_checkyumpluginsenabled.py create mode 100644 repos/system_upgrade/common/actors/cloud/checkhybridimage/actor.py create mode 100644 repos/system_upgrade/common/actors/cloud/checkhybridimage/libraries/checkhybridimage.py create mode 100644 repos/system_upgrade/common/actors/cloud/checkhybridimage/tests/test_checkhybridimage.py create mode 100644 repos/system_upgrade/common/actors/cloud/checkrhui/actor.py create mode 100644 repos/system_upgrade/common/actors/cloud/checkrhui/tests/component_test_checkrhui.py create mode 100644 repos/system_upgrade/common/actors/cloud/grubenvtofile/actor.py create mode 100644 repos/system_upgrade/common/actors/cloud/grubenvtofile/libraries/grubenvtofile.py create mode 100644 repos/system_upgrade/common/actors/cloud/grubenvtofile/tests/test_grubenvtofile.py create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/actor.py create mode 100755 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh create mode 100755 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/module-setup.sh create mode 100755 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/mount_usr.sh create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/.profile create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/.shrc create mode 100755 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/initrd-system-upgrade-generator create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/leapp_debug_tools.sh create mode 100755 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/module-setup.sh create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.service create mode 100755 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.sh create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.target create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/libraries/modscan.py create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/tests/test_modscan_commonleappdracutmodules.py create mode 100644 repos/system_upgrade/common/actors/createisorepofile/actor.py create mode 100644 repos/system_upgrade/common/actors/createisorepofile/libraries/create_iso_repofile.py create mode 100644 repos/system_upgrade/common/actors/createresumeservice/actor.py create mode 100644 repos/system_upgrade/common/actors/createresumeservice/files/leapp_resume.service create mode 100644 repos/system_upgrade/common/actors/createresumeservice/tests/test_createresumeservice.py create mode 100644 repos/system_upgrade/common/actors/detectgrubconfigerror/actor.py create mode 100644 repos/system_upgrade/common/actors/detectgrubconfigerror/tests/test_detectgrubconfigerror.py create mode 100644 repos/system_upgrade/common/actors/detectkerneldrivers/actor.py create mode 100644 repos/system_upgrade/common/actors/detectkerneldrivers/libraries/detectkerneldrivers.py create mode 100644 repos/system_upgrade/common/actors/dnfdryrun/actor.py create mode 100644 repos/system_upgrade/common/actors/dnfpackagedownload/actor.py create mode 100644 repos/system_upgrade/common/actors/dnftransactioncheck/actor.py create mode 100644 repos/system_upgrade/common/actors/dnfupgradetransaction/actor.py create mode 100644 repos/system_upgrade/common/actors/efibootorderfix/eficheckboot/actor.py create mode 100644 repos/system_upgrade/common/actors/efibootorderfix/finalization/actor.py create mode 100644 repos/system_upgrade/common/actors/efibootorderfix/interim/actor.py create mode 100644 repos/system_upgrade/common/actors/enablerhsmtargetrepos/actor.py create mode 100644 repos/system_upgrade/common/actors/enablerhsmtargetrepos/libraries/enablerhsmtargetrepos.py create mode 100644 repos/system_upgrade/common/actors/enablerhsmtargetrepos/tests/test_enablerhsmtargetrepos.py create mode 100644 repos/system_upgrade/common/actors/filterrpmtransactionevents/actor.py create mode 100644 repos/system_upgrade/common/actors/filterrpmtransactionevents/tests/test_filterrpmtransactionevents.py create mode 100644 repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/actor.py create mode 100644 repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/libraries/forcedefaultboot.py create mode 100644 repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/tests/test_forcedefaultboot_forcedefaultboottotargetkernelversion.py create mode 100644 repos/system_upgrade/common/actors/getenabledmodules/actor.py create mode 100644 repos/system_upgrade/common/actors/getinstalleddesktops/actor.py create mode 100644 repos/system_upgrade/common/actors/getinstalleddesktops/libraries/getinstalleddesktops.py create mode 100644 repos/system_upgrade/common/actors/getinstalleddesktops/tests/unit_test_getinstalleddesktops.py create mode 100644 repos/system_upgrade/common/actors/inhibitwhenluks/actor.py create mode 100644 repos/system_upgrade/common/actors/inhibitwhenluks/tests/test_inhibitwhenluks.py create mode 100644 repos/system_upgrade/common/actors/initramfs/checkfipsenabled/actor.py create mode 100644 repos/system_upgrade/common/actors/initramfs/checkfipsenabled/libraries/check_fips.py create mode 100644 repos/system_upgrade/common/actors/initramfs/checkfipsenabled/tests/test_checkfipsenabled.py create mode 100644 repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/actor.py create mode 100644 repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/libraries/checkinitramfstasks.py create mode 100644 repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/tests/unit_test_checkinitramfstasks.py create mode 100644 repos/system_upgrade/common/actors/initramfs/mounttargetiso/actor.py create mode 100644 repos/system_upgrade/common/actors/initramfs/mounttargetiso/libraries/mount_target_iso.py create mode 100644 repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/actor.py create mode 100644 repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/libraries/targetinitramfsgenerator.py create mode 100644 repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/tests/test_targetinitramfsgenerator.py create mode 100644 repos/system_upgrade/common/actors/initramfs/tmpactor/actor.py create mode 100644 repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/actor.py create mode 100755 repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/files/generate-initram.sh create mode 100644 repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/libraries/upgradeinitramfsgenerator.py create mode 100644 repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/tests/unit_test_upgradeinitramfsgenerator.py create mode 100644 repos/system_upgrade/common/actors/insightsautoregister/actor.py create mode 100644 repos/system_upgrade/common/actors/insightsautoregister/libraries/insightsautoregister.py create mode 100644 repos/system_upgrade/common/actors/insightsautoregister/tests/test_insightsautoregister.py create mode 100644 repos/system_upgrade/common/actors/ipascanner/actor.py create mode 100644 repos/system_upgrade/common/actors/ipascanner/libraries/ipascanner.py create mode 100644 repos/system_upgrade/common/actors/ipascanner/tests/test_ipascanner.py create mode 100644 repos/system_upgrade/common/actors/ipuworkflowconfig/actor.py create mode 100644 repos/system_upgrade/common/actors/ipuworkflowconfig/libraries/ipuworkflowconfig.py create mode 100644 repos/system_upgrade/common/actors/ipuworkflowconfig/tests/files/os-release create mode 100644 repos/system_upgrade/common/actors/ipuworkflowconfig/tests/files/os-release-8beta create mode 100644 repos/system_upgrade/common/actors/ipuworkflowconfig/tests/test_ipuworkflowconfig.py create mode 100644 repos/system_upgrade/common/actors/kernel/checkinstalledkernels/actor.py create mode 100644 repos/system_upgrade/common/actors/kernel/checkinstalledkernels/libraries/checkinstalledkernels.py create mode 100644 repos/system_upgrade/common/actors/kernel/checkinstalledkernels/tests/unit_test_checkinstalledkernels.py create mode 100644 repos/system_upgrade/common/actors/kernelcmdlineconfig/actor.py create mode 100644 repos/system_upgrade/common/actors/kernelcmdlineconfig/libraries/kernelcmdlineconfig.py create mode 100644 repos/system_upgrade/common/actors/kernelcmdlineconfig/tests/test_kernelcmdlineconfig.py create mode 100644 repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/actor.py create mode 100644 repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/libraries/deviceanddriverdeprecationdataload.py create mode 100644 repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/tests/test_ddddload.py create mode 100644 repos/system_upgrade/common/actors/localreposinhibit/actor.py create mode 100644 repos/system_upgrade/common/actors/localreposinhibit/tests/test_unit_localreposinhibit.py create mode 100644 repos/system_upgrade/common/actors/missinggpgkeysinhibitor/actor.py create mode 100644 repos/system_upgrade/common/actors/missinggpgkeysinhibitor/libraries/missinggpgkey.py create mode 100644 repos/system_upgrade/common/actors/missinggpgkeysinhibitor/tests/component_test_missinggpgkey.py create mode 100644 repos/system_upgrade/common/actors/missinggpgkeysinhibitor/tests/unit_test_missinggpgkey.py create mode 100644 repos/system_upgrade/common/actors/opensshconfigscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/opensshconfigscanner/libraries/readopensshconfig.py create mode 100644 repos/system_upgrade/common/actors/opensshconfigscanner/tests/test_readopensshconfig_opensshconfigscanner.py create mode 100644 repos/system_upgrade/common/actors/opensshpermitrootlogincheck/actor.py create mode 100644 repos/system_upgrade/common/actors/opensshpermitrootlogincheck/libraries/opensshpermitrootlogincheck.py create mode 100644 repos/system_upgrade/common/actors/opensshpermitrootlogincheck/tests/test_library_opensshpermitrootlogincheck.py create mode 100644 repos/system_upgrade/common/actors/pcidevicesscanner/Makefile create mode 100644 repos/system_upgrade/common/actors/pcidevicesscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/pcidevicesscanner/libraries/pcidevicesscanner.py create mode 100644 repos/system_upgrade/common/actors/pcidevicesscanner/tests/test_pcidevicesscanner.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnames/actor.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnames/tests/test_persistentnetnames.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnamesconfig/actor.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnamesconfig/libraries/persistentnetnamesconfig.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnamesconfig/tests/files/crashed_ifaces.json create mode 100644 repos/system_upgrade/common/actors/persistentnetnamesconfig/tests/test_persistentnetnamesconfig.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnamesdisable/actor.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnamesdisable/tests/test_persistentnetnamesdisable.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnamesinitramfs/actor.py create mode 100644 repos/system_upgrade/common/actors/persistentnetnamesinitramfs/tests/test_persistentnetnamesinitramfs.py create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_event_parsing.py create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/libraries/peseventsscanner_repomap.py create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample01.json create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample02.json create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample03.json create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample04.json create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/tests/test_event_parsing.py create mode 100644 repos/system_upgrade/common/actors/peseventsscanner/tests/test_pes_event_scanner.py create mode 100644 repos/system_upgrade/common/actors/preparepythonworkround/actor.py create mode 100644 repos/system_upgrade/common/actors/preparepythonworkround/libraries/workaround.py create mode 100644 repos/system_upgrade/common/actors/preparepythonworkround/tests/test_preparepythonworkaround.py create mode 100644 repos/system_upgrade/common/actors/redhatsignedrpmcheck/actor.py create mode 100644 repos/system_upgrade/common/actors/redhatsignedrpmcheck/libraries/redhatsignedrpmcheck.py create mode 100644 repos/system_upgrade/common/actors/redhatsignedrpmcheck/tests/test_redhatsignedrpmcheck.py create mode 100644 repos/system_upgrade/common/actors/redhatsignedrpmscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/redhatsignedrpmscanner/tests/test_redhatsignedrpmscanner.py create mode 100644 repos/system_upgrade/common/actors/removebootfiles/actor.py create mode 100644 repos/system_upgrade/common/actors/removebootfiles/libraries/removebootfiles.py create mode 100644 repos/system_upgrade/common/actors/removebootfiles/tests/unit_test_removebootfiles.py create mode 100644 repos/system_upgrade/common/actors/removeobsoletegpgkeys/actor.py create mode 100644 repos/system_upgrade/common/actors/removeobsoletegpgkeys/libraries/removeobsoleterpmgpgkeys.py create mode 100644 repos/system_upgrade/common/actors/removeobsoletegpgkeys/tests/test_removeobsoleterpmgpgkeys.py create mode 100644 repos/system_upgrade/common/actors/removeresumeservice/actor.py create mode 100644 repos/system_upgrade/common/actors/removeresumeservice/tests/test_removeresumeservice.py create mode 100644 repos/system_upgrade/common/actors/removeupgradeartifacts/actor.py create mode 100644 repos/system_upgrade/common/actors/removeupgradeartifacts/libraries/removeupgradeartifacts.py create mode 100644 repos/system_upgrade/common/actors/removeupgradeartifacts/tests/test_removeupgradeartifacts.py create mode 100644 repos/system_upgrade/common/actors/removeupgradebootentry/actor.py create mode 100644 repos/system_upgrade/common/actors/removeupgradebootentry/libraries/removeupgradebootentry.py create mode 100644 repos/system_upgrade/common/actors/removeupgradebootentry/tests/unit_test_removeupgradebootentry.py create mode 100644 repos/system_upgrade/common/actors/reportsettargetrelease/actor.py create mode 100644 repos/system_upgrade/common/actors/reportsettargetrelease/libraries/reportsettargetrelease.py create mode 100644 repos/system_upgrade/common/actors/reportsettargetrelease/tests/test_targetreleasereport_reportsettargetrelease.py create mode 100644 repos/system_upgrade/common/actors/repositoriesblacklist/actor.py create mode 100644 repos/system_upgrade/common/actors/repositoriesblacklist/libraries/repositoriesblacklist.py create mode 100644 repos/system_upgrade/common/actors/repositoriesblacklist/tests/test_repositoriesblacklist.py create mode 100644 repos/system_upgrade/common/actors/repositoriesmapping/actor.py create mode 100644 repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py create mode 100644 repos/system_upgrade/common/actors/repositoriesmapping/tests/files/repomap_example.json create mode 100644 repos/system_upgrade/common/actors/repositoriesmapping/tests/unit_test_repositoriesmapping.py create mode 100644 repos/system_upgrade/common/actors/rootscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/rootscanner/libraries/rootscanner.py create mode 100644 repos/system_upgrade/common/actors/rootscanner/tests/test_rootscanner.py create mode 100644 repos/system_upgrade/common/actors/rpmscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py create mode 100644 repos/system_upgrade/common/actors/rpmscanner/tests/test_rpmscanner.py create mode 100644 repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/actor.py create mode 100644 repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/libraries/rpmtransactionconfigtaskscollector.py create mode 100644 repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/tests/test_load_tasks_rpmtransactionconfigtaskscollector.py create mode 100644 repos/system_upgrade/common/actors/scanclienablerepo/actor.py create mode 100644 repos/system_upgrade/common/actors/scanclienablerepo/libraries/scanclienablerepo.py create mode 100644 repos/system_upgrade/common/actors/scanclienablerepo/tests/test_unit_scanclienablerepo.py create mode 100644 repos/system_upgrade/common/actors/scancpu/actor.py create mode 100644 repos/system_upgrade/common/actors/scancpu/libraries/scancpu.py create mode 100644 repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_aarch64 create mode 100644 repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_ppc64le create mode 100644 repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_s390x create mode 100644 repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_x86_64 create mode 100644 repos/system_upgrade/common/actors/scancpu/tests/test_scancpu.py create mode 100644 repos/system_upgrade/common/actors/scancustomrepofile/actor.py create mode 100644 repos/system_upgrade/common/actors/scancustomrepofile/libraries/scancustomrepofile.py create mode 100644 repos/system_upgrade/common/actors/scancustomrepofile/tests/test_scancustomrepofile.py create mode 100644 repos/system_upgrade/common/actors/scandasd/actor.py create mode 100644 repos/system_upgrade/common/actors/scandasd/libraries/scandasd.py create mode 100644 repos/system_upgrade/common/actors/scandasd/tests/unit_test_scandasd.py create mode 100644 repos/system_upgrade/common/actors/scanfilesfortargetuserspace/actor.py create mode 100644 repos/system_upgrade/common/actors/scanfilesfortargetuserspace/libraries/scanfilesfortargetuserspace.py create mode 100644 repos/system_upgrade/common/actors/scanfilesfortargetuserspace/tests/test_scanfilesfortargetuserspace.py create mode 100644 repos/system_upgrade/common/actors/scanfips/actor.py create mode 100644 repos/system_upgrade/common/actors/scanfips/tests/test_scanfips.py create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/actor.py create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/libraries/scanner.py create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.correct create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.wrong1 create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.wrong2 create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_comment create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_puppet create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_trailing_space create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.wrong create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.wrong1 create mode 100644 repos/system_upgrade/common/actors/scangrubconfig/tests/test_scangrubconfig.py create mode 100644 repos/system_upgrade/common/actors/scangrubdevice/actor.py create mode 100644 repos/system_upgrade/common/actors/scangrubdevice/tests/test_scangrubdevice.py create mode 100644 repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/actor.py create mode 100644 repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/libraries/scankernel.py create mode 100644 repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/tests/test_scaninstalledkernel_scaninstalledtargetkernelversion.py create mode 100644 repos/system_upgrade/common/actors/scankernelcmdline/actor.py create mode 100644 repos/system_upgrade/common/actors/scanmemory/actor.py create mode 100644 repos/system_upgrade/common/actors/scanmemory/libraries/scanmemory.py create mode 100644 repos/system_upgrade/common/actors/scanmemory/tests/test_scanmemory.py create mode 100644 repos/system_upgrade/common/actors/scanpkgmanager/actor.py create mode 100644 repos/system_upgrade/common/actors/scanpkgmanager/libraries/pluginscanner.py create mode 100644 repos/system_upgrade/common/actors/scanpkgmanager/libraries/scanpkgmanager.py create mode 100644 repos/system_upgrade/common/actors/scanpkgmanager/tests/files/releasever create mode 100644 repos/system_upgrade/common/actors/scanpkgmanager/tests/test_pluginscanner.py create mode 100644 repos/system_upgrade/common/actors/scanpkgmanager/tests/test_scanpkgmanager.py create mode 100644 repos/system_upgrade/common/actors/scansaphana/actor.py create mode 100644 repos/system_upgrade/common/actors/scansaphana/libraries/scansaphana.py create mode 100644 repos/system_upgrade/common/actors/scansaphana/tests/test_scansaphana.py create mode 100644 repos/system_upgrade/common/actors/scansourcekernel/actor.py create mode 100644 repos/system_upgrade/common/actors/scansourcekernel/libraries/scan_source_kernel.py create mode 100644 repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/actor.py create mode 100644 repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/libraries/scanrhsm.py create mode 100644 repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/tests/test_scansubscriptionmanagementinfo.py create mode 100644 repos/system_upgrade/common/actors/scantargetiso/actor.py create mode 100644 repos/system_upgrade/common/actors/scantargetiso/libraries/scan_target_os_iso.py create mode 100644 repos/system_upgrade/common/actors/scantargetiso/tests/test_scan_target_iso.py create mode 100644 repos/system_upgrade/common/actors/scanzfcp/actor.py create mode 100644 repos/system_upgrade/common/actors/scanzfcp/libraries/scanzfcp.py create mode 100644 repos/system_upgrade/common/actors/scanzfcp/tests/unit_test_scanzfcp.py create mode 100644 repos/system_upgrade/common/actors/scheduleselinuxrelabeling/actor.py create mode 100644 repos/system_upgrade/common/actors/scheduleselinuxrelabeling/tests/test_scheduleselinuxrelabeling.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxapplycustom/Makefile create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxapplycustom/actor.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxapplycustom/libraries/selinuxapplycustom.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxapplycustom/tests/component_test_selinuxapplycustom.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/Makefile create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/libraries/selinuxcontentscanner.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/component_test_selinuxcontentscanner.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/base_container.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/compat.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock1.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock2.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock3.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/unit_test_selinuxcontentscanner.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/Makefile create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/actor.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/libraries/selinuxprepare.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/component_test_selinuxprepare.py create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/base_container.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/compat.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock1.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock2.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock3.cil create mode 100644 repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/unit_test_selinuxprepare.py create mode 100644 repos/system_upgrade/common/actors/setetcreleasever/actor.py create mode 100644 repos/system_upgrade/common/actors/setetcreleasever/libraries/setetcreleasever.py create mode 100644 repos/system_upgrade/common/actors/setetcreleasever/tests/test_setetcreleasever.py create mode 100644 repos/system_upgrade/common/actors/setpermissiveselinux/Makefile create mode 100644 repos/system_upgrade/common/actors/setpermissiveselinux/actor.py create mode 100644 repos/system_upgrade/common/actors/setpermissiveselinux/libraries/setpermissiveselinux.py create mode 100644 repos/system_upgrade/common/actors/setpermissiveselinux/tests/test_setpermissiveselinux.py create mode 100644 repos/system_upgrade/common/actors/setuptargetrepos/actor.py create mode 100644 repos/system_upgrade/common/actors/setuptargetrepos/libraries/setuptargetrepos.py create mode 100644 repos/system_upgrade/common/actors/setuptargetrepos/libraries/setuptargetrepos_repomap.py create mode 100644 repos/system_upgrade/common/actors/setuptargetrepos/tests/test_repomapping.py create mode 100644 repos/system_upgrade/common/actors/setuptargetrepos/tests/test_setuptargetrepos.py create mode 100644 repos/system_upgrade/common/actors/storagescanner/actor.py create mode 100644 repos/system_upgrade/common/actors/storagescanner/libraries/storagescanner.py create mode 100644 repos/system_upgrade/common/actors/storagescanner/tests/files/fstab create mode 100644 repos/system_upgrade/common/actors/storagescanner/tests/files/invalid_fstab create mode 100644 repos/system_upgrade/common/actors/storagescanner/tests/files/mounts create mode 100644 repos/system_upgrade/common/actors/storagescanner/tests/files/partitions create mode 100644 repos/system_upgrade/common/actors/storagescanner/tests/unit_test_storagescanner.py create mode 100644 repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/actor.py create mode 100644 repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/libraries/checksystemdbrokensymlinks.py create mode 100644 repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/tests/test_checksystemdbrokensymlinks.py create mode 100644 repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/actor.py create mode 100644 repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/libraries/checksystemdservicetasks.py create mode 100644 repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/tests/test_checksystemdservicestasks.py create mode 100644 repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/actor.py create mode 100644 repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/libraries/repairsystemdsymlinks.py create mode 100644 repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/tests/test_repairsystemdsymlinks.py create mode 100644 repos/system_upgrade/common/actors/systemd/scansystemdsource/actor.py create mode 100644 repos/system_upgrade/common/actors/systemd/scansystemdsource/libraries/scansystemdsource.py create mode 100644 repos/system_upgrade/common/actors/systemd/scansystemdsource/tests/test_scansystemdsource.py create mode 100644 repos/system_upgrade/common/actors/systemd/scansystemdtarget/actor.py create mode 100644 repos/system_upgrade/common/actors/systemd/scansystemdtarget/libraries/scansystemdtarget.py create mode 100644 repos/system_upgrade/common/actors/systemd/scansystemdtarget/tests/test_scansystemdtarget.py create mode 100644 repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/actor.py create mode 100644 repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/libraries/setsystemdservicesstate.py create mode 100644 repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/tests/test_setsystemdservicesstate.py create mode 100644 repos/system_upgrade/common/actors/systemfacts/Makefile create mode 100644 repos/system_upgrade/common/actors/systemfacts/actor.py create mode 100644 repos/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py create mode 100644 repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts.py create mode 100644 repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts_grub.py create mode 100644 repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts_selinux.py create mode 100644 repos/system_upgrade/common/actors/targetuserspacecreator/actor.py create mode 100644 repos/system_upgrade/common/actors/targetuserspacecreator/libraries/constants.py create mode 100644 repos/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py create mode 100644 repos/system_upgrade/common/actors/targetuserspacecreator/tests/unit_test_targetuserspacecreator.py create mode 100644 repos/system_upgrade/common/actors/transactionworkarounds/actor.py create mode 100644 repos/system_upgrade/common/actors/transactionworkarounds/libraries/transactionworkarounds.py create mode 100644 repos/system_upgrade/common/actors/transactionworkarounds/tests/test_transaction_workarounds_transactionworkarounds.py create mode 100644 repos/system_upgrade/common/actors/udev/udevadminfo/actor.py create mode 100644 repos/system_upgrade/common/actors/unsupportedupgradecheck/actor.py create mode 100644 repos/system_upgrade/common/actors/updategrubcore/actor.py create mode 100644 repos/system_upgrade/common/actors/updategrubcore/libraries/updategrubcore.py create mode 100644 repos/system_upgrade/common/actors/updategrubcore/tests/test_updategrubcore.py create mode 100644 repos/system_upgrade/common/actors/usedrepositoriesscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/usedrepositoriesscanner/tests/test_usedrepositoriesscanner.py create mode 100644 repos/system_upgrade/common/actors/verifycheckresults/actor.py create mode 100644 repos/system_upgrade/common/actors/verifycheckresults/libraries/verifycheckresults.py create mode 100644 repos/system_upgrade/common/actors/verifycheckresults/tests/unit_test_verifycheckresults.py create mode 100644 repos/system_upgrade/common/actors/verifydialogs/actor.py create mode 100644 repos/system_upgrade/common/actors/verifydialogs/libraries/verifydialogs.py create mode 100644 repos/system_upgrade/common/actors/xfsinfoscanner/actor.py create mode 100644 repos/system_upgrade/common/actors/xfsinfoscanner/libraries/xfsinfoscanner.py create mode 100644 repos/system_upgrade/common/actors/xfsinfoscanner/tests/unit_test_xfsinfoscanner.py create mode 100644 repos/system_upgrade/common/files/prod-certs/8.0/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.0/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.0/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.0/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.1/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.1/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.1/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.1/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.2/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.2/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.2/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.2/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.3/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.3/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.3/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.3/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.4/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.4/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.4/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.4/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.5/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.5/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.5/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.5/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.5/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.5/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.5/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.5/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.6/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.6/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.6/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.6/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.6/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.6/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.6/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.6/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.7/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.7/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.7/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.7/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.7/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.7/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.7/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.7/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.8/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.8/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.8/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.8/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.8/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.8/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.8/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.8/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.9/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.9/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.9/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.9/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.9/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.9/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.9/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/8.9/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.0/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.0/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.0/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.0/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.0/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.0/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.0/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.0/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.1/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.1/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.1/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.1/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.1/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.1/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.1/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.1/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.2/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.2/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.2/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.2/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.2/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.2/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.2/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.2/72.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.3/279.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.3/362.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.3/363.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.3/419.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.3/433.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.3/479.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.3/486.pem create mode 100644 repos/system_upgrade/common/files/prod-certs/9.3/72.pem create mode 100644 repos/system_upgrade/common/files/rhel_upgrade.py create mode 100644 repos/system_upgrade/common/files/rpm-gpg/8/RPM-GPG-KEY-redhat-release create mode 100644 repos/system_upgrade/common/files/rpm-gpg/8beta/RPM-GPG-KEY-redhat-beta create mode 100644 repos/system_upgrade/common/files/rpm-gpg/9/RPM-GPG-KEY-redhat-release create mode 100644 repos/system_upgrade/common/files/rpm-gpg/9beta/RPM-GPG-KEY-redhat-beta create mode 100644 repos/system_upgrade/common/files/upgrade_paths.json create mode 100644 repos/system_upgrade/common/libraries/Makefile create mode 100644 repos/system_upgrade/common/libraries/config/__init__.py create mode 100644 repos/system_upgrade/common/libraries/config/architecture.py create mode 100644 repos/system_upgrade/common/libraries/config/mock_configs.py create mode 100644 repos/system_upgrade/common/libraries/config/tests/test_architecture.py create mode 100644 repos/system_upgrade/common/libraries/config/tests/test_getenvvars.py create mode 100644 repos/system_upgrade/common/libraries/config/tests/test_version.py create mode 100644 repos/system_upgrade/common/libraries/config/version.py create mode 100644 repos/system_upgrade/common/libraries/dnfconfig.py create mode 100644 repos/system_upgrade/common/libraries/dnfplugin.py create mode 100644 repos/system_upgrade/common/libraries/efi_reboot_fix.py create mode 100644 repos/system_upgrade/common/libraries/fetch.py create mode 100644 repos/system_upgrade/common/libraries/grub.py create mode 100644 repos/system_upgrade/common/libraries/guards.py create mode 100644 repos/system_upgrade/common/libraries/kernel.py create mode 100644 repos/system_upgrade/common/libraries/mdraid.py create mode 100644 repos/system_upgrade/common/libraries/module.py create mode 100644 repos/system_upgrade/common/libraries/mounting.py create mode 100644 repos/system_upgrade/common/libraries/multipathutil.py create mode 100644 repos/system_upgrade/common/libraries/overlaygen.py create mode 100644 repos/system_upgrade/common/libraries/persistentnetnames.py create mode 100644 repos/system_upgrade/common/libraries/repofileutils.py create mode 100644 repos/system_upgrade/common/libraries/rhsm.py create mode 100644 repos/system_upgrade/common/libraries/rhui.py create mode 100644 repos/system_upgrade/common/libraries/rpms.py create mode 100644 repos/system_upgrade/common/libraries/systemd.py create mode 100644 repos/system_upgrade/common/libraries/tests/00-test.preset create mode 100644 repos/system_upgrade/common/libraries/tests/01-test.preset create mode 100644 repos/system_upgrade/common/libraries/tests/05-invalid.preset create mode 100644 repos/system_upgrade/common/libraries/tests/grub_invalid create mode 100644 repos/system_upgrade/common/libraries/tests/grub_valid create mode 100644 repos/system_upgrade/common/libraries/tests/panagrams create mode 100644 repos/system_upgrade/common/libraries/tests/sample_repos.txt create mode 100644 repos/system_upgrade/common/libraries/tests/test_dnfplugin.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_grub.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_kernel_lib.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_mdraid.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_multipathutil.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_persistentnetnames_library.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_repofileutils.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_rhsm.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_rpms.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd_files/abc.service create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd_files/example.service create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd_files/example.socket create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd_files/extra.service create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd_files/globbed-one.service create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd_files/globbed-two.service create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd_files/template2@.service create mode 100644 repos/system_upgrade/common/libraries/tests/test_systemd_files/template@.service create mode 100644 repos/system_upgrade/common/libraries/tests/test_testutils.py create mode 100644 repos/system_upgrade/common/libraries/tests/test_utils_logging_handler.py create mode 100644 repos/system_upgrade/common/libraries/testutils.py create mode 100644 repos/system_upgrade/common/libraries/utils.py create mode 100644 repos/system_upgrade/common/models/activekernelmodulesfacts.py create mode 100644 repos/system_upgrade/common/models/assets.py create mode 100644 repos/system_upgrade/common/models/bootcontent.py create mode 100644 repos/system_upgrade/common/models/cephinfo.py create mode 100644 repos/system_upgrade/common/models/cpuinfo.py create mode 100644 repos/system_upgrade/common/models/defaultgrubinfo.py create mode 100644 repos/system_upgrade/common/models/devicedriverdeprecationdata.py create mode 100644 repos/system_upgrade/common/models/dnfplugintask.py create mode 100644 repos/system_upgrade/common/models/dnfworkaround.py create mode 100644 repos/system_upgrade/common/models/fips.py create mode 100644 repos/system_upgrade/common/models/firewallsfacts.py create mode 100644 repos/system_upgrade/common/models/firmwarefacts.py create mode 100644 repos/system_upgrade/common/models/groupsfacts.py create mode 100644 repos/system_upgrade/common/models/grubcfgbios.py create mode 100644 repos/system_upgrade/common/models/grubconfigerror.py create mode 100644 repos/system_upgrade/common/models/grubenv.py create mode 100644 repos/system_upgrade/common/models/grubinfo.py create mode 100644 repos/system_upgrade/common/models/initramfs.py create mode 100644 repos/system_upgrade/common/models/installeddesktopsfacts.py create mode 100644 repos/system_upgrade/common/models/installedkernelversion.py create mode 100644 repos/system_upgrade/common/models/installedrpm.py create mode 100644 repos/system_upgrade/common/models/installedtargetkernelversion.py create mode 100644 repos/system_upgrade/common/models/ipainfo.py create mode 100644 repos/system_upgrade/common/models/ipuconfig.py create mode 100644 repos/system_upgrade/common/models/kernelcmdlineargs.py create mode 100644 repos/system_upgrade/common/models/leftoverpackages.py create mode 100644 repos/system_upgrade/common/models/memoryinfo.py create mode 100644 repos/system_upgrade/common/models/module.py create mode 100644 repos/system_upgrade/common/models/opensshconfig.py create mode 100644 repos/system_upgrade/common/models/packagemanagerinfo.py create mode 100644 repos/system_upgrade/common/models/pcidevices.py create mode 100644 repos/system_upgrade/common/models/persistentnetnamesfacts.py create mode 100644 repos/system_upgrade/common/models/repositoriesblacklisted.py create mode 100644 repos/system_upgrade/common/models/repositoriesfacts.py create mode 100644 repos/system_upgrade/common/models/repositoriesmap.py create mode 100644 repos/system_upgrade/common/models/repositoriessetuptasks.py create mode 100644 repos/system_upgrade/common/models/rhsminfo.py create mode 100644 repos/system_upgrade/common/models/rhuiinfo.py create mode 100644 repos/system_upgrade/common/models/rootdirectory.py create mode 100644 repos/system_upgrade/common/models/rpmtransactiontasks.py create mode 100644 repos/system_upgrade/common/models/saphanainfo.py create mode 100644 repos/system_upgrade/common/models/selinux.py create mode 100644 repos/system_upgrade/common/models/selinuxdecisions.py create mode 100644 repos/system_upgrade/common/models/selinuxfacts.py create mode 100644 repos/system_upgrade/common/models/skippedrepositories.py create mode 100644 repos/system_upgrade/common/models/storageinfo.py create mode 100644 repos/system_upgrade/common/models/sysctlvariablesfacts.py create mode 100644 repos/system_upgrade/common/models/systemd.py create mode 100644 repos/system_upgrade/common/models/targetrepositories.py create mode 100644 repos/system_upgrade/common/models/targetuserspace.py create mode 100644 repos/system_upgrade/common/models/transactioncompleted.py create mode 100644 repos/system_upgrade/common/models/udev.py create mode 100644 repos/system_upgrade/common/models/upgradeiso.py create mode 100644 repos/system_upgrade/common/models/usedrepositories.py create mode 100644 repos/system_upgrade/common/models/usersfacts.py create mode 100644 repos/system_upgrade/common/models/xfspresence.py create mode 100644 repos/system_upgrade/common/tags/applications.py create mode 100644 repos/system_upgrade/common/tags/checks.py create mode 100644 repos/system_upgrade/common/tags/download.py create mode 100644 repos/system_upgrade/common/tags/facts.py create mode 100644 repos/system_upgrade/common/tags/finalization.py create mode 100644 repos/system_upgrade/common/tags/firstboot.py create mode 100644 repos/system_upgrade/common/tags/initramstart.py create mode 100644 repos/system_upgrade/common/tags/interimpreparation.py create mode 100644 repos/system_upgrade/common/tags/ipu.py create mode 100644 repos/system_upgrade/common/tags/latetests.py create mode 100644 repos/system_upgrade/common/tags/preparation.py create mode 100644 repos/system_upgrade/common/tags/report.py create mode 100644 repos/system_upgrade/common/tags/rpmupgrade.py create mode 100644 repos/system_upgrade/common/tags/thirdpartyapplications.py create mode 100755 repos/system_upgrade/common/tools/importrpmgpgkeys create mode 100755 repos/system_upgrade/common/tools/removerpmgpgkeys create mode 100644 repos/system_upgrade/common/topics/bootprep.py create mode 100644 repos/system_upgrade/common/topics/rhsm.py create mode 100644 repos/system_upgrade/common/topics/sctpconfigtopic.py create mode 100644 repos/system_upgrade/common/topics/systemfacts.py create mode 100644 repos/system_upgrade/common/topics/targetuserspace.py create mode 100644 repos/system_upgrade/common/topics/transaction.py create mode 100644 repos/system_upgrade/common/workflows/inplace_upgrade.py create mode 100644 repos/system_upgrade/el7toel8/.leapp/info create mode 100644 repos/system_upgrade/el7toel8/.leapp/leapp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/authselectapply/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/authselectcheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/authselectscanner/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/authselectscanner/libraries/authselectscanner.py create mode 100644 repos/system_upgrade/el7toel8/actors/authselectscanner/tests/unit_test_authselectscanner.py create mode 100644 repos/system_upgrade/el7toel8/actors/bindupdate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/bindupdate/libraries/updates.py create mode 100644 repos/system_upgrade/el7toel8/actors/bindupdate/tests/test_updates.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkacpid/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkacpid/tests/component_test_checkacpid.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbind/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbind/libraries/iscmodel.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbind/tests/test_model.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbrltty/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbrltty/libraries/checkbrltty.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbrltty/tests/component_test_checkbrltty.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbrltty/tests/unit_test_checkbrltty.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbtrfs/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkbtrfs/tests/test_btrfs_checkbtrfs.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkchrony/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkchrony/libraries/checkchrony.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkchrony/tests/unit_test_checkchrony.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkdocker/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkdocker/tests/component_test_checkdocker.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkdosfstools/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkdosfstools/tests/component_test_checkdosfstools.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkfirewalld/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkfirewalld/libraries/private.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkfirewalld/tests/component_test_checkfirewalld.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkfirewalld/tests/unit_test_checkfirewalld.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/libraries/checkfstabxfsoptions.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/tests/test_checkfstabxfsoptions.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkgrep/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkgrep/tests/component_test_checkgrep.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkhacluster/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkhacluster/libraries/checkhacluster.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkhacluster/tests/test_check_ha_cluster_checkhacluster.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkirssi/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkirssi/tests/component_test_checkirssi.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkkdeapps/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkkdeapps/libraries/checkkdeapps.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkkdeapps/tests/unit_test_checkkdeapps.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkkdegnome/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkkdegnome/libraries/checkkdegnome.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkkdegnome/tests/unit_test_checkkdegnome.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkleftoverpackages/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkmemcached/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkmemcached/libraries/checkmemcached.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkmemcached/tests/unit_test_checkmemcached.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/libraries/checkmultiplepackageversions.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/tests/test_multiplepackageversions.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkntp/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkntp/libraries/checkntp.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkntp/tests/unit_test_checkntp.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkpostfix/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkpostfix/tests/component_test_checkpostfix.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkremovedenvvars/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkremovedenvvars/libraries/checkremovedenvvars.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkremovedenvvars/tests/test_checkremovedenvvars.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkremovedpammodules/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checksendmail/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checksendmail/libraries/checksendmail.py create mode 100644 repos/system_upgrade/el7toel8/actors/checksendmail/tests/component_test_checksendmail.py create mode 100644 repos/system_upgrade/el7toel8/actors/checksendmail/tests/unit_test_checksendmail.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkwireshark/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/checkwireshark/tests/component_test_checkwireshark.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/libraries/cupscheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_certkey.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_digest_values.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_env_directives.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_include_directive.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_interface_scripts.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_printcap_directive.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_make_reports.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/libraries/cupsfiltersmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/tests/test_update_config_cupsfiltersmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/tests/test_update_cups_browsed_cupsfiltersmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsmigrate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsmigrate/libraries/cupsmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_certkey.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_configuration.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_digest.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_include.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_move_directives.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/libraries/cupsscanner.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_digest_directive_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_directive_exists.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_environment_setup_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_find_features.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_get_directive_value_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_include_directive_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_interface_script_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_print_capabilities_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_ssl_directive_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/libraries/enabledeviceciofreeservice.py create mode 100644 repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/tests/test_enableddeviceciofreeservice.py create mode 100644 repos/system_upgrade/el7toel8/actors/enablersyncdservice/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/enablersyncdservice/libraries/enablersyncdservice.py create mode 100644 repos/system_upgrade/el7toel8/actors/enablersyncdservice/tests/test_enablersyncdservice.py create mode 100644 repos/system_upgrade/el7toel8/actors/firewalldfactsactor/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/firewalldfactsactor/libraries/firewalldfactsactor.py create mode 100644 repos/system_upgrade/el7toel8/actors/firewalldfactsactor/tests/component_test_firewalldfactsactor.py create mode 100644 repos/system_upgrade/el7toel8/actors/firewalldfactsactor/tests/unit_test_firewalldfactsactor.py create mode 100644 repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/libraries/firewalldupdatelockdownwhitelist.py create mode 100644 repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/tests/unit_test_firewalldupdatelockdownwhitelist.py create mode 100644 repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/libraries/checkinstalleddebugkernels.py create mode 100644 repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/tests/unit_test_checkinstalleddebugkernels.py create mode 100644 repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/libraries/checkinstalleddevelkernels.py create mode 100644 repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/tests/unit_test_checkinstalleddevelkernels.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratebrltty/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratebrltty/libraries/migratebrltty.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratebrltty/tests/component_test_migratebrltty.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/Makefile create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/libraries/migratentp.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/libraries/ntp2chrony.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/1_chrony.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/2_chrony.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/2_chrony.keys create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/3_chrony.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/3_chrony.keys create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/4_chrony.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/5_chrony.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/6_chrony.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/7_chrony.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntp.keys create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/1_ntp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/2_ntp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/2_ntp.keys create mode 100755 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.includefile create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.keys create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/4_ntp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/5_ntp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/6_ntp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/7_ntp.conf create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/data/step_tickers create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/test_converter_migratentp.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratentp/tests/unit_test_migratentp.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratesendmail/Makefile create mode 100644 repos/system_upgrade/el7toel8/actors/migratesendmail/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratesendmail/libraries/migratesendmail.py create mode 100644 repos/system_upgrade/el7toel8/actors/migratesendmail/tests/component_test_migratesendmail.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfcheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfcheck/libraries/multipathconfcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfcheck/tests/test_actor_multipathconfcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/libraries/multipathconfread.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/all_the_things.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/already_updated.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/conf.d/all_devs.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/conf.d/empty.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/default_rhel7.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/default_rhel8.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_all_devs.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_checker.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_detect.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_exists.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_reassign.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/ugly1.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/ugly2.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfread/tests/test_library_multipathconfread.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/libraries/multipathconfupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/all_devs.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/all_the_things.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/default_rhel7.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_all_devs.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_checker.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_detect.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_exists.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_reassign.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/ugly1.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/ugly2.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/all_devs.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/all_the_things.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/already_updated.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/default_rhel7.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/default_rhel8.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/empty.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_all_devs.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_checker.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_detect.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_exists.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_reassign.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/ugly1.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/ugly2.conf create mode 100644 repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/test_library_multipathconfupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/libraries/networkmanagerreadconfig.py create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_file_error create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_with_dhcp create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_without_dhcp create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/unit_test_networkmanagerreadconfig.py create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerupdateconfig/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerupdateconnections/actor.py create mode 100755 repos/system_upgrade/el7toel8/actors/networkmanagerupdateconnections/tools/nm-update-client-ids.py create mode 100644 repos/system_upgrade/el7toel8/actors/networkmanagerupdateservice/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/libraries/opensshalgorithmscheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/tests/unit_test_opensshalgorithmscheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/libraries/opensshdeprecateddirectivescheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/tests/test_opensshdeprecateddirectivescheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/libraries/opensshprotocolcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/tests/unit_test_opensshprotocolcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/libraries/opensshuseprivilegeseparationcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/tests/unit_test_opensshuseprivilegeseparationcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/pammodulesscanner/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/postgresqlcheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/postgresqlcheck/libraries/postgresqlcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/postgresqlcheck/tests/test_postgresqlcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/powertop/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/powertop/tests/component_test_powertop.py create mode 100644 repos/system_upgrade/el7toel8/actors/pythoninformuser/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/quaggadaemons/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/quaggadaemons/libraries/quaggadaemons.py create mode 100644 repos/system_upgrade/el7toel8/actors/quaggadaemons/tests/test_unit_quaggadaemons.py create mode 100644 repos/system_upgrade/el7toel8/actors/quaggareport/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/quaggareport/tests/test_quaggareport.py create mode 100644 repos/system_upgrade/el7toel8/actors/quaggatofrr/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/quaggatofrr/libraries/quaggatofrr.py create mode 100644 repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/bgpd.conf create mode 100644 repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/daemons create mode 100644 repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/quagga create mode 100644 repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/test_unit_quaggatofrr.py create mode 100644 repos/system_upgrade/el7toel8/actors/registeryumadjustment/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/registeryumadjustment/tests/test_register_yum_adjustments.py create mode 100644 repos/system_upgrade/el7toel8/actors/removeleftoverpackages/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/libraries/removeoldpammodulesapply.py create mode 100644 repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/tests/unit_test_removeoldpammodulesapply.py create mode 100644 repos/system_upgrade/el7toel8/actors/removeoldpammodulescheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/libraries/removeoldpammodulesscanner.py create mode 100644 repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/tests/unit_test_removeoldpammodulesscanner.py create mode 100644 repos/system_upgrade/el7toel8/actors/reportleftoverpackages/reportleftoverpackages/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/libraries/sanebackendsmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/tests/test_update_config_sanebackendsmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/tests/test_update_sane_sanebackendsmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/libraries/satellite_upgrade_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/tests/unit_test_satellite_upgrade_check.py create mode 100644 repos/system_upgrade/el7toel8/actors/satellite_upgrade_data_migration/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/satellite_upgrade_facts/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/satellite_upgrade_facts/tests/unit_test_satellite_upgrade_facts.py create mode 100644 repos/system_upgrade/el7toel8/actors/satellite_upgrader/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/satellite_upgrader/tests/unit_test_satellite_upgrader.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpchecks/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpchecks/tests/component_test_sctpchecks.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpconfigread/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpconfigread/libraries/sctpdlm.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpconfigread/libraries/sctplib.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpconfigread/tests/test_unit_sctpconfigread_sctpdlm.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpconfigread/tests/test_unit_sctpconfigread_sctplib.py create mode 100755 repos/system_upgrade/el7toel8/actors/sctpconfigread/tools/check_syslog_for_sctp.sh create mode 100644 repos/system_upgrade/el7toel8/actors/sctpconfigupdate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpconfigupdate/libraries/sctpupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/sctpconfigupdate/tests/test_unit_sctpconfigupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/libraries/sourcebootloaderscanner.py create mode 100644 repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/tests/test_bootentryscanner.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/libraries/spamassassinconfigcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/tests/test_actor_spamassassinconfigcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/tests/test_library_spamassassinconfigcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigread/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread_spamc.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread_spamd.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigread/tests/test_lib_spamc_spamassassinconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigread/tests/test_lib_spamd_spamassassinconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigread/tests/test_library_spamassassinconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/libraries/spamassassinconfigupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/libraries/spamassassinconfigupdate_backup.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/libraries/spamassassinconfigupdate_spamc.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/libraries/spamassassinconfigupdate_spamd.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/tests/test_lib_backup_spamassassinconfigupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/tests/test_lib_spamc_spamassassinconfigupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/tests/test_lib_spamd_spamassassinconfigupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/spamassassinconfigupdate/tests/test_library_spamassassinconfigupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/sssd_handle_cache_files/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sssd_handle_cache_files/libraries/sssd_cache_files.py create mode 100644 repos/system_upgrade/el7toel8/actors/sssd_handle_cache_files/tests/unit_test_sssd_handle_cache_files.py create mode 100644 repos/system_upgrade/el7toel8/actors/sssdcheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sssdfacts/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/sssdfacts/libraries/sssdfacts.py create mode 100644 repos/system_upgrade/el7toel8/actors/sssdfacts/tests/unit_test_sssdfacts.py create mode 100644 repos/system_upgrade/el7toel8/actors/tcpwrapperscheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/tcpwrapperscheck/libraries/tcpwrapperscheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/tcpwrapperscheck/tests/test_tcp_wrappers_tcpwrapperscheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/tcpwrappersconfigread/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/tcpwrappersconfigread/libraries/tcpwrappersconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/tcpwrappersconfigread/tests/test_library_tcpwrappersconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/libraries/updateetcsysconfigkernel.py create mode 100644 repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/files/expected create mode 100644 repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/files/original create mode 100644 repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/unit_test_updateetcsysconfigkernel.py create mode 100644 repos/system_upgrade/el7toel8/actors/vimmigrate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/vimmigrate/libraries/vimmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/vimmigrate/tests/test_update_config_vimmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/vimmigrate/tests/test_update_vim_vimmigrate.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/libraries/vsftpdconfigcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/tests/test_library_vsftpdconfigcheck.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigread/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigread/libraries/config_parser.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigread/libraries/vsftpdconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigread/tests/test_config_parser_vsftpdconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigread/tests/test_library_vsftpdconfigread.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/libraries/vsftpdconfigupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/tests/test_library_vsftpdconfigupdate.py create mode 100644 repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/libraries/ziplcheckbootentries.py create mode 100644 repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/tests/test_ziplcheckbootentries.py create mode 100644 repos/system_upgrade/el7toel8/actors/ziplconverttoblscfg/actor.py create mode 100644 repos/system_upgrade/el7toel8/actors/ziplconverttoblscfg/tests/unit_test_ziplconverttoblscfg.py create mode 100644 repos/system_upgrade/el7toel8/files/bundled-rpms/kernel-workaround-0.1-1.el8.noarch.rpm create mode 100644 repos/system_upgrade/el7toel8/libraries/Makefile create mode 100644 repos/system_upgrade/el7toel8/libraries/isccfg.py create mode 100644 repos/system_upgrade/el7toel8/libraries/pam.py create mode 100644 repos/system_upgrade/el7toel8/libraries/spamassassinutils.py create mode 100644 repos/system_upgrade/el7toel8/libraries/tcpwrappersutils.py create mode 100644 repos/system_upgrade/el7toel8/libraries/tests/test_isccfg.py create mode 100644 repos/system_upgrade/el7toel8/libraries/tests/test_pam.py create mode 100644 repos/system_upgrade/el7toel8/libraries/tests/test_spamassassinutils.py create mode 100644 repos/system_upgrade/el7toel8/libraries/tests/test_tcpwrappersutils.py create mode 100644 repos/system_upgrade/el7toel8/libraries/tests/test_vsftpdutils.py create mode 100644 repos/system_upgrade/el7toel8/libraries/vsftpdutils.py create mode 100644 repos/system_upgrade/el7toel8/models/authselect.py create mode 100644 repos/system_upgrade/el7toel8/models/bindfacts.py create mode 100644 repos/system_upgrade/el7toel8/models/bootloaderconfiguration.py create mode 100644 repos/system_upgrade/el7toel8/models/brlttymigrationdecision.py create mode 100644 repos/system_upgrade/el7toel8/models/cupschangedfeatures.py create mode 100644 repos/system_upgrade/el7toel8/models/firewalldfacts.py create mode 100644 repos/system_upgrade/el7toel8/models/installedkdeappsfacts.py create mode 100644 repos/system_upgrade/el7toel8/models/multipathconffacts.py create mode 100644 repos/system_upgrade/el7toel8/models/networkmanagerconfig.py create mode 100644 repos/system_upgrade/el7toel8/models/ntpmigrationdecision.py create mode 100644 repos/system_upgrade/el7toel8/models/pamconfiguration.py create mode 100644 repos/system_upgrade/el7toel8/models/quaggatofrrfacts.py create mode 100644 repos/system_upgrade/el7toel8/models/removedpammodules.py create mode 100644 repos/system_upgrade/el7toel8/models/satellite.py create mode 100644 repos/system_upgrade/el7toel8/models/sctpconfigmodel.py create mode 100644 repos/system_upgrade/el7toel8/models/sendmailmigrationdecision.py create mode 100644 repos/system_upgrade/el7toel8/models/spamassassinfacts.py create mode 100644 repos/system_upgrade/el7toel8/models/sssd.py create mode 100644 repos/system_upgrade/el7toel8/models/tcpwrappersfacts.py create mode 100644 repos/system_upgrade/el7toel8/models/vsftpdfacts.py create mode 100755 repos/system_upgrade/el7toel8/tools/handle-postgresql-legacy-actions create mode 100755 repos/system_upgrade/el7toel8/tools/handleyumconfig create mode 100644 repos/system_upgrade/el8toel9/.leapp/info create mode 100644 repos/system_upgrade/el8toel9/.leapp/leapp.conf create mode 100644 repos/system_upgrade/el8toel9/actors/checkblacklistca/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkblacklistca/libraries/checkblacklistca.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkblacklistca/tests/component_test_checkblacklistca.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/libraries/blsgrubcfgonppc64.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/tests/test_checkblsgrubcfgonppc64.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/libraries/customnetworkscripts.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/tests/unit_test_customnetworkscripts.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/libraries/checkdeprecatedrpmsignature.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/tests/unit_test_checkdeprecatedrpmsignature.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkifcfg/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkifcfg/libraries/checkifcfg_ifcfg.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkifcfg/tests/unit_test_ifcfg.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/libraries/checkmicroarchitecture.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/tests/test_checkmicroarchitecture.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkvdo/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkvdo/libraries/checkvdo.py create mode 100644 repos/system_upgrade/el8toel9/actors/checkvdo/tests/unit_test_checkvdo.py create mode 100644 repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/libraries/cryptopoliciescheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/tests/component_test_cryptopoliciescheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/tests/unit_test_cryptopoliciescheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/dotnet/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/dotnet/tests/test_dotnet.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcheckallowzonedrifting/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcheckallowzonedrifting/tests/component_test_firewalldcheckallowzonedrifting.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcheckservicetftpclient/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcheckservicetftpclient/tests/component_test_firewalldcollectusedobjectnames.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcollectglobalconfig/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcollectglobalconfig/libraries/private_firewalldcollectglobalconfig.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/libraries/private_firewalldcollectusedobjectnames.py create mode 100644 repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/tests/unit_test_firewalldcollectusedobjectnames.py create mode 100644 repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/libraries/grub2mkconfigonppc64.py create mode 100644 repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/tests/test_grub2mkconfigonppc64.py create mode 100644 repos/system_upgrade/el8toel9/actors/ifcfgscanner/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/ifcfgscanner/libraries/ifcfgscanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/ifcfgscanner/tests/unit_test_ifcfgscanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/kernel/checkkpatch/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/mariadbcheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/mariadbcheck/libraries/mariadbcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/mariadbcheck/tests/test_mariadbcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/migrateblacklistca/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/migrateblacklistca/libraries/migrateblacklistca.py create mode 100644 repos/system_upgrade/el8toel9/actors/migrateblacklistca/tests/unit_test_migrateblacklistca.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfcheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfcheck/libraries/multipathconfcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfcheck/tests/test_multipath_conf_check_8to9.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/libraries/multipathconfread.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/all_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/allow_usb.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/complicated.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/nothing_important.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf2.d/all_true.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf3.d/README create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/converted_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/default_rhel8.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/missing_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_foreign.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/not_set_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/set_in_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/two_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfread/tests/test_multipath_conf_read_8to9.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/libraries/multipathconfupdate.py create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/all_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/allow_usb.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/complicated.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/conf2.d/all_true.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/default_rhel8.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/missing_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_foreign.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/not_set_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/two_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/all_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/allow_usb.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/complicated.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/nothing_important.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf2.d/all_true.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf3.d/README create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/converted_the_things.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/default_rhel8.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/missing_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_foreign.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/not_set_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/set_in_dir.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/two_defaults.conf create mode 100644 repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/test_multipath_conf_update_8to9.py create mode 100644 repos/system_upgrade/el8toel9/actors/networkdeprecations/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/networkdeprecations/libraries/networkdeprecations.py create mode 100644 repos/system_upgrade/el8toel9/actors/networkdeprecations/tests/unit_test_networkdeprecations.py create mode 100644 repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/libraries/networkmanagerconnectionscanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/tests/unit_test_networkmanagerconnectionscanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/nischeck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/nischeck/libraries/nischeck.py create mode 100644 repos/system_upgrade/el8toel9/actors/nischeck/tests/test_nischeck.py create mode 100644 repos/system_upgrade/el8toel9/actors/nisscanner/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/nisscanner/libraries/nisscan.py create mode 100644 repos/system_upgrade/el8toel9/actors/nisscanner/tests/test_nisscan.py create mode 100644 repos/system_upgrade/el8toel9/actors/nvidiaproprietarydriver/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/nvidiaproprietarydriver/tests/test_nvidiadriver.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensshdropindirectory/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensshdropindirectory/libraries/opensshdropindirectory.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensshdropindirectory/tests/test_opensshdropindirectory_prepend.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensshdropindirectorycheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/libraries/opensshsubsystemsftp.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/tests/test_opensshsubsystemsftp.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslconfigcheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslconfigcheck/libraries/opensslconfigcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslconfigcheck/tests/component_test_opensslconfigcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslconfigcheck/tests/test_reachable.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslconfigscanner/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslconfigscanner/libraries/readconf.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslconfigscanner/tests/test_opensslconfigscanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslproviders/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslproviders/libraries/add_provider.py create mode 100644 repos/system_upgrade/el8toel9/actors/opensslproviders/tests/test_add_provider.py create mode 100644 repos/system_upgrade/el8toel9/actors/postgresqlcheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/postgresqlcheck/libraries/postgresqlcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/postgresqlcheck/tests/test_postgresqlcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/pythonthreetmpworkaround/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/registerrubyirbadjustment/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/registerrubyirbadjustment/tests/test_register_ruby_irb_adjustments.py create mode 100644 repos/system_upgrade/el8toel9/actors/rocecheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/rocecheck/libraries/rocecheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/rocecheck/tests/unit_test_rocecheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/rocescanner/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/rocescanner/libraries/rocescanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/rocescanner/tests/unit_test_rocescanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/scanblacklistca/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/scanblacklistca/libraries/scanblacklistca.py create mode 100644 repos/system_upgrade/el8toel9/actors/scanblacklistca/tests/files/badca.cert create mode 100644 repos/system_upgrade/el8toel9/actors/scanblacklistca/tests/unit_test_scanblacklistca.py create mode 100644 repos/system_upgrade/el8toel9/actors/scancryptopolicies/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/scancryptopolicies/libraries/scancryptopolicies.py create mode 100644 repos/system_upgrade/el8toel9/actors/scancryptopolicies/tests/component_test_scancryptopolicies.py create mode 100644 repos/system_upgrade/el8toel9/actors/scancryptopolicies/tests/unit_test_scancryptopolicies.py create mode 100644 repos/system_upgrade/el8toel9/actors/sssdcheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/sssdfacts/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/sssdfacts/libraries/sssdfacts8to9.py create mode 100644 repos/system_upgrade/el8toel9/actors/sssdfacts/tests/unit_test_sssdfacts_8to9.py create mode 100644 repos/system_upgrade/el8toel9/actors/targetuserspacecryptopolicies/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/targetuserspacecryptopolicies/libraries/targetuserspacecryptopolicies.py create mode 100644 repos/system_upgrade/el8toel9/actors/vdoconversionscanner/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/vdoconversionscanner/libraries/vdoconversionscanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/vdoconversionscanner/tests/unit_test_vdoconversionscanner.py create mode 100644 repos/system_upgrade/el8toel9/actors/xorgdrvcheck/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/xorgdrvcheck/tests/test_xorgdrvcheck.py create mode 100644 repos/system_upgrade/el8toel9/actors/xorgdrvfact/actor.py create mode 100644 repos/system_upgrade/el8toel9/actors/xorgdrvfact/libraries/xorgdriverlib.py create mode 100644 repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-intel create mode 100644 repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-qxl create mode 100644 repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-without-qxl create mode 100644 repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/test_xorgdrvfact.py create mode 100644 repos/system_upgrade/el8toel9/files/bundled-rpms/.gitkeep create mode 100644 repos/system_upgrade/el8toel9/libraries/.gitkeep create mode 100644 repos/system_upgrade/el8toel9/models/.gitkeep create mode 100644 repos/system_upgrade/el8toel9/models/blacklistca.py create mode 100644 repos/system_upgrade/el8toel9/models/blacklisterror.py create mode 100644 repos/system_upgrade/el8toel9/models/cryptopolicy.py create mode 100644 repos/system_upgrade/el8toel9/models/firewalldglobalconfig.py create mode 100644 repos/system_upgrade/el8toel9/models/firewalldusedobjectnames.py create mode 100644 repos/system_upgrade/el8toel9/models/ifcfg.py create mode 100644 repos/system_upgrade/el8toel9/models/multipathconffacts.py create mode 100644 repos/system_upgrade/el8toel9/models/networkmanagerconnection.py create mode 100644 repos/system_upgrade/el8toel9/models/nis.py create mode 100644 repos/system_upgrade/el8toel9/models/opensslconfig.py create mode 100644 repos/system_upgrade/el8toel9/models/roce.py create mode 100644 repos/system_upgrade/el8toel9/models/sssd.py create mode 100644 repos/system_upgrade/el8toel9/models/vdoconversioninfo.py create mode 100644 repos/system_upgrade/el8toel9/models/xorgdrv.py create mode 100644 repos/system_upgrade/el8toel9/tools/.gitkeep create mode 100755 repos/system_upgrade/el8toel9/tools/handlerubyirbsymlink create mode 100644 requirements.txt create mode 100644 setup.cfg create mode 100755 utils/actor_path.py create mode 100644 utils/container-builds/Containerfile.centos7 create mode 100644 utils/container-builds/Containerfile.ubi8 create mode 100644 utils/container-tests/Containerfile.f34 create mode 100644 utils/container-tests/Containerfile.rhel7 create mode 100644 utils/container-tests/Containerfile.rhel8 create mode 100644 utils/container-tests/Containerfile.ubi7 create mode 100644 utils/container-tests/Containerfile.ubi8 create mode 100644 utils/container-tests/Containerfile.ubi9 create mode 100755 utils/dashboard-json-dump.py create mode 100755 utils/get_latest_copr_build create mode 100755 utils/ibdmp-decode create mode 100644 utils/install_actor_deps.py create mode 100755 utils/install_commands.sh create mode 100755 utils/library_path.py create mode 100755 utils/update_dashboard.sh diff --git a/.copr/Makefile b/.copr/Makefile new file mode 100644 index 0000000..b317c73 --- /dev/null +++ b/.copr/Makefile @@ -0,0 +1,6 @@ +MAKE_FILE_DIR := $(realpath $(dir $(firstword $(MAKEFILE_LIST)))) + +.PHONY: srpm + +srpm: + bash $(MAKE_FILE_DIR)/build.sh $(outdir) diff --git a/.copr/build.sh b/.copr/build.sh new file mode 100644 index 0000000..2c70944 --- /dev/null +++ b/.copr/build.sh @@ -0,0 +1,52 @@ +#!/bin/bash +set -x + +REPONAME=leapp-actors +SPECNAME=leapp-repository + +OUTDIR="$PWD" +if [ -n "$1" ]; then + OUTDIR="$(realpath $1)" +fi + +command -v which > /dev/null || dnf -y install which + +if [ -z "$(which git)" ]; then + dnf -y install git-core +fi + +if ! git status 2>&1 > /dev/null; then + rm -rf leapp + git clone https://github.com/leapp-to/$REPONAME + POPD=`pushd leapp` +fi + +BRANCH=master +LEAPP_PATCHES_SINCE_RELEASE="$(git log `git describe --abbrev=0`..HEAD --format=oneline | wc -l)$LEAPP_PATCHES_SINCE_RELEASE_EXTERNAL" +echo LEAPP_PATCHES_SINCE_RELEASE=$LEAPP_PATCHES_SINCE_RELEASE$LEAPP_PATCHES_SINCE_RELEASE_EXTERNAL + +VERSION=$(git describe --abbrev=0|cut -d- -f 2) +DIST=$(git describe --abbrev=0|cut -d- -f 3) +LEAPP_BUILD_TAG=".$DIST.$(date --rfc-3339=date | tr -d '-').git.$LEAPP_PATCHES_SINCE_RELEASE" + +if [ -n "$POPD" ] +then + popd +fi + + +echo LEAPP_BUILD_TAG=$LEAPP_BUILD_TAG +export toplevel=$(git rev-parse --show-toplevel) +git archive --remote "$toplevel" --prefix $REPONAME-master/ HEAD > $REPONAME-$VERSION.tar +tar --delete $REPONAME-master/$SPECNAME.spec --file $REPONAME-$VERSION.tar +mkdir -p $REPONAME-master +/bin/cp $toplevel/$SPECNAME.spec $REPONAME-master/$SPECNAME.spec +sed -i "s/^%global dist.*$/%global dist $LEAPP_BUILD_TAG/g" $REPONAME-master/$SPECNAME.spec +tar --append --file $REPONAME-$VERSION.tar $REPONAME-master/$SPECNAME.spec + +cat $REPONAME-$VERSION.tar | gzip > $REPONAME-$VERSION.tar.gz + +echo $PWD $OUTDIR +SRPMDIR="$OUTDIR" +rpmbuild --define "_srcrpmdir $SRPMDIR" --define "version $VERSION" --define "gittag master" -ts ./$REPONAME-$VERSION.tar.gz + diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..0e93cec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,52 @@ +--- +name: Bug report +about: Create a report to help us improve +labels: bug + +--- + +**Actual behavior** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior + +1. install '...' +2. setup '....' +3. run '....' + (when run `leapp`, use always the `--debug` option to provide more data) +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**System information (please complete the following information):** + +- OS and version: (e.g. Fedora 29 or `$ cat /etc/system-release`) +- `# uname -a` +- `# rpm -qa "*leapp*"` (or shorthashes of commits in case of manual installation): + +``` +# rpm -qa "leapp*" +leapp-0.4.0-1.201812151505Z.87a7b74.master.el7_5.noarch +leapp-repository-data-0.4.0-1.201812131256Z.f25d14e.master.el7_5.noarch +leapp-repository-0.4.0-1.201812131256Z.f25d14e.master.el7_5.noarch +``` + +Attach (or provide link to) log files if applicable (optional - may contain confidential information): + +- *All files in /var/log/leapp* +- */var/lib/leapp/leapp.db* +- *journalctl* +- If you want, you can optionally send anything else would you like to provide (e.g. storage info) + +**For your convenience you can pack all logs with this command:** + +`# tar -czf leapp-logs.tar.gz /var/log/leapp /var/lib/leapp/leapp.db` + +Then you may attach only the `leapp-logs.tar.gz` file. + +**** + +**Additional context** +Add any other context about the problem here. diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000..24add3f --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,30 @@ +name: Codespell + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: codespell-project/actions-codespell@master + with: + ignore_words_list: ro,fo,couldn,repositor + skip: "./repos/system_upgrade/common/actors/storagescanner/tests/files/mounts,\ + ./repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_file_error,\ + ./repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-intel,\ + ./repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-qxl,\ + ./repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-without-qxl,\ + ./repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_s390x,\ + ./etc/leapp/files/device_driver_deprecation_data.json,\ + ./etc/leapp/files/pes-events.json,\ + ./etc/leapp/files/repomap.json,\ + ./repos/system_upgrade/common/files/prod-certs" diff --git a/.github/workflows/differential-shellcheck.yml b/.github/workflows/differential-shellcheck.yml new file mode 100644 index 0000000..4af99f8 --- /dev/null +++ b/.github/workflows/differential-shellcheck.yml @@ -0,0 +1,29 @@ +--- +# https://github.com/redhat-plumbers-in-action/differential-shellcheck#readme + +name: Differential ShellCheck +on: + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + lint: + runs-on: ubuntu-latest + + permissions: + security-events: write + pull-requests: write + + steps: + - name: Repository checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Differential ShellCheck + uses: redhat-plumbers-in-action/differential-shellcheck@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pr-welcome-msg.yml b/.github/workflows/pr-welcome-msg.yml new file mode 100644 index 0000000..cec7c77 --- /dev/null +++ b/.github/workflows/pr-welcome-msg.yml @@ -0,0 +1,37 @@ +# IMPORTANT NOTE +# In this workflow there should NOT be checkout action - because of security reasons. +# More info: +# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target +# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ + +name: PR welcome message +on: + pull_request_target: + types: opened + +jobs: + pr_comment: + runs-on: ubuntu-latest + steps: + - name: Create comment + uses: peter-evans/create-or-update-comment@a35cf36e5301d70b76f316e867e7788a55a31dae + with: + issue-number: ${{ github.event.pull_request.number }} + body: | + ## **Thank you for contributing to the Leapp project!** + Please note that every PR needs to comply with the [Leapp Guidelines](https://leapp.readthedocs.io/en/latest/contributing.html#) and must pass all tests in order to be mergeable. + If you want to request a review or rebuild a package in copr, you can use following commands as a comment: + - **review please @oamg/developers** to notify leapp developers of the review request + - **/packit copr-build** to submit a public copr build using packit + + Packit will automatically schedule regression tests for this PR's build and latest upstream leapp build. If you need a different version of leapp from PR#42, use `/packit test oamg/leapp#42` + + To launch regression testing public members of oamg organization can leave the following comment: + - **/rerun** to schedule basic regression tests using this pr build and latest upstream leapp build as artifacts + - **/rerun 42** to schedule basic regression tests using this pr build and leapp\*PR42\* as artifacts + - **/rerun-sst** to schedule sst tests using this pr build and latest upstream leapp build as artifacts + - **/rerun-sst 42** to schedule sst tests using this pr build and leapp\*PR42\* as artifacts + + Please [open ticket](https://url.corp.redhat.com/oamg-ci-issue) in case you experience technical problem with the CI. (RH internal only) + + **Note:** In case there are problems with tests not being triggered automatically on new PR/commit or pending for a long time, please contact leapp-infra. diff --git a/.github/workflows/reuse-copr-build.yml b/.github/workflows/reuse-copr-build.yml new file mode 100644 index 0000000..093e0c1 --- /dev/null +++ b/.github/workflows/reuse-copr-build.yml @@ -0,0 +1,163 @@ +name: reuse-copr-build@TF + +on: + workflow_call: + secrets: + FEDORA_COPR_LOGIN: + required: true + FEDORA_COPR_TOKEN: + required: true + outputs: + artifacts: + description: "A string with test artifacts to install in tft test env" + value: ${{ jobs.reusable_workflow_copr_build_job.outputs.artifacts }} + +jobs: + reusable_workflow_copr_build_job: + # This job only runs for '/rerun' pull request comments by owner, member, or collaborator of the repo/organization. + name: Build copr builds for tft tests + runs-on: ubuntu-20.04 + outputs: + artifacts: ${{ steps.gen_artifacts.outputs.artifacts }} + if: | + github.event.issue.pull_request + && startsWith(github.event.comment.body, '/rerun') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) + steps: + - name: Update repository + id: repo_update + run: sudo apt-get update + + - name: Install necessary deps + id: deps_install + run: sudo apt-get install -y libkrb5-dev + + - name: Get pull request number + id: pr_nr + run: | + PR_URL="${{ github.event.comment.issue_url }}" + echo "::set-output name=pr_nr::${PR_URL##*/}" + + - name: Checkout + # TODO: The correct way to checkout would be to use similar approach as in get_commit_by_timestamp function of + # the github gluetool module (i.e. do not use HEAD but the last commit before comment). + id: checkout + uses: actions/checkout@v2 + with: + ref: "refs/pull/${{ steps.pr_nr.outputs.pr_nr }}/head" + + - name: Get ref and sha + id: ref_sha + run: | + echo "::set-output name=sha::$(git rev-parse --short HEAD)" + echo "::set-output name=ref::refs/pull/${{ steps.pr_nr.outputs.pr_nr }}/head" + + - name: Trigger copr build + id: copr_build + env: + COPR_CONFIG: "copr_fedora.conf" + COPR_CHROOT: "epel-7-x86_64,epel-8-x86_64" + COPR_REPO: "@oamg/leapp" + run: | + cat << EOF > $COPR_CONFIG + [copr-cli] + login = ${{ secrets.FEDORA_COPR_LOGIN }} + username = oamgbot + token = ${{ secrets.FEDORA_COPR_TOKEN }} + copr_url = https://copr.fedorainfracloud.org + # expiration date: 2030-07-04 + EOF + + pip install copr-cli + PR=${{ steps.pr_nr.outputs.pr_nr }} COPR_CONFIG=$COPR_CONFIG COPR_REPO="$COPR_REPO" COPR_CHROOT=$COPR_CHROOT make copr_build | tee copr.log + + COPR_URL=$(grep -Po 'https://copr.fedorainfracloud.org/coprs/build/\d+' copr.log) + echo "::set-output name=copr_url::${COPR_URL}" + echo "::set-output name=copr_id::${COPR_URL##*/}" + + - name: Add comment with copr build url + # TODO: Create comment when copr build fails. + id: link_copr + uses: actions/github-script@v4 + with: + script: | + github.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: 'Copr build succeeded: ${{ steps.copr_build.outputs.copr_url }}' + }) + + - name: Get dependent leapp pr number from rerun comment + uses: actions-ecosystem/action-regex-match@v2 + id: leapp_pr_regex_match + with: + text: ${{ github.event.comment.body }} + regex: '^/(rerun|rerun-sst)\s+([0-9]+)\s*$' + + - name: If leapp_pr was specified in the comment - trigger copr build + # TODO: XXX FIXME This should schedule copr build for leapp but for now it will be just setting an env var + id: leapp_pr + if: ${{ steps.leapp_pr_regex_match.outputs.match != '' }} + run: | + echo "::set-output name=leapp_pr::${{ steps.leapp_pr_regex_match.outputs.group2 }}" + + - name: Checkout leapp + id: checkout_leapp + if: ${{ steps.leapp_pr_regex_match.outputs.match != '' }} + uses: actions/checkout@v2 + with: + repository: "oamg/leapp" + ref: "refs/pull/${{ steps.leapp_pr.outputs.leapp_pr }}/head" + + - name: Get ref and sha for leapp + id: ref_sha_leapp + if: ${{ steps.leapp_pr_regex_match.outputs.match != '' }} + run: | + echo "::set-output name=sha::$(git rev-parse --short HEAD)" + echo "::set-output name=ref::refs/pull/${{ steps.leapp_pr.outputs.leapp_pr }}/head" + + - name: Trigger copr build for leapp + id: copr_build_leapp + if: ${{ steps.leapp_pr_regex_match.outputs.match != '' }} + env: + COPR_CONFIG: "copr_fedora.conf" + COPR_CHROOT: "epel-7-x86_64,epel-8-x86_64" + COPR_REPO: "@oamg/leapp" + run: | + cat << EOF > $COPR_CONFIG + [copr-cli] + login = ${{ secrets.FEDORA_COPR_LOGIN }} + username = oamgbot + token = ${{ secrets.FEDORA_COPR_TOKEN }} + copr_url = https://copr.fedorainfracloud.org + # expiration date: 2030-07-04 + EOF + + pip install copr-cli + PR=${{ steps.leapp_pr.outputs.leapp_pr }} COPR_CONFIG=$COPR_CONFIG COPR_REPO="$COPR_REPO" COPR_CHROOT=$COPR_CHROOT make copr_build | tee copr.log + + COPR_URL=$(grep -Po 'https://copr.fedorainfracloud.org/coprs/build/\d+' copr.log) + echo "::set-output name=copr_url::${COPR_URL}" + echo "::set-output name=copr_id::${COPR_URL##*/}" + + - name: Add comment with copr build url for leapp + # TODO: Create comment when copr build fails. + id: link_copr_leapp + if: ${{ steps.leapp_pr_regex_match.outputs.match != '' }} + uses: actions/github-script@v4 + with: + script: | + github.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: 'Copr build succeeded: ${{ steps.copr_build_leapp.outputs.copr_url }}' + }) + + - name: Generate artifacts output + id: gen_artifacts + env: + ARTIFACTS: ${{ steps.leapp_pr_regex_match.outputs.match != '' && format('{0};{1}', steps.copr_build_leapp.outputs.copr_id, steps.copr_build.outputs.copr_id) || steps.copr_build.outputs.copr_id }} + run: | + echo "::set-output name=artifacts::${{ env.ARTIFACTS }}" diff --git a/.github/workflows/tmt-tests.yml b/.github/workflows/tmt-tests.yml new file mode 100644 index 0000000..7e9fd70 --- /dev/null +++ b/.github/workflows/tmt-tests.yml @@ -0,0 +1,131 @@ +name: tmt@TF + +on: + issue_comment: + types: + - created + +jobs: + call_workflow_copr_build: + uses: ./.github/workflows/reuse-copr-build.yml + secrets: inherit + + call_workflow_tests_79to88_integration: + needs: call_workflow_copr_build + uses: oamg/leapp/.github/workflows/reuse-tests-7to8.yml@master + secrets: inherit + with: + copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }} + tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*max_sst)" + pull_request_status_name: "7.9to8.8" + variables: 'SOURCE_RELEASE=7.9;TARGET_RELEASE=8.8;LEAPPDATA_BRANCH=upstream' + if: | + github.event.issue.pull_request + && ! startsWith(github.event.comment.body, '/rerun-sst') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) + + call_workflow_tests_79to86_integration: + needs: call_workflow_copr_build + uses: oamg/leapp/.github/workflows/reuse-tests-7to8.yml@master + secrets: inherit + with: + copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }} + tmt_plan_regex: "^(?!.*max_sst)(.*tier1)" + variables: 'SOURCE_RELEASE=7.9;TARGET_RELEASE=8.6;LEAPPDATA_BRANCH=upstream' + pull_request_status_name: "7.9to8.6" + if: | + github.event.issue.pull_request + && ! startsWith(github.event.comment.body, '/rerun-sst') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) + + call_workflow_tests_79to88_sst: + needs: call_workflow_copr_build + uses: oamg/leapp/.github/workflows/reuse-tests-7to8.yml@master + secrets: inherit + with: + copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }} + tmt_plan_regex: "^(?!.*tier[2-3].*)(.*max_sst.*)" + pull_request_status_name: "7.9to8.8-sst" + update_pull_request_status: 'false' + variables: 'SOURCE_RELEASE=7.9;TARGET_RELEASE=8.8;LEAPPDATA_BRANCH=upstream' + if: | + github.event.issue.pull_request + && startsWith(github.event.comment.body, '/rerun-sst') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) + + call_workflow_tests_7to8_aws: + needs: call_workflow_copr_build + uses: oamg/leapp/.github/workflows/reuse-tests-7to8.yml@master + secrets: inherit + with: + copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }} + tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*8to9)(.*e2e)" + compose: "RHEL-7.9-rhui" + environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys; echo 42; yum-config-manager --enable rhel-7-server-rhui-optional-rpms"}}' + pull_request_status_name: "7to8-aws-e2e" + variables: "SOURCE_RELEASE=7.9;TARGET_RELEASE=8.6;RHUI=aws;LEAPPDATA_BRANCH=upstream" + if: | + github.event.issue.pull_request + && ! startsWith(github.event.comment.body, '/rerun-sst') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) + + call_workflow_tests_86to90_integration: + needs: call_workflow_copr_build + uses: oamg/leapp/.github/workflows/reuse-tests-8to9.yml@master + secrets: inherit + with: + copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }} + tmt_plan_regex: "^(?!.*max_sst)(.*tier1)" + variables: 'SOURCE_RELEASE=8.6;TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms;LEAPPDATA_BRANCH=upstream' + pull_request_status_name: "8.6to9.0" + if: | + github.event.issue.pull_request + && ! startsWith(github.event.comment.body, '/rerun-sst') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) + + call_workflow_tests_88to92_integration: + needs: call_workflow_copr_build + uses: oamg/leapp/.github/workflows/reuse-tests-8to9.yml@master + secrets: inherit + with: + copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }} + tmt_plan_regex: "^(?!.*max_sst)(.*tier1)" + variables: 'SOURCE_RELEASE=8.8;TARGET_RELEASE=9.2;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-rpms,rhel-8-for-x86_64-baseos-rpms;LEAPPDATA_BRANCH=upstream' + compose: "RHEL-8.8.0-Nightly" + pull_request_status_name: "8.8to9.2" + tmt_context: "distro=rhel-8.8" + if: | + github.event.issue.pull_request + && ! startsWith(github.event.comment.body, '/rerun-sst') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) + + call_workflow_tests_86to90_sst: + needs: call_workflow_copr_build + uses: oamg/leapp/.github/workflows/reuse-tests-8to9.yml@master + secrets: inherit + with: + copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }} + tmt_plan_regex: "^(?!.*tier[2-3].*)(.*max_sst.*)" + variables: 'SOURCE_RELEASE=8.6;TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms;LEAPPDATA_BRANCH=upstream' + pull_request_status_name: "8to9-sst" + update_pull_request_status: 'false' + if: | + github.event.issue.pull_request + && startsWith(github.event.comment.body, '/rerun-sst') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) + + call_workflow_tests_86to90_aws: + needs: call_workflow_copr_build + uses: oamg/leapp/.github/workflows/reuse-tests-8to9.yml@master + secrets: inherit + with: + copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }} + tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(.*e2e)" + compose: "RHEL-8.6-rhui" + environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}' + pull_request_status_name: "8to9-aws-e2e" + variables: 'SOURCE_RELEASE=8.6;TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms;RHUI=aws;LEAPPDATA_BRANCH=upstream' + if: | + github.event.issue.pull_request + && ! startsWith(github.event.comment.body, '/rerun-sst') + && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml new file mode 100644 index 0000000..107a1fc --- /dev/null +++ b/.github/workflows/unit-tests.yml @@ -0,0 +1,48 @@ +name: Unit Tests +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + test: + name: Run unit tests in containers + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + scenarios: + - name: Run unit tests for el8toel9 and common repositories on python 3.9 + python: python3.9 + repos: 'el8toel9,common' + container: ubi8 + - name: Run unit tests for el7toel8 and common repositories on python 3.6 + python: python3.6 + repos: 'el7toel8,common' + container: ubi8 + - name: Run unit tests for el8toel9 and common repositories on python 3.6 + python: python3.6 + repos: 'el8toel9,common' + container: ubi8 + - name: Run unit tests for el7toel8 and common repositories on python 2.7 + python: python2.7 + repos: 'el7toel8,common' + container: ubi7 + + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + # NOTE(ivasilev) fetch-depth 0 is critical here as leapp deps discovery depends on specific substring in + # commit message and default 1 option will get us just merge commit which has an unrelevant message. + fetch-depth: '0' + # NOTE(ivasilev) master -> origin/master is used for leapp deps discovery in Makefile via git log master..HEAD + - name: Set master to origin/master + if: github.ref != 'refs/heads/master' + run: | + git branch -f master origin/master + - name: ${{matrix.scenarios.name}} + run: script -e -c /bin/bash -c 'TERM=xterm podman build --security-opt=seccomp=unconfined -t leapp-tests -f utils/container-tests/Containerfile.${{matrix.scenarios.container}} utils/container-tests && PYTHON_VENV=${{matrix.scenarios.python}} REPOSITORIES=${{matrix.scenarios.repos}} podman run --security-opt=seccomp=unconfined --rm -ti -v ${PWD}:/payload --env=PYTHON_VENV --env=REPOSITORIES leapp-tests' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0bb92d3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,120 @@ +repos/**/.leapp/leapp.db + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +packaging/BUILD/ +packaging/BUILDROOT/ +packaging/SRPMS/ +packaging/RPMS/ +packaging/sources/ +packaging/tmp/ +parts/ +sdist/ +tut/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# dotenv +.env + +# virtualenv +.venv +venv/ +ENV/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ + +# All kinds of vim stuff +**/*~ +*.sw[a-z] + +# visual studio code configuration +.vscode + +# pycharm +.idea diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..24e91db --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,34 @@ +stages: +- build-initrd +- build-srpm +# - build-rpms + +build_initrd: + only: + - master@leapp/leapp-actors-internal + stage: build-initrd + cache: + key: "${CI_PIPELINE_ID}" + paths: + - sources/dracut/upgrade-boot-files.tgz + script: + - 'export BASEDIR="$PWD"' + - helpers/docker/docker-run.sh + image: docker-registry.engineering.redhat.com/leapp-builds/leapp-initrd-rhel8-build:latest + +build_srpm: + only: + - master@leapp/leapp-actors-internal + stage: build-srpm + dependencies: + - build_initrd + cache: + key: "${CI_PIPELINE_ID}" + paths: + - sources/dracut/upgrade-boot-files.tgz + script: + - dnf install -y git-core make rpm-build copr-cli + - export LEAPP_INITRD_SKIP=1 + - make srpm + image: fedora:28 + diff --git a/.isort.cfg b/.isort.cfg new file mode 100644 index 0000000..6e90fc7 --- /dev/null +++ b/.isort.cfg @@ -0,0 +1,9 @@ +[settings] +line_length=119 +known_first_party=leapp +multi_line_output=3 +honor_noqa=true +# NOTE(ivasilev) Ideal solution would be order_by_type with classes exception (for ex. RPM) but this isn't supported +# in 4.3.2 +case_sensitive=false +order_by_type=false diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..b7b4c0b --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,290 @@ +# See the documentation for more information: +# https://packit.dev/docs/configuration/ + +specfile_path: packaging/leapp-repository.spec +# name in upstream package repository/registry (e.g. in PyPI) +upstream_package_name: leapp-repository +downstream_package_name: leapp-repository +upstream_tag_template: 'v{version}' +merge_pr_in_ci: false + +srpm_build_deps: +- make + +# This is just for the build from the CLI - all other builds for jobs use own +# actions +actions: + create-archive: + - bash -c "rm -f packaging/deps-pkgs.tar.gz" + - bash -c "make source" + - bash -c "mv packaging/sources/*.gz packaging/" + - bash -c "find packaging/*.gz -type f" + fix-spec-file: + - bash -c "sed -i -r \"0,/Release:/ s/Release:(\s*)\S*/Release:\1${PACKIT_RPMSPEC_RELEASE}%{?dist}/\" packaging/leapp-repository.spec" + post-upstream-clone: + # builds from PRs should have lower NVR than those from master branch + - bash -c "sed -i \"s/1%{?dist}/0%{?dist}/g\" packaging/leapp-repository.spec" + +jobs: +- job: copr_build + trigger: pull_request + metadata: + owner: "@oamg" + project: leapp + targets: + - epel-7-x86_64 + - epel-8-x86_64 + actions: + create-archive: + - bash -c "rm -f packaging/deps-pkgs.tar.gz" + - bash -c "make source" + - bash -c "mv packaging/sources/*.gz packaging/" + - bash -c "find packaging/*.gz -type f" + fix-spec-file: + - bash -c "sed -i -r \"0,/Release:/ s/Release:(\s*)\S*/Release:\1${PACKIT_RPMSPEC_RELEASE}%{?dist}/\" packaging/leapp-repository.spec" + post-upstream-clone: + # builds from PRs should have lower NVR than those from master branch + - bash -c "sed -i \"s/1%{?dist}/0%{?dist}/g\" packaging/leapp-repository.spec" +- job: copr_build + trigger: commit + metadata: + branch: master + owner: "@oamg" + project: leapp + targets: + - epel-7-x86_64 + - epel-8-x86_64 + actions: + create-archive: + - bash -c "rm -f packaging/deps-pkgs.tar.gz" + - bash -c "make source" + - bash -c "mv packaging/sources/*.gz packaging/" + - bash -c "find packaging/*.gz -type f" + fix-spec-file: + - bash -c "sed -i -r \"0,/Release:/ s/Release:(\s*)\S*/Release:\1${PACKIT_RPMSPEC_RELEASE}%{?dist}/\" packaging/leapp-repository.spec" + post-upstream-clone: + # builds from master branch should start with 100 release, to have high priority + - bash -c "sed -i \"s/1%{?dist}/100%{?dist}/g\" packaging/leapp-repository.spec" +- job: copr_build + trigger: release + metadata: + owner: "@oamg" + project: leapp + targets: + - epel-7-x86_64 + - epel-8-x86_64 + actions: + create-archive: + - bash -c "rm -f packaging/deps-pkgs.tar.gz" + - bash -c "make source" + - bash -c "mv packaging/sources/*.gz packaging/" + - bash -c "find packaging/*.gz -type f" + fix-spec-file: + - bash -c "sed -i -r \"0,/Release:/ s/Release:(\s*)\S*/Release:\1${PACKIT_RPMSPEC_RELEASE}%{?dist}/\" packaging/leapp-repository.spec" + post-upstream-clone: + # builds from master branch should start with 100 release, to have high priority + - bash -c "sed -i \"s/1%{?dist}/100%{?dist}/g\" packaging/leapp-repository.spec" + +- job: tests + fmf_url: "https://gitlab.cee.redhat.com/oamg/tmt-plans" + fmf_ref: "master" + use_internal_tf: True + trigger: pull_request + targets: + epel-7-x86_64: + distros: [RHEL-7.9-ZStream] + identifier: tests-7.9to8.6 + tmt_plan: "^(?!.*max_sst)(.*tier1)" + tf_extra_params: + environments: + - tmt: + context: + distro: "rhel-7.9" + # tag resources as sst_upgrades to enable cost metrics collection + settings: + provisioning: + post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" + tags: + BusinessUnit: sst_upgrades + env: + SOURCE_RELEASE: "7.9" + TARGET_RELEASE: "8.6" + LEAPPDATA_BRANCH: "upstream" + +- job: tests + fmf_url: "https://gitlab.cee.redhat.com/oamg/leapp-tests" + fmf_ref: "master" + use_internal_tf: True + trigger: pull_request + targets: + epel-7-x86_64: + distros: [RHEL-7.9-ZStream] + identifier: tests-7.9to8.8 + tmt_plan: "^(?!.*max_sst)(.*tier1)" + tf_extra_params: + environments: + - tmt: + context: + distro: "rhel-7.9" + # tag resources as sst_upgrades to enable cost metrics collection + settings: + provisioning: + post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" + tags: + BusinessUnit: sst_upgrades + env: + SOURCE_RELEASE: "7.9" + TARGET_RELEASE: "8.8" + LEAPPDATA_BRANCH: "upstream" + +# - job: tests +# fmf_url: "https://gitlab.cee.redhat.com/oamg/leapp-tests" +# fmf_ref: "master" +# use_internal_tf: True +# trigger: pull_request +# targets: +# epel-7-x86_64: +# distros: [RHEL-7.9-ZStream] +# identifier: tests-7.9to8.8-sst +# tmt_plan: "^(?!.*tier[2-3].*)(.*max_sst.*)" +# tf_post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" +# tf_extra_params: +# environments: +# - tmt: +# context: +# distro: "rhel-7.9" +# env: +# SOURCE_RELEASE: "7.9" +# TARGET_RELEASE: "8.8" + +- job: tests + fmf_url: "https://gitlab.cee.redhat.com/oamg/leapp-tests" + fmf_ref: "master" + use_internal_tf: True + trigger: pull_request + targets: + epel-7-x86_64: + distros: [RHEL-7.9-rhui] + identifier: tests-7to8-aws-e2e + tmt_plan: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*8to9)(.*e2e)" + tf_extra_params: + environments: + - tmt: + context: + distro: "rhel-7.9" + # tag resources as sst_upgrades to enable cost metrics collection + settings: + provisioning: + post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys; yum-config-manager --enable rhel-7-server-rhui-optional-rpms" + tags: + BusinessUnit: sst_upgrades + env: + SOURCE_RELEASE: "7.9" + TARGET_RELEASE: "8.6" + RHUI: "aws" + LEAPPDATA_BRANCH: "upstream" + +- job: tests + fmf_url: "https://gitlab.cee.redhat.com/oamg/leapp-tests" + fmf_ref: "master" + use_internal_tf: True + trigger: pull_request + targets: + epel-8-x86_64: + distros: [RHEL-8.6.0-Nightly] + identifier: tests-8.6to9.0 + tmt_plan: "^(?!.*max_sst)(.*tier1)" + tf_extra_params: + environments: + - tmt: + context: + distro: "rhel-8.6" + # tag resources as sst_upgrades to enable cost metrics collection + settings: + provisioning: + post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" + tags: + BusinessUnit: sst_upgrades + env: + SOURCE_RELEASE: "8.6" + TARGET_RELEASE: "9.0" + RHSM_REPOS: "rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms" + LEAPPDATA_BRANCH: "upstream" + +- job: tests + fmf_url: "https://gitlab.cee.redhat.com/oamg/leapp-tests" + fmf_ref: "master" + use_internal_tf: True + trigger: pull_request + targets: + epel-8-x86_64: + distros: [RHEL-8.8.0-Nightly] + identifier: tests-8.8to9.2 + tmt_plan: "^(?!.*max_sst)(.*tier1)" + tf_extra_params: + environments: + - tmt: + context: + distro: "rhel-8.8" + # tag resources as sst_upgrades to enable cost metrics collection + settings: + provisioning: + post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" + tags: + BusinessUnit: sst_upgrades + env: + SOURCE_RELEASE: "8.8" + TARGET_RELEASE: "9.2" + RHSM_REPOS: "rhel-8-for-x86_64-appstream-beta-rpms,rhel-8-for-x86_64-baseos-beta-rpms" + LEAPPDATA_BRANCH: "upstream" + LEAPP_DEVEL_TARGET_RELEASE: "9.2" + +# - job: tests +# fmf_url: "https://gitlab.cee.redhat.com/oamg/leapp-tests" +# fmf_ref: "master" +# use_internal_tf: True +# trigger: pull_request +# targets: +# epel-8-x86_64: +# distros: [RHEL-8.6.0-Nightly] +# identifier: tests-8.6to9.0-sst +# tmt_plan: "^(?!.*tier[2-3].*)(.*max_sst.*)" +# tf_post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" +# tf_extra_params: +# environments: +# - tmt: +# context: +# distro: "rhel-8.6" +# env: +# SOURCE_RELEASE: "8.6" +# TARGET_RELEASE: "9.0" +# RHSM_REPOS: "rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms" +# LEAPPDATA_BRANCH: "upstream" + +- job: tests + fmf_url: "https://gitlab.cee.redhat.com/oamg/leapp-tests" + fmf_ref: "master" + use_internal_tf: True + trigger: pull_request + targets: + epel-8-x86_64: + distros: [RHEL-8.6-rhui] + identifier: tests-8to9-aws-e2e + tmt_plan: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(.*e2e)" + tf_extra_params: + environments: + - tmt: + context: + distro: "rhel-8.6" + # tag resources as sst_upgrades to enable cost metrics collection + settings: + provisioning: + post_install_script: "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys" + tags: + BusinessUnit: sst_upgrades + env: + SOURCE_RELEASE: "8.6" + TARGET_RELEASE: "9.0" + RHSM_REPOS: "rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms" + RHUI: "aws" + LEAPPDATA_BRANCH: "upstream" diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..2ef3116 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,80 @@ +[MESSAGES CONTROL] +disable= +# "F" Fatal errors that prevent further processing + import-error, +# "I" Informational noise +# "E" Error for important programming issues (likely bugs) + no-member, + no-name-in-module, + raising-bad-type, + redundant-keyword-arg, # it's one or the other, this one is not so bad at all +# "W" Warnings for stylistic problems or minor programming issues + no-absolute-import, + arguments-differ, + cell-var-from-loop, + fixme, + lost-exception, + no-init, + pointless-string-statement, + protected-access, + redefined-outer-name, + relative-import, + undefined-loop-variable, + unsubscriptable-object, + unused-argument, + unused-import, + unspecified-encoding, +# "C" Coding convention violations + bad-continuation, + missing-docstring, + wrong-import-order, + use-maxsplit-arg, + consider-using-dict-items, + consider-using-enumerate, +# "R" Refactor recommendations + duplicate-code, + no-self-use, + too-few-public-methods, + too-many-branches, + too-many-locals, + too-many-statements, + consider-using-from-import, + use-list-literal, + use-dict-literal, +# new for python3 version of pylint + useless-object-inheritance, + consider-using-set-comprehension, # pylint3 force to use comprehension in place we don't want (py2 doesnt have these options, for inline skip) + unnecessary-pass, + invalid-envvar-default, # pylint3 warnings envvar returns str/none by default + bad-option-value, # python 2 doesn't have import-outside-toplevel, but in some case we need to import outside toplevel + super-with-arguments, # required in python 2 + raise-missing-from, # no 'raise from' in python 2 + use-a-generator, # cannot be modified because of Python2 support + consider-using-with, # on bunch spaces we cannot change that... + duplicate-string-formatting-argument, # TMP: will be fixed in close future + consider-using-f-string, # sorry, not gonna happen, still have to support py2 + use-dict-literal, + redundant-u-string-prefix # still have py2 to support + +[FORMAT] +# Maximum number of characters on a single line. +max-line-length=119 + +[DESIGN] +max-args=11 # 2x + 1 from default +max-attributes=21 # 4x + 1 from default + +[REPORTS] +msg-template='[{msg_id} {symbol}] {msg} File: {path}, line {line}, in {obj}' + +[BASIC] +# In order to make a check more strict add proper regex http://pylint-messages.wikidot.com/messages:c0103 +argument-rgx=.* +attr-rgx=.* +class-rgx=.* +const-rgx=.* +function-rgx=.* +method-rgx=.* +module-rgx=.* +variable-rgx=.* +inlinevar-rgx=.* diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..477d006 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ +git: + depth: 3 +language: shell +os: linux +dist: xenial +env: + global: + - CONTAINER=registry.centos.org/centos:7 +services: + - docker + +install: + - docker pull ${CONTAINER} + - docker build -t leapp-tests -f utils/docker-tests/Dockerfile utils/docker-tests + +jobs: + include: + - stage: deploy + script: + - docker run --env CI=$CI --rm -ti -v ${PWD}:/payload --entrypoint "/bin/bash" leapp-tests -c "make install-deps && make dashboard_data" + - bash ./utils/update_dashboard.sh + if: branch = master AND type = push diff --git a/.travis/githubio-data-idrsa b/.travis/githubio-data-idrsa new file mode 100644 index 0000000000000000000000000000000000000000..c116380b4affff648439f3786b3bdd7c9b8bb6cb GIT binary patch literal 1840 zcmV-02haGik3CouXGgw!YBwy*t1POu0sA@1{#`@wJNmQ*OVU-(5*g+}zf^NqhIW}Q zo^fp<{GVa5sEpbEFBhQF*!;XRHIN^O1!||n3b9t`Q-9@%To$?`hDwCy;JTz6x_Nr* z5bw`tIthxUvItw81A4C|H|p;B4U@WLnvm&eL}^>!EyzQ>@BOMV{p`O*E|>hH(Jl#` zaiB<38OQ-)8x(l7-;ecx!M$D#FcTBA z!$OA(R#JSnT#x+?8+G<8U(E{A#@Tm5@*nO*gj?IPwP)Gm>N%IA*dx7o{}Dk%q4k)? zE3-N)`ECK}Qe3_QFq6-F8<4Q8PU)qvs{~j{-|T%`5nWvAaS)1H&F*FCDN+=PlSVB&?|MTdb)8k_a<9{D(4M{RSkRt-p zY9GQHM6;4CRxVbObq9sXWQHKBx0)2?1su&g{OOc}HG|^*rmu`%HHkZi)5^L>_pP?< z0!th8!IZD44Z4+Bi-}{}y|fyerBtrI1~UU;EJ3ypz`Gg-v(^XZ4vgGiiJH|H*$=uR z(VihhijXzF@Ki;5+ZnmwIeT&CO@h>wN_~ds`wp#FJsjk0k&wV_BHiG8lfS?B`SxJ1 zu6f|9AldPN=06x^2QZZydcnCK^!BfJ_iNb5@I=!qWwzxiHE=Pqs4d_Bc_^Vh2Lqt* zp)rWlG^P%YbO5f_$&sU#5jyxgADBRcC3f`PfCg?VAq~%AsFhM7MoS$*WCVLOrnL>~ zlk@`CCnl3~)=Oj+b*)>}PhbWyWD@mG1ymP${QFC|v)P4r(?_fIN1P(!=p| zO%{MN)uU4;>cOKy9DN-94hVC{OSSw>dErM>@;rpoCwYhzy#YXn`>Zy-PhC+vH{5<} zkkRs&>pi4fT^|WGn5WH;(u(5$@1H$?M1X+EXX!U?%B|j6#OPFw1HudK z(}-_1E3)U}SYW-4TFSD#G%>7H=&U=7@9Buc{4Fmud1c3-4k*#W|ihD|-ARU^&vOOl1U29NI->NQZHIL;fjS#8x}kll`<(wI=H#WMz~$cY;>*=N7*5 zSeO{rjWPyHf#Nwivp5Q}H1#tWCL9ZAQ@odvsdG%e5xOQI45{yblFdhQd+b%4@ESfW zQog~0&~Ek18UoG}@q=e~AJ!tYC#|&}e~4DK^P}!27H5Cg-{s~$I6iQ}%&6wG61O86 zkk|usN<)-Fb3g^WwKjDve^QUeUvpkc!vgiCxg0p8>;!Ngx>APTDe5!@GIX!LgxUOM zB|j?1D+TI-BC8dG%mbg9J)}oV0L2J`IZY@Hj|1`Z0xB=?^Tp#WD@KJ5Ip{JowES>8 zf-7_LI@fui^o0sQ8~x91*~ET_6WYq;*Ajr=rX|yv)CKb)jm1+c7R`9c*H$ta=s+5l eGnpLSE#4xJeYT5tIQX%eS|=f*Y@H2UVV*7mFppON literal 0 HcmV?d00001 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d4cb204 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1 @@ +See the [Contribution guidelines](https://leapp.readthedocs.io/en/latest/contributing.html) diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b63192e --- /dev/null +++ b/Makefile @@ -0,0 +1,497 @@ +# there are bashisms used in this Makefile +SHELL=/bin/bash + +__PKGNAME=$${_PKGNAME:-leapp-repository} +VENVNAME ?= tut +DIST_VERSION ?= 7 +PKGNAME=leapp-repository +DEPS_PKGNAME=leapp-el7toel8-deps +VERSION=`grep -m1 "^Version:" packaging/$(PKGNAME).spec | grep -om1 "[0-9].[0-9.]**"` +DEPS_VERSION=`grep -m1 "^Version:" packaging/other_specs/$(DEPS_PKGNAME).spec | grep -om1 "[0-9].[0-9.]**"` +REPOS_PATH=repos +_SYSUPG_REPOS="$(REPOS_PATH)/system_upgrade" +LIBRARY_PATH= +REPORT_ARG= +REPOSITORIES ?= $(shell ls $(_SYSUPG_REPOS) | xargs echo | tr " " ",") +SYSUPG_TEST_PATHS=$(shell echo $(REPOSITORIES) | sed -r "s|(,\\|^)| $(_SYSUPG_REPOS)/|g") +TEST_PATHS:=commands repos/common $(SYSUPG_TEST_PATHS) + + +ifdef ACTOR + TEST_PATHS=`python utils/actor_path.py $(ACTOR)` +endif + +ifeq ($(TEST_LIBS),y) + LIBRARY_PATH=`python utils/library_path.py` +endif + +ifdef REPORT + REPORT_ARG=--junit-xml=$(REPORT) +endif + +# needed only in case the Python2 should be used +_USE_PYTHON_INTERPRETER=$${_PYTHON_INTERPRETER} + +# python version to run test with +_PYTHON_VENV=$${PYTHON_VENV:-python2.7} + +# by default use values you can see below, but in case the COPR_* var is defined +# use it instead of the default +_COPR_REPO=$${COPR_REPO:-leapp} +_COPR_REPO_TMP=$${COPR_REPO_TMP:-leapp-tmp} +_COPR_CONFIG=$${COPR_CONFIG:-~/.config/copr_rh_oamg.conf} + +# tool used to run containers for testing and building packages +_CONTAINER_TOOL=$${CONTAINER_TOOL:-podman} + +# container to run tests in +_TEST_CONTAINER=$${TEST_CONTAINER:-rhel8} + +# In case just specific CHROOTs should be used for the COPR build, you can +# set the multiple CHROOTs separated by comma in the COPR_CHROOT envar, e.g. +# "epel-7-x86_64,epel-8-x86_64". But for the copr-cli utility, each of them +# has to be specified separately for the -r option; So we transform it +# automatically to "-r epel-7-x86_64 -r epel-8-x86_64" (without quotes). +ifdef COPR_CHROOT + _COPR_CHROOT=`echo $${COPR_CHROOT} | grep -o "[^,]*" | sed "s/^/-r /g"` +endif + +# just to reduce number of unwanted builds mark as the upstream one when +# someone will call copr_build without additional parameters +MASTER_BRANCH=master + +# In case the PR or MR is defined or in case build is not coming from the +# MATER_BRANCH branch, N_REL=0; (so build is not update of the approved +# upstream solution). For upstream builds N_REL=100; +N_REL=`_NR=$${PR:+0}; if test "$${_NR:-100}" == "100"; then _NR=$${MR:+0}; fi; git rev-parse --abbrev-ref HEAD | grep -qE "^($(MASTER_BRANCH)|stable)$$" || _NR=0; echo $${_NR:-100}` + +TIMESTAMP:=$${__TIMESTAMP:-$(shell /bin/date -u "+%Y%m%d%H%MZ")} +SHORT_SHA=`git rev-parse --short HEAD` +BRANCH=`git rev-parse --abbrev-ref HEAD | tr -- '-/' '_'` + +# The dependent framework PR connection will be taken from the top commit's depends-on message. +REQ_LEAPP_PR=$(shell git log master..HEAD | grep -m1 -iE '^[[:space:]]*Depends-On:[[:space:]]*.*[[:digit:]]+[[:space:]]*$$' | grep -Eo '*[[:digit:]]*') +# NOTE(ivasilev) In case of travis relying on top commit is a no go as a top commit will be a merge commit. +ifdef CI + REQ_LEAPP_PR=$(shell git log master..HEAD | grep -m1 -iE '^[[:space:]]*Depends-On:[[:space:]]*.*[[:digit:]]+[[:space:]]*$$' | grep -Eo '[[:digit:]]*') +endif + +# In case anyone would like to add any other suffix, just make it possible +_SUFFIX=`if test -n "$$SUFFIX"; then echo ".$${SUFFIX}"; fi; ` + +# generate empty string if PR or MR are not specified, otherwise set one of them +REQUEST=`if test -n "$$PR"; then echo ".PR$${PR}"; elif test -n "$$MR"; then echo ".MR$${MR}"; fi; ` + +# replace "custombuild" with some a describing your build +# Examples: +# 0.201810080027Z.4078402.packaging.PR2 +# 0.201810080027Z.4078402.packaging +# 0.201810080027Z.4078402.master.MR2 +# 1.201810080027Z.4078402.master +RELEASE="$(N_REL).$(TIMESTAMP).$(SHORT_SHA).$(BRANCH)$(REQUEST)$(_SUFFIX)" + +all: help + +help: + @echo "Usage: make " + @echo + @echo "Available targets are:" + @echo " help show this text" + @echo " clean clean the mess" + @echo " prepare clean the mess and prepare dirs" + @echo " print_release print release how it should look like with" + @echo " with the given parameters" + @echo " source create the source tarball suitable for" + @echo " packaging" + @echo " srpm create the SRPM" + @echo " build_container create the RPM in container" + @echo " - set BUILD_CONTAINER to el7 or el8" + @echo " - don't run more than one build at the same time" + @echo " since containers operate on the same files!" + @echo " copr_build create the COPR build using the COPR TOKEN" + @echo " - default path is: $(_COPR_CONFIG)" + @echo " - can be changed by the COPR_CONFIG env" + @echo " install-deps create python virtualenv and install there" + @echo " leapp-repository with dependencies" + @echo " install-deps-fedora create python virtualenv and install there" + @echo " leapp-repository with dependencies for Fedora OS" + @echo " lint lint source code" + @echo " lint_container run lint in container" + @echo " lint_container_all run lint in all available containers" + @echo " see test_container for options" + @echo " lint_fix attempt to fix isort violations inplace" + @echo " test lint source code and run tests" + @echo " test_no_lint run tests without linting the source code" + @echo " test_container run lint and tests in container" + @echo " - default container is 'rhel8'" + @echo " - can be changed by setting TEST_CONTAINER env" + @echo " test_container_all run lint and tests in all available containers" + @echo " test_container_no_lint run tests without linting in container, see test_container" + @echo " test_container_all_no_lint run tests without linting in all available containers" + @echo " clean_containers clean all testing and building container images (to force a rebuild for example)" + @echo "" + @echo "Targets test, lint and test_no_lint support environment variables ACTOR and" + @echo "TEST_LIBS." + @echo "If ACTOR= is specified, targets are run against the specified actor." + @echo "If TEST_LIBS=y is specified, targets are run against shared libraries." + @echo "" + @echo "Envars affecting actions with COPR (optional):" + @echo " COPR_REPO specify COPR repository, e,g. @oamg/leapp" + @echo " (default: leapp)" + @echo " COPR_REPO_TMP specify COPR repository for building of tmp" + @echo " deps (meta) packages" + @echo " (default: leapp-tmp)" + @echo " COPR_CONFIG path to the COPR config with API token" + @echo " (default: ~/.config/copr_rh_oamg.conf)" + @echo " COPR_CHROOT specify the CHROOT which should be used for" + @echo " the build, e.g. 'epel-7-x86_64'. You can" + @echo " specify multiple CHROOTs separated by comma." + @echo "" + @echo "Possible use:" + @echo " make " + @echo " PR=5 make " + @echo " MR=6 make " + @echo " PR=7 SUFFIX='my_additional_suffix' make " + @echo " MR=6 COPR_CONFIG='path/to/the/config/copr/file' make " + @echo " ACTOR= TEST_LIBS=y make test" + @echo " BUILD_CONTAINER=el7 make build_container" + @echo " TEST_CONTAINER=f34 make test_container" + @echo " CONTAINER_TOOL=docker TEST_CONTAINER=rhel7 make test_container_no_lint" + @echo "" + +clean: + @echo "--- Clean repo ---" + @rm -rf packaging/{sources,SRPMS,tmp,BUILD,BUILDROOT,RPMS}/ + @rm -rf build/ dist/ *.egg-info .pytest_cache/ + @rm -f *src.rpm packaging/*tar.gz + @find . -name 'leapp.db' | grep "\.leapp/leapp.db" | xargs rm -f + @find . -name '__pycache__' -exec rm -fr {} + + @find . -name '*.pyc' -exec rm -f {} + + @find . -name '*.pyo' -exec rm -f {} + + +prepare: clean + @echo "--- Prepare build directories ---" + @mkdir -p packaging/{sources,SRPMS,BUILD,BUILDROOT,RPMS}/ + +source: prepare + @echo "--- Create source tarball ---" + @echo git archive --prefix "$(PKGNAME)-$(VERSION)/" -o "packaging/sources/$(PKGNAME)-$(VERSION).tar.gz" HEAD + @git archive --prefix "$(PKGNAME)-$(VERSION)/" -o "packaging/sources/$(PKGNAME)-$(VERSION).tar.gz" HEAD + @echo "--- PREPARE DEPS PKGS ---" + mkdir -p packaging/tmp/ + @__TIMESTAMP=$(TIMESTAMP) $(MAKE) _build_subpkg + @__TIMESTAMP=$(TIMESTAMP) $(MAKE) DIST_VERSION=$$(($(DIST_VERSION) + 1)) _build_subpkg + @tar -czf packaging/sources/deps-pkgs.tar.gz -C packaging/RPMS/noarch `ls -1 packaging/RPMS/noarch | grep -o "[^/]*rpm$$"` + @rm -f packaging/RPMS/noarch/*.rpm + +srpm: source + @echo "--- Build SRPM: $(PKGNAME)-$(VERSION)-$(RELEASE).. ---" + @cp packaging/$(PKGNAME).spec packaging/$(PKGNAME).spec.bak + @sed -i "s/1%{?dist}/$(RELEASE)%{?dist}/g" packaging/$(PKGNAME).spec + @rpmbuild -bs packaging/$(PKGNAME).spec \ + --define "_sourcedir `pwd`/packaging/sources" \ + --define "_srcrpmdir `pwd`/packaging/SRPMS" \ + --define "rhel $(DIST_VERSION)" \ + --define 'dist .el$(DIST_VERSION)' \ + --define 'el$(DIST_VERSION) 1' || FAILED=1 + @mv packaging/$(PKGNAME).spec.bak packaging/$(PKGNAME).spec + +_build_subpkg: + @echo "--- Build RPM: $(DEPS_PKGNAME)-$(DEPS_VERSION)-$(RELEASE).. ---" + @cp packaging/other_specs/$(DEPS_PKGNAME).spec packaging/$(DEPS_PKGNAME).spec + @sed -i "s/1%{?dist}/$(RELEASE)%{?dist}/g" packaging/$(DEPS_PKGNAME).spec + # Let's be explicit about the path to the binary RPMs; Copr builders can override this + # IMPORTANT: + # Also, explicitly set the _rpmfilename macro. This is super important as + # the COPR build servers are using Mock, which redefines the macro, so packages + # are stored inside RPMS directory, instead RPMS/%{ARCH}. The macro must be + # defined with double '%'. Using just single %, the macro is expanded when + # the specfile is loaded, but it is expected to be expanded during + # the build process when particular subpackages (RPMs) are created, so + # each RPM has the right name. Using the single %, all RPMs would have the + # name of the SRPM - which means effectively that only one RPM per build + # would be created. (hopefully the explanation is clear :)) + @rpmbuild -ba packaging/$(DEPS_PKGNAME).spec \ + --define "_sourcedir `pwd`/packaging/sources" \ + --define "_srcrpmdir `pwd`/packaging/SRPMS" \ + --define "_builddir `pwd`/packaging/BUILD" \ + --define "_buildrootdir `pwd`/packaging/BUILDROOT" \ + --define "_rpmdir `pwd`/packaging/RPMS" \ + --define "rhel $$(($(DIST_VERSION) + 1))" \ + --define "dist .el$$(($(DIST_VERSION) + 1))" \ + --define "el$$(($(DIST_VERSION) + 1)) 1" \ + --define "_rpmfilename %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" || FAILED=1 + @rm -f packaging/$(DEPS_PKGNAME).spec + +_build_local: source + @echo "--- Build RPM: $(PKGNAME)-$(VERSION)-$(RELEASE).. ---" + @cp packaging/$(PKGNAME).spec packaging/$(PKGNAME).spec.bak + @sed -i "s/1%{?dist}/$(RELEASE)%{?dist}/g" packaging/$(PKGNAME).spec + @rpmbuild -ba packaging/$(PKGNAME).spec \ + --define "_sourcedir `pwd`/packaging/sources" \ + --define "_srcrpmdir `pwd`/packaging/SRPMS" \ + --define "_builddir `pwd`/packaging/BUILD" \ + --define "_buildrootdir `pwd`/packaging/BUILDROOT" \ + --define "_rpmdir `pwd`/packaging/RPMS" \ + --define "rhel $(DIST_VERSION)" \ + --define "dist .el$(DIST_VERSION)" \ + --define "el$(DIST_VERSION) 1" || FAILED=1 + @mv packaging/$(PKGNAME).spec.bak packaging/$(PKGNAME).spec + +build_container: + echo "--- Build RPM ${PKGNAME}-${VERSION}-${RELEASE}.el$(DIST_VERSION).rpm in container ---"; \ + case "$(BUILD_CONTAINER)" in \ + el7) \ + CONT_FILE="utils/container-builds/Containerfile.centos7"; \ + ;; \ + el8) \ + CONT_FILE="utils/container-builds/Containerfile.ubi8"; \ + ;; \ + "") \ + echo "BUILD_CONTAINER must be set"; \ + exit 1; \ + ;; \ + *) \ + echo "Available containers are el7, el8"; \ + exit 1; \ + ;; \ + esac && \ + IMAGE="leapp-repo-build-$(BUILD_CONTAINER)"; \ + $(_CONTAINER_TOOL) image inspect $$IMAGE > /dev/null 2>&1 || \ + $(_CONTAINER_TOOL) build -f $$CONT_FILE --tag $$IMAGE . && \ + $(_CONTAINER_TOOL) run --rm --name "$${IMAGE}-cont" -v $$PWD:/repo:Z $$IMAGE + +copr_build: srpm + @echo "--- Build RPM ${PKGNAME}-${VERSION}-${RELEASE}.el$(DIST_VERSION).rpm in COPR ---" + @echo copr-cli --config $(_COPR_CONFIG) build $(_COPR_CHROOT) $(_COPR_REPO) \ + packaging/SRPMS/${PKGNAME}-${VERSION}-${RELEASE}*.src.rpm + @copr-cli --config $(_COPR_CONFIG) build $(_COPR_CHROOT) $(_COPR_REPO) \ + packaging/SRPMS/${PKGNAME}-${VERSION}-${RELEASE}*.src.rpm + +print_release: + @echo $(RELEASE) + +# Before doing anything, it is good idea to register repos to ensure everything +# is in order inside ~/.config/leapp/repos.json +register: + . $(VENVNAME)/bin/activate; \ + snactor repo find --path repos + +install-deps: + @# in centos:7 python 3.x is not installed by default + case $(_PYTHON_VENV) in python3*) yum install -y ${shell echo $(_PYTHON_VENV) | tr -d .}; esac + @# in centos:7 python dependencies required gcc + case $(_PYTHON_VENV) in python3*) yum install gcc -y; esac + virtualenv --system-site-packages -p /usr/bin/$(_PYTHON_VENV) $(VENVNAME); \ + . $(VENVNAME)/bin/activate; \ + pip install -U pip; \ + pip install --upgrade setuptools; \ + pip install --upgrade -r requirements.txt; \ + ./utils/install_commands.sh $(_PYTHON_VENV); \ + # In case the top commit Depends-On some yet unmerged framework patch - override master leapp with the proper version + if [[ ! -z "$(REQ_LEAPP_PR)" ]] ; then \ + echo "Leapp-repository depends on the yet unmerged pr of the framework #$(REQ_LEAPP_PR), installing it.." && \ + $(VENVNAME)/bin/pip install -I "git+https://github.com/oamg/leapp.git@refs/pull/$(REQ_LEAPP_PR)/head"; \ + fi + $(_PYTHON_VENV) utils/install_actor_deps.py --actor=$(ACTOR) --repos="$(TEST_PATHS)" +install-deps-fedora: + @# Check the necessary rpms are installed for py3 (and py2 below) + if ! rpm -q git findutils python3-virtualenv gcc; then \ + if ! dnf install -y git findutils python3-virtualenv gcc; then \ + echo 'Please install the following rpms via the command: ' \ + 'sudo dnf install -y git findutils python3-virtualenv gcc'; \ + exit 1; \ + fi; \ + fi + @# Prepare the virtual environment + virtualenv --system-site-packages --python /usr/bin/$(_PYTHON_VENV) $(VENVNAME) + . $(VENVNAME)/bin/activate ; \ + pip install -U pip; \ + pip install --upgrade setuptools; \ + pip install --upgrade -r requirements.txt; \ + ./utils/install_commands.sh $(_PYTHON_VENV); \ + # In case the top commit Depends-On some yet unmerged framework patch - override master leapp with the proper version + if [[ ! -z "$(REQ_LEAPP_PR)" ]] ; then \ + echo "Leapp-repository depends on the yet unmerged pr of the framework #$(REQ_LEAPP_PR), installing it.." && \ + $(VENVNAME)/bin/pip install -I "git+https://github.com/oamg/leapp.git@refs/pull/$(REQ_LEAPP_PR)/head"; \ + fi + +lint: + . $(VENVNAME)/bin/activate; \ + echo "--- Linting ... ---" && \ + SEARCH_PATH="$(TEST_PATHS)" && \ + echo "Using search path '$${SEARCH_PATH}'" && \ + echo "--- Running pylint ---" && \ + bash -c "[[ ! -z '$${SEARCH_PATH}' ]] && find $${SEARCH_PATH} -name '*.py' | sort -u | xargs pylint -j0" && \ + echo "--- Running flake8 ---" && \ + bash -c "[[ ! -z '$${SEARCH_PATH}' ]] && flake8 $${SEARCH_PATH}" + + if [[ "$(_PYTHON_VENV)" == "python2.7" ]] ; then \ + . $(VENVNAME)/bin/activate; \ + echo "--- Checking py3 compatibility ---" && \ + SEARCH_PATH=$(REPOS_PATH) && \ + bash -c "[[ ! -z '$${SEARCH_PATH}' ]] && find $${SEARCH_PATH} -name '*.py' | sort -u | xargs pylint --py3k" && \ + echo "--- Linting done. ---"; \ + fi + + if [[ "`git rev-parse --abbrev-ref HEAD`" != "$(MASTER_BRANCH)" ]] && [[ -n "`git diff $(MASTER_BRANCH) --name-only --diff-filter AMR`" ]]; then \ + . $(VENVNAME)/bin/activate; \ + git diff $(MASTER_BRANCH) --name-only --diff-filter AMR | xargs isort -c --diff || \ + { \ + echo; \ + echo "------------------------------------------------------------------------------"; \ + echo "Hint: Apply the required changes."; \ + echo " Execute the following command to apply them automatically: make lint_fix"; \ + exit 1; \ + } && echo "--- isort check done. ---"; \ + fi + +lint_fix: + . $(VENVNAME)/bin/activate; \ + git diff $(MASTER_BRANCH) --name-only --diff-filter AMR | xargs isort && \ + echo "--- isort inplace fixing done. ---;" + +test_no_lint: + . $(VENVNAME)/bin/activate; \ + snactor repo find --path repos/; \ + cd repos/system_upgrade/el7toel8/; \ + snactor workflow sanity-check ipu && \ + cd - && \ + $(_PYTHON_VENV) -m pytest $(REPORT_ARG) $(TEST_PATHS) $(LIBRARY_PATH) + +test: lint test_no_lint + +# container images act like a cache so that dependencies can only be downloaded once +# to force image rebuild, use clean_containers target +_build_container_image: + @[ -z "$$CONT_FILE" ] && { echo "CONT_FILE must be set"; exit 1; } || \ + [ -z "$$TEST_IMAGE" ] && { echo "TEST_IMAGE must be set"; exit 1; }; \ + $(_CONTAINER_TOOL) image inspect "$$TEST_IMAGE" > /dev/null 2>&1 && exit 0; \ + echo "=========== Building container test env image ==========="; \ + $(_CONTAINER_TOOL) build -f $$CONT_FILE --tag $$TEST_IMAGE . + +# tests one IPU, leapp repositories irrelevant to the tested IPU are deleted +_test_container_ipu: + @case $$TEST_CONT_IPU in \ + el7toel8) \ + export REPOSITORIES="common,el7toel8"; \ + ;; \ + el8toel9) \ + export REPOSITORIES="common,el8toel9"; \ + ;; \ + "") \ + echo "TEST_CONT_IPU must be set"; exit 1; \ + ;; \ + *) \ + echo "Only supported TEST_CONT_IPUs are el7toel8, el8toel9"; exit 1; \ + ;; \ + esac && \ + $(_CONTAINER_TOOL) exec -w /repocopy $$_CONT_NAME make clean && \ + $(_CONTAINER_TOOL) exec -w /repocopy -e REPOSITORIES $$_CONT_NAME make $${_TEST_CONT_TARGET:-test} + + +# Runs lint in a container +lint_container: + @_TEST_CONT_TARGET="lint" $(MAKE) test_container + +lint_container_all: + @for container in "f34" "rhel7" "rhel8"; do \ + TEST_CONTAINER=$$container $(MAKE) lint_container || exit 1; \ + done + +# Runs tests in a container +# Builds testing image first if it doesn't exist +# On some Python versions, we need to test both IPUs, +# because e.g. RHEL7 to RHEL8 IPU must work on python2.7 and python3.6 +# and RHEL8 to RHEL9 IPU must work on python3.6 and python3.9. +test_container: + @case $(_TEST_CONTAINER) in \ + f34) \ + export CONT_FILE="utils/container-tests/Containerfile.f34"; \ + export _VENV="python3.9"; \ + ;; \ + rhel7) \ + export CONT_FILE="utils/container-tests/Containerfile.rhel7"; \ + export _VENV="python2.7"; \ + ;; \ + rhel8) \ + export CONT_FILE="utils/container-tests/Containerfile.rhel8"; \ + export _VENV="python3.6"; \ + ;; \ + *) \ + echo "Error: Available containers are: f34, rhel7, rhel8"; exit 1; \ + ;; \ + esac; \ + export TEST_IMAGE="leapp-repo-tests-$(_TEST_CONTAINER)"; \ + $(MAKE) _build_container_image && \ + echo "=== Running $(_TEST_CONT_TARGET) in $(_TEST_CONTAINER) container ===" && \ + export _CONT_NAME="leapp-repo-tests-$(_TEST_CONTAINER)-cont"; \ + $(_CONTAINER_TOOL) ps -q -f name=$$_CONT_NAME && { $(_CONTAINER_TOOL) kill $$_CONT_NAME; $(_CONTAINER_TOOL) rm $$_CONT_NAME; }; \ + $(_CONTAINER_TOOL) run -di --name $$_CONT_NAME -v "$$PWD":/repo:Z -e PYTHON_VENV=$$_VENV $$TEST_IMAGE && \ + $(_CONTAINER_TOOL) exec $$_CONT_NAME rsync -aur --delete --exclude "tut*" /repo/ /repocopy && \ + case $$_VENV in \ + python2.7) \ + TEST_CONT_IPU=el7toel8 $(MAKE) _test_container_ipu; \ + ;;\ + python3.6) \ + TEST_CONT_IPU=el7toel8 $(MAKE) _test_container_ipu; \ + TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu; \ + ;; \ + python3.9) \ + TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu; \ + ;; \ + *) \ + TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu; \ + ;;\ + esac; \ + $(_CONTAINER_TOOL) kill $$_CONT_NAME; \ + $(_CONTAINER_TOOL) rm $$_CONT_NAME + +test_container_all: + @for container in "f34" "rhel7" "rhel8"; do \ + TEST_CONTAINER=$$container $(MAKE) test_container || exit 1; \ + done + +test_container_no_lint: + @_TEST_CONT_TARGET="test_no_lint" $(MAKE) test_container + +test_container_all_no_lint: + @for container in "f34" "rhel7" "rhel8"; do \ + TEST_CONTAINER=$$container $(MAKE) test_container_no_lint || exit 1; \ + done + +# clean all testing and building containers and their images +clean_containers: + @for i in "leapp-repo-tests-f34" "leapp-repo-tests-rhel7" "leapp-repo-tests-rhel8" \ + "leapp-repo-build-el7" "leapp-repo-build-el8"; do \ + $(_CONTAINER_TOOL) kill "$$i-cont" || :; \ + $(_CONTAINER_TOOL) rm "$$i-cont" || :; \ + $(_CONTAINER_TOOL) rmi "$$i" || :; \ + done > /dev/null 2>&1 + +fast_lint: + @. $(VENVNAME)/bin/activate; \ + FILES_TO_LINT="$$(git diff --name-only $(MASTER_BRANCH) --diff-filter AMR | grep '\.py$$')"; \ + if [[ -n "$$FILES_TO_LINT" ]]; then \ + pylint -j 0 $$FILES_TO_LINT && \ + flake8 $$FILES_TO_LINT; \ + LINT_EXIT_CODE="$$?"; \ + if [[ "$$LINT_EXIT_CODE" != "0" ]]; then \ + exit $$LINT_EXIT_CODE; \ + fi; \ + if [[ "$(_PYTHON_VENV)" == "python2.7" ]] ; then \ + pylint --py3k $$FILES_TO_LINT; \ + fi; \ + else \ + echo "No files to lint."; \ + fi + +dashboard_data: + . $(VENVNAME)/bin/activate; \ + snactor repo find --path repos/; \ + pushd repos/system_upgrade/el7toel8/; \ + $(_PYTHON_VENV) ../../../utils/dashboard-json-dump.py > ../../../discover.json; \ + popd + +.PHONY: help build clean prepare source srpm copr_build _build_local build_container print_release register install-deps install-deps-fedora lint test_no_lint test dashboard_data fast_lint +.PHONY: test_container test_container_no_lint test_container_all test_container_all_no_lint clean_containers _build_container_image _test_container_ipu diff --git a/README.md b/README.md index b21e537..7d50964 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,31 @@ -# leapp-repository +**Before doing anything, please read +[Leapp framework documentation](https://leapp.readthedocs.io/).** +--- + +## Troubleshooting + +### Where can I report an issue or RFE related to the framework or other actors? + +- GitHub issues are preferred: + - Leapp framework: [https://github.com/oamg/leapp/issues/new/choose](https://github.com/oamg/leapp/issues/new/choose) + - Leapp actors: [https://github.com/oamg/leapp-repository/issues/new/choose](https://github.com/oamg/leapp-repository/issues/new/choose) + +- When filing an issue, include: + - Steps to reproduce the issue + - *All files in /var/log/leapp* + - */var/lib/leapp/leapp.db* + - *journalctl* + - If you want, you can optionally send anything else would you like to provide (e.g. storage info) + +**For your convenience you can pack all logs with this command:** + +`# tar -czf leapp-logs.tgz /var/log/leapp /var/lib/leapp/leapp.db` + +Then you may attach only the `leapp-logs.tgz` file. + +### Where can I seek help? +We’ll gladly answer your questions and lead you to through any troubles with the +actor development. + +You can reach us at IRC: `#leapp` on Libera.Chat. diff --git a/commands/answer/__init__.py b/commands/answer/__init__.py new file mode 100644 index 0000000..2ba0fc1 --- /dev/null +++ b/commands/answer/__init__.py @@ -0,0 +1,44 @@ +import itertools +import sys + +from leapp.cli.commands.config import get_config +from leapp.exceptions import UsageError +from leapp.messaging.answerstore import AnswerStore +from leapp.utils.clicmd import command, command_opt + + +@command('answer', help='Manage answerfile generation: register persistent user choices for specific dialog sections') +@command_opt('section', action='append', metavar='dialog_sections', + help='Register answer for a specific section in the answerfile') +@command_opt('add', is_flag=True, + help='If set sections will be created even if missing in original answerfile') +def answer(args): + """A command to record user choices to the questions in the answerfile. + Saves user answer between leapp preupgrade runs. + """ + cfg = get_config() + if args.section: + args.section = list(itertools.chain(*[i.split(',') for i in args.section])) + else: + raise UsageError('At least one dialog section must be specified, ex. --section dialog.option=mychoice') + try: + sections = [tuple((dialog_option.split('.', 2) + [value])) + for dialog_option, value in [s.split('=', 2) for s in args.section]] + except ValueError: + raise UsageError("A bad formatted section has been passed. Expected format is dialog.option=mychoice") + answerfile_path = cfg.get('report', 'answerfile') + answerstore = AnswerStore() + answerstore.load(answerfile_path) + for dialog, option, value in sections: + answerstore.answer(dialog, option, value) + not_updated = answerstore.update(answerfile_path, allow_missing=args.add) + if not_updated: + sys.stderr.write("WARNING: Only sections found in original userfile can be updated, ignoring {}\n".format( + ",".join(not_updated))) + + +def register(base_command): + """ + Registers `leapp answer` + """ + base_command.add_sub(answer) diff --git a/commands/command_utils.py b/commands/command_utils.py new file mode 100644 index 0000000..338978d --- /dev/null +++ b/commands/command_utils.py @@ -0,0 +1,142 @@ +import json +import os +import re + +from leapp.exceptions import CommandError +from leapp.utils import path + +HANA_BASE_PATH = '/hana/shared' +HANA_SAPCONTROL_PATH_X86_64 = 'exe/linuxx86_64/hdb/sapcontrol' +HANA_SAPCONTROL_PATH_PPC64LE = 'exe/linuxppc64le/hdb/sapcontrol' + +LEAPP_UPGRADE_FLAVOUR_DEFAULT = 'default' +LEAPP_UPGRADE_FLAVOUR_SAP_HANA = 'saphana' +LEAPP_UPGRADE_PATHS = 'upgrade_paths.json' + +VERSION_REGEX = re.compile(r"^([1-9]\d*)\.(\d+)$") + + +def check_version(version): + """ + Versioning schema: MAJOR.MINOR + In case version contains an invalid version string, an CommandError will be raised. + + :raises: CommandError + :return: release tuple + """ + if not re.match(VERSION_REGEX, version): + raise CommandError('Unexpected format of target version: {}'.format(version)) + return version.split('.')[0] + + +def get_major_version(version): + """ + Return the major version from the given version string. + + Versioning schema: MAJOR.MINOR.PATCH + + :param str version: The version string according to the versioning schema described. + :rtype: str + :returns: The major version from the given version string. + """ + return str(check_version(version)[0]) + + +def detect_sap_hana(): + """ + Detect SAP HANA based on existence of /hana/shared/*/exe/linuxx86_64/hdb/sapcontrol + """ + if os.path.exists(HANA_BASE_PATH): + for entry in os.listdir(HANA_BASE_PATH): + # Does /hana/shared/{entry}/exe/linuxx86_64/hdb/sapcontrol exist? + sap_on_intel = os.path.exists(os.path.join(HANA_BASE_PATH, entry, HANA_SAPCONTROL_PATH_X86_64)) + sap_on_power = os.path.exists(os.path.join(HANA_BASE_PATH, entry, HANA_SAPCONTROL_PATH_PPC64LE)) + if sap_on_intel or sap_on_power: + return True + return False + + +def get_upgrade_flavour(): + """ + Returns the flavour of the upgrade for this system. + """ + if detect_sap_hana(): + return LEAPP_UPGRADE_FLAVOUR_SAP_HANA + return LEAPP_UPGRADE_FLAVOUR_DEFAULT + + +def get_os_release_version_id(filepath): + """ + Retrieve data about System OS release from provided file. + + :return: `str` version_id + """ + with open(filepath) as f: + data = dict(l.strip().split('=', 1) for l in f.readlines() if '=' in l) + return data.get('VERSION_ID', '').strip('"') + + +def get_upgrade_paths_config(): + # NOTE(ivasilev) Importing here not to have circular dependencies + from leapp.cli.commands.upgrade import util # noqa: C415; pylint: disable=import-outside-toplevel + + repository = util.load_repositories_from('repo_path', '/etc/leapp/repo.d/', manager=None) + with open(path.get_common_file_path(repository, LEAPP_UPGRADE_PATHS)) as f: + upgrade_paths_map = json.loads(f.read()) + return upgrade_paths_map + + +def get_target_versions_from_config(src_version_id, flavor): + """ + Retrieve all possible target versions from upgrade_paths_map. + If no match is found returns empty list. + """ + upgrade_paths_map = get_upgrade_paths_config() + return upgrade_paths_map.get(flavor, {}).get(src_version_id, []) + + +def get_supported_target_versions(flavour=get_upgrade_flavour()): + """ + Return a list of supported target versions for the given `flavour` of upgrade. + The default value for `flavour` is `default`. + """ + + current_version_id = get_os_release_version_id('/etc/os-release') + target_versions = get_target_versions_from_config(current_version_id, flavour) + if not target_versions: + # If we cannot find a particular major.minor version in the map, + # we fallback to pick a target version just based on a major version. + # This can happen for example when testing not yet released versions + major_version = get_major_version(current_version_id) + target_versions = get_target_versions_from_config(major_version, flavour) + + return target_versions + + +def get_target_version(flavour): + target_versions = get_supported_target_versions(flavour) + return target_versions[-1] if target_versions else None + + +def vet_upgrade_path(args): + """ + Make sure the user requested upgrade_path is a supported one. + If LEAPP_DEVEL_TARGET_RELEASE is set then it's value is not vetted against upgrade_paths_map but used as is. + + :raises: `CommandError` if the specified upgrade_path is not supported + :return: `tuple` (target_release, flavor) + """ + flavor = get_upgrade_flavour() + env_version_override = os.getenv('LEAPP_DEVEL_TARGET_RELEASE') + if env_version_override: + check_version(env_version_override) + return (env_version_override, flavor) + target_release = args.target or get_target_version(flavor) + supported_target_versions = get_supported_target_versions(flavor) + if target_release not in supported_target_versions: + raise CommandError( + "Upgrade to {to} for {flavor} upgrade path is not supported, possible choices are {choices}".format( + to=target_release, + flavor=flavor, + choices=','.join(supported_target_versions))) + return (target_release, flavor) diff --git a/commands/config.py b/commands/config.py new file mode 100644 index 0000000..c9e6c1d --- /dev/null +++ b/commands/config.py @@ -0,0 +1,7 @@ +from leapp import config + + +def get_config(): + if not config._LEAPP_CONFIG: + config._CONFIG_DEFAULTS['repositories'] = {'repo_path': '/etc/leapp/repos.d'} + return config.get_config() diff --git a/commands/list_runs/__init__.py b/commands/list_runs/__init__.py new file mode 100644 index 0000000..fea50ef --- /dev/null +++ b/commands/list_runs/__init__.py @@ -0,0 +1,26 @@ +from __future__ import print_function + +import json +import sys + +from leapp.cli.commands.upgrade.util import fetch_all_upgrade_contexts +from leapp.exceptions import CommandError +from leapp.utils.clicmd import command + + +@command('list-runs', help='List previous Leapp upgrade executions') +def list_runs(args): # noqa; pylint: disable=unused-argument + contexts = fetch_all_upgrade_contexts() + if contexts: + for context in contexts: + print('Context ID: {} - time: {} - details: {}'.format(context[0], context[1], json.loads(context[2])), + file=sys.stdout) + else: + raise CommandError('No previous run found!') + + +def register(base_command): + """ + Registers `leapp register` + """ + base_command.add_sub(list_runs) diff --git a/commands/preupgrade/__init__.py b/commands/preupgrade/__init__.py new file mode 100644 index 0000000..0320941 --- /dev/null +++ b/commands/preupgrade/__init__.py @@ -0,0 +1,92 @@ +import os +import sys +import uuid + +from leapp.cli.commands import command_utils +from leapp.cli.commands.config import get_config +from leapp.cli.commands.upgrade import breadcrumbs, util +from leapp.exceptions import CommandError, LeappError +from leapp.logger import configure_logger +from leapp.utils.audit import Execution +from leapp.utils.clicmd import command, command_opt +from leapp.utils.output import beautify_actor_exception, report_errors, report_info + + +@command('preupgrade', help='Generate preupgrade report') +@command_opt('whitelist-experimental', action='append', metavar='ActorName', help='Enables experimental actors') +@command_opt('debug', is_flag=True, help='Enable debug mode', inherit=False) +@command_opt('verbose', is_flag=True, help='Enable verbose logging', inherit=False) +@command_opt('no-rhsm', is_flag=True, help='Use only custom repositories and skip actions' + ' with Red Hat Subscription Manager') +@command_opt('no-insights-register', is_flag=True, help='Do not register into Red Hat Insights') +@command_opt('no-rhsm-facts', is_flag=True, help='Do not store migration information using Red Hat ' + 'Subscription Manager. Automatically implied by --no-rhsm.') +@command_opt('enablerepo', action='append', metavar='', + help='Enable specified repository. Can be used multiple times.') +@command_opt('channel', + help='Set preferred channel for the IPU target.', + choices=['ga', 'tuv', 'e4s', 'eus', 'aus'], + value_type=str.lower) # This allows the choices to be case insensitive +@command_opt('iso', help='Use provided target RHEL installation image to perform the in-place upgrade.') +@command_opt('target', choices=command_utils.get_supported_target_versions(), + help='Specify RHEL version to upgrade to for {} detected upgrade flavour'.format( + command_utils.get_upgrade_flavour())) +@command_opt('report-schema', help='Specify report schema version for leapp-report.json', + choices=['1.0.0', '1.1.0', '1.2.0'], default=get_config().get('report', 'schema')) +@command_opt('nogpgcheck', is_flag=True, help='Disable RPM GPG checks. Same as yum/dnf --nogpgcheck option.') +@breadcrumbs.produces_breadcrumbs +def preupgrade(args, breadcrumbs): + util.disable_database_sync() + context = str(uuid.uuid4()) + cfg = get_config() + util.handle_output_level(args) + configuration = util.prepare_configuration(args) + answerfile_path = cfg.get('report', 'answerfile') + userchoices_path = cfg.get('report', 'userchoices') + # NOTE(ivasilev) argparse choices and defaults in enough for validation + report_schema = args.report_schema + + if os.getuid(): + raise CommandError('This command has to be run under the root user.') + e = Execution(context=context, kind='preupgrade', configuration=configuration) + e.store() + util.archive_logfiles() + logger = configure_logger('leapp-preupgrade.log') + os.environ['LEAPP_EXECUTION_ID'] = context + + try: + repositories = util.load_repositories() + except LeappError as exc: + raise CommandError(exc.message) + + workflow = repositories.lookup_workflow('IPUWorkflow')() + util.warn_if_unsupported(configuration) + util.process_whitelist_experimental(repositories, workflow, configuration, logger) + with beautify_actor_exception(): + workflow.load_answers(answerfile_path, userchoices_path) + until_phase = 'ReportsPhase' + logger.info('Executing workflow until phase: %s', until_phase) + + # Set the locale, so that the actors parsing command outputs that might be localized will not fail + os.environ['LANGUAGE'] = 'en_US.UTF-8' + os.environ['LC_ALL'] = 'en_US.UTF-8' + os.environ['LANG'] = 'en_US.UTF-8' + workflow.run(context=context, until_phase=until_phase, skip_dialogs=True) + + logger.info("Answerfile will be created at %s", answerfile_path) + workflow.save_answers(answerfile_path, userchoices_path) + util.generate_report_files(context, report_schema) + report_errors(workflow.errors) + report_files = util.get_cfg_files('report', cfg) + log_files = util.get_cfg_files('logs', cfg) + report_info(context, report_files, log_files, answerfile_path, fail=workflow.failure, errors=workflow.errors) + + if workflow.failure: + sys.exit(1) + + +def register(base_command): + """ + Registers `leapp preupgrade` + """ + base_command.add_sub(preupgrade) diff --git a/commands/rerun/__init__.py b/commands/rerun/__init__.py new file mode 100644 index 0000000..a06dd26 --- /dev/null +++ b/commands/rerun/__init__.py @@ -0,0 +1,82 @@ +import os +import uuid +from argparse import Namespace + +from leapp.cli.commands.upgrade import upgrade, util +from leapp.exceptions import CommandError +from leapp.utils.audit import Execution, get_connection +from leapp.utils.audit.contextclone import clone_context +from leapp.utils.clicmd import command, command_arg, command_opt + +RERUN_SUPPORTED_PHASES = ('FirstBoot',) + + +@command('rerun', help='Re-runs the upgrade from the given phase and using the information and progress ' + 'from the last invocation of leapp upgrade.') +@command_arg('from-phase', + help='Phase to start running from again. Supported values: {}'.format(', '.join(RERUN_SUPPORTED_PHASES))) +@command_opt('only-actors-with-tag', action='append', metavar='TagName', + help='Restrict actors to be re-run only with given tags. Others will not be executed') +@command_opt('debug', is_flag=True, help='Enable debug mode', inherit=False) +@command_opt('verbose', is_flag=True, help='Enable verbose logging', inherit=False) +def rerun(args): + + if os.environ.get('LEAPP_UNSUPPORTED') != '1': + raise CommandError('This command requires the environment variable LEAPP_UNSUPPORTED="1" to be set!') + + if args.from_phase not in RERUN_SUPPORTED_PHASES: + raise CommandError('This command is only supported for {}'.format(', '.join(RERUN_SUPPORTED_PHASES))) + + context = str(uuid.uuid4()) + last_context, configuration = util.fetch_last_upgrade_context() + phases = [chkpt['phase'] for chkpt in util.get_checkpoints(context=last_context)] + if args.from_phase not in set(phases): + raise CommandError('Phase {} has not been executed in the last leapp upgrade execution. ' + 'Cannot rerun not executed phase'.format(args.from_phase)) + + if not last_context: + raise CommandError('No previous upgrade run to rerun - ' + 'leapp upgrade has to be run before leapp rerun can be used') + + with get_connection(None) as db: + e = Execution(context=context, kind='rerun', configuration=configuration) + + e.store(db) + + clone_context(last_context, context, db) + db.execute(''' + DELETE FROM audit WHERE id IN ( + SELECT + audit.id AS id + FROM + audit + JOIN + data_source ON data_source.id = audit.data_source_id + WHERE + audit.context = ? AND audit.event = 'checkpoint' + AND data_source.phase LIKE 'FirstBoot%' + ); + ''', (context,)) + db.execute('''DELETE FROM message WHERE context = ? and type = 'ErrorModel';''', (context,)) + + util.archive_logfiles() + upgrade(Namespace( # pylint: disable=no-value-for-parameter + resume=True, + resume_context=context, + only_with_tags=args.only_actors_with_tag or [], + debug=args.debug, + verbose=args.verbose, + reboot=False, + no_rhsm=False, + nogpgcheck=False, + channel=None, + report_schema='1.1.0', + whitelist_experimental=[], + enablerepo=[])) + + +def register(base_command): + """ + Registers `leapp rerun` + """ + base_command.add_sub(rerun) diff --git a/commands/tests/test_upgrade_paths.py b/commands/tests/test_upgrade_paths.py new file mode 100644 index 0000000..53f081a --- /dev/null +++ b/commands/tests/test_upgrade_paths.py @@ -0,0 +1,52 @@ +import mock +import pytest + +from leapp.cli.commands import command_utils +from leapp.exceptions import CommandError + + +@mock.patch("leapp.cli.commands.command_utils.get_upgrade_paths_config", + return_value={"default": {"7.9": ["8.4"], "8.6": ["9.0"], "7": ["8.4"], "8": ["9.0"]}}) +def test_get_target_version(mock_open, monkeypatch): + + monkeypatch.setattr(command_utils, 'get_os_release_version_id', lambda x: '8.6') + assert command_utils.get_target_version('default') == '9.0' + + monkeypatch.setenv('LEAPP_DEVEL_TARGET_RELEASE', '') + monkeypatch.setattr(command_utils, 'get_os_release_version_id', lambda x: '8.6') + assert command_utils.get_target_version('default') == '9.0' + + monkeypatch.delenv('LEAPP_DEVEL_TARGET_RELEASE', raising=True) + # unsupported path + monkeypatch.setattr(command_utils, 'get_os_release_version_id', lambda x: '8.5') + assert command_utils.get_target_version('default') == '9.0' + + +@mock.patch("leapp.cli.commands.command_utils.get_upgrade_paths_config", + return_value={"default": {"7.9": ["8.4"], "8.6": ["9.0"], "7": ["8.4"], "8": ["9.0"]}}) +def test_vet_upgrade_path(mock_open, monkeypatch): + monkeypatch.setattr(command_utils, 'get_os_release_version_id', lambda x: '8.6') + + # make sure env var LEAPP_DEVEL_TARGET_RELEASE takes precedence + # when env var set to a bad version - abort the upgrade + args = mock.Mock(target='9.0') + monkeypatch.setenv('LEAPP_DEVEL_TARGET_RELEASE', '1.2badsemver') + with pytest.raises(CommandError) as err: + command_utils.vet_upgrade_path(args) + assert 'Unexpected format of target version' in err + # MAJOR.MINOR.PATCH is considered as bad version, only MAJOR.MINOR is accepted + args = mock.Mock(target='9.0') + monkeypatch.setenv('LEAPP_DEVEL_TARGET_RELEASE', '9.0.0') + with pytest.raises(CommandError) as err: + command_utils.vet_upgrade_path(args) + assert 'Unexpected format of target version' in err + # when env var set to a version not in upgrade_paths map - go on and use it + monkeypatch.setenv('LEAPP_DEVEL_TARGET_RELEASE', '1.2') + assert command_utils.vet_upgrade_path(args) == ('1.2', 'default') + # no env var set, --target is set to proper version + monkeypatch.delenv('LEAPP_DEVEL_TARGET_RELEASE', raising=False) + assert command_utils.vet_upgrade_path(args) == ('9.0', 'default') + # env var is set to proper version, --target is set to a bad one - use env var and go on with the upgrade + monkeypatch.setenv('LEAPP_DEVEL_TARGET_RELEASE', '9.0') + args = mock.Mock(target='1.2') + assert command_utils.vet_upgrade_path(args) == ('9.0', 'default') diff --git a/commands/upgrade/__init__.py b/commands/upgrade/__init__.py new file mode 100644 index 0000000..18edcb9 --- /dev/null +++ b/commands/upgrade/__init__.py @@ -0,0 +1,122 @@ +import os +import sys +import uuid + +from leapp.cli.commands import command_utils +from leapp.cli.commands.config import get_config +from leapp.cli.commands.upgrade import breadcrumbs, util +from leapp.exceptions import CommandError, LeappError +from leapp.logger import configure_logger +from leapp.utils.audit import Execution +from leapp.utils.clicmd import command, command_opt +from leapp.utils.output import beautify_actor_exception, report_errors, report_info + +# NOTE: +# If you are adding new parameters please ensure that they are set in the upgrade function invocation in `rerun` +# otherwise there might be errors. + + +@command('upgrade', help='Upgrade the current system to the next available major version.') +@command_opt('resume', is_flag=True, help='Continue the last execution after it was stopped (e.g. after reboot)') +@command_opt('reboot', is_flag=True, help='Automatically performs reboot when requested.') +@command_opt('whitelist-experimental', action='append', metavar='ActorName', help='Enable experimental actors') +@command_opt('debug', is_flag=True, help='Enable debug mode', inherit=False) +@command_opt('verbose', is_flag=True, help='Enable verbose logging', inherit=False) +@command_opt('no-rhsm', is_flag=True, help='Use only custom repositories and skip actions' + ' with Red Hat Subscription Manager') +@command_opt('no-insights-register', is_flag=True, help='Do not register into Red Hat Insights') +@command_opt('no-rhsm-facts', is_flag=True, help='Do not store migration information using Red Hat ' + 'Subscription Manager. Automatically implied by --no-rhsm.') +@command_opt('enablerepo', action='append', metavar='', + help='Enable specified repository. Can be used multiple times.') +@command_opt('channel', + help='Set preferred channel for the IPU target.', + choices=['ga', 'tuv', 'e4s', 'eus', 'aus'], + value_type=str.lower) # This allows the choices to be case insensitive +@command_opt('iso', help='Use provided target RHEL installation image to perform the in-place upgrade.') +@command_opt('target', choices=command_utils.get_supported_target_versions(), + help='Specify RHEL version to upgrade to for {} detected upgrade flavour'.format( + command_utils.get_upgrade_flavour())) +@command_opt('report-schema', help='Specify report schema version for leapp-report.json', + choices=['1.0.0', '1.1.0', '1.2.0'], default=get_config().get('report', 'schema')) +@command_opt('nogpgcheck', is_flag=True, help='Disable RPM GPG checks. Same as yum/dnf --nogpgcheck option.') +@breadcrumbs.produces_breadcrumbs +def upgrade(args, breadcrumbs): + skip_phases_until = None + context = str(uuid.uuid4()) + cfg = get_config() + util.handle_output_level(args) + answerfile_path = cfg.get('report', 'answerfile') + userchoices_path = cfg.get('report', 'userchoices') + + # Processing of parameters passed by the rerun call, these aren't actually command line arguments + # therefore we have to assume that they aren't even in `args` as they are added only by rerun. + only_with_tags = args.only_with_tags if 'only_with_tags' in args else None + resume_context = args.resume_context if 'resume_context' in args else None + + # NOTE(ivasilev) argparse choices and defaults in enough for validation + report_schema = args.report_schema + + if os.getuid(): + raise CommandError('This command has to be run under the root user.') + + if args.resume: + context, configuration = util.fetch_last_upgrade_context(resume_context) + if not context: + raise CommandError('No previous upgrade run to continue, remove `--resume` from leapp invocation to' + ' start a new upgrade flow') + os.environ['LEAPP_DEBUG'] = '1' if util.check_env_and_conf('LEAPP_DEBUG', 'debug', configuration) else '0' + + if os.environ['LEAPP_DEBUG'] == '1' or util.check_env_and_conf('LEAPP_VERBOSE', 'verbose', configuration): + os.environ['LEAPP_VERBOSE'] = '1' + else: + os.environ['LEAPP_VERBOSE'] = '0' + util.restore_leapp_env_vars(context) + skip_phases_until = util.get_last_phase(context) + else: + util.disable_database_sync() + configuration = util.prepare_configuration(args) + e = Execution(context=context, kind='upgrade', configuration=configuration) + e.store() + util.archive_logfiles() + + logger = configure_logger('leapp-upgrade.log') + os.environ['LEAPP_EXECUTION_ID'] = context + + if args.resume: + logger.info("Resuming execution after phase: %s", skip_phases_until) + try: + repositories = util.load_repositories() + except LeappError as exc: + raise CommandError(exc.message) + workflow = repositories.lookup_workflow('IPUWorkflow')(auto_reboot=args.reboot) + util.process_whitelist_experimental(repositories, workflow, configuration, logger) + util.warn_if_unsupported(configuration) + with beautify_actor_exception(): + logger.info("Using answerfile at %s", answerfile_path) + workflow.load_answers(answerfile_path, userchoices_path) + + # Set the locale, so that the actors parsing command outputs that might be localized will not fail + os.environ['LANGUAGE'] = 'en_US.UTF-8' + os.environ['LC_ALL'] = 'en_US.UTF-8' + os.environ['LANG'] = 'en_US.UTF-8' + workflow.run(context=context, skip_phases_until=skip_phases_until, skip_dialogs=True, + only_with_tags=only_with_tags) + + logger.info("Answerfile will be created at %s", answerfile_path) + workflow.save_answers(answerfile_path, userchoices_path) + report_errors(workflow.errors) + util.generate_report_files(context, report_schema) + report_files = util.get_cfg_files('report', cfg) + log_files = util.get_cfg_files('logs', cfg) + report_info(context, report_files, log_files, answerfile_path, fail=workflow.failure, errors=workflow.errors) + + if workflow.failure: + sys.exit(1) + + +def register(base_command): + """ + Registers `leapp upgrade` + """ + base_command.add_sub(upgrade) diff --git a/commands/upgrade/breadcrumbs.py b/commands/upgrade/breadcrumbs.py new file mode 100644 index 0000000..16903ee --- /dev/null +++ b/commands/upgrade/breadcrumbs.py @@ -0,0 +1,171 @@ +import datetime +import json +import os +import sys +from functools import wraps +from itertools import chain + +from leapp import FULL_VERSION +from leapp.libraries.stdlib.call import _call +from leapp.utils.audit import get_messages + +try: + from json.decoder import JSONDecodeError # pylint: disable=ungrouped-imports +except ImportError: + JSONDecodeError = ValueError + + +def runs_in_container(): + """ + Check if the current process is running inside a container + + :return: True if the process is running inside a container, False otherwise + """ + return os.path.exists('/run/host/container-manager') + + +def _flattened(d): + """ Flatten nested dicts and lists into a single dict """ + def expand(key, value): + if isinstance(value, dict): + return [(key + '.' + k, v) for k, v in _flattened(value).items()] + if isinstance(value, list): + return chain(*[expand(key + '.' + str(i), v) for i, v in enumerate(value)]) + return [(key, value)] + items = [item for k, v in d.items() for item in expand(k, v)] + return dict(items) + + +class _BreadCrumbs(object): + def __init__(self, activity): + self._crumbs = { + 'activity': activity, + 'packages': self._get_packages(), + 'leapp_file_changes': [], + 'executed': ' '.join([v if ' ' not in v else '"{}"'.format(v) for v in sys.argv]), + 'success': True, + 'activity_started': datetime.datetime.utcnow().isoformat() + 'Z', + 'activity_ended': datetime.datetime.utcnow().isoformat() + 'Z', + 'source_os': '', + 'target_os': '', + 'env': dict(), + 'run_id': '', + 'version': FULL_VERSION, + } + + def fail(self): + self._crumbs['success'] = False + + def _save_rhsm_facts(self, activities): + if not os.path.isdir('/etc/rhsm/facts'): + if not os.path.exists('/etc/rhsm'): + # If there's no /etc/rhsm folder just skip it + return + os.path.mkdir('/etc/rhsm/facts') + try: + with open('/etc/rhsm/facts/leapp.facts', 'w') as f: + json.dump(_flattened({ + 'leapp': [ + activity for activity in activities + if activity.get('activity', '') in ('preupgrade', 'upgrade')] + }), f, indent=4) + self._commit_rhsm_facts() + except OSError: + # We don't care about failing to 'create' the file here + # even though it shouldn't though, just ignore it + pass + + def _commit_rhsm_facts(self): + if runs_in_container(): + return + cmd = ['/usr/sbin/subscription-manager', 'facts', '--update'] + try: + _call(cmd, lambda x, y: None, lambda x, y: None) + except (OSError, ValueError, TypeError): + # We don't care about errors here, just ignore them + pass + + def save(self): + self._crumbs['run_id'] = os.environ.get('LEAPP_EXECUTION_ID', 'N/A') + self._crumbs['leapp_file_changes'].extend(self._verify_leapp_pkgs()) + messages = get_messages(('IPUConfig',), self._crumbs['run_id']) + versions = json.loads((messages or [{}])[0].get('message', {}).get( + 'data', '{}')).get('version', {'target': 'N/A', 'source': 'N/A'}) + self._crumbs['target_os'] = 'Red Hat Enterprise Linux {target}'.format(**versions) + self._crumbs['source_os'] = 'Red Hat Enterprise Linux {source}'.format(**versions) + self._crumbs['activity_ended'] = datetime.datetime.utcnow().isoformat() + 'Z' + self._crumbs['env'] = {k: v for k, v in os.environ.items() if k.startswith('LEAPP_')} + try: + with open('/etc/migration-results', 'a+') as crumbs: + crumbs.seek(0) + doc = {'activities': []} + try: + content = json.load(crumbs) + if isinstance(content, dict): + if isinstance(content.get('activities', None), list): + doc = content + except JSONDecodeError: + # Expected to happen when /etc/migration-results is still empty or does not yet exist + pass + doc['activities'].append(self._crumbs) + crumbs.seek(0) + crumbs.truncate() + json.dump(doc, crumbs, indent=2, sort_keys=True) + crumbs.write('\n') + if os.environ.get('LEAPP_NO_RHSM_FACTS', '0') != '1': + self._save_rhsm_facts(doc['activities']) + except OSError: + sys.stderr.write('WARNING: Could not write to /etc/migration-results\n') + + def _get_packages(self): + cmd = ['/bin/bash', '-c', 'rpm -qa --queryformat="%{nevra} %{SIGPGP:pgpsig}\n" | grep -Ee "leapp|snactor"'] + res = _call(cmd, lambda x, y: None, lambda x, y: None) + if res.get('exit_code', None) == 0: + if res.get('stdout', None): + return [{'nevra': t[0], 'signature': t[1]} + for t in [line.strip().split(' ', 1) for line in res['stdout'].split('\n') if line.strip()]] + return [] + + def _verify_leapp_pkgs(self): + if not os.environ.get('LEAPP_IPU_IN_PROGRESS'): + return [] + upg_path = os.environ.get('LEAPP_IPU_IN_PROGRESS').split('to') + cmd = ['/bin/bash', '-c', 'rpm -V leapp leapp-upgrade-el{}toel{}'.format(upg_path[0], upg_path[1])] + res = _call(cmd, lambda x, y: None, lambda x, y: None) + if res.get('exit_code', None) == 1: + if res.get('stdout', None): + return [{'result': t[0], 'file_name': t[1]} + for t in [line.strip().split(' ', 1) for line in res['stdout'].split('\n') if line.strip()]] + return [] + + +def produces_breadcrumbs(f): + """ + Ensures that `/etc/migration-results` gets produced on every invocation of `leapp upgrade` & `leapp preupgrade` + + Every execution of the upgrade will have their own entry in the /etc/migration-results file. + For a user flow like: leapp preupgrade && leapp upgrade && reboot there should be 5 new entries in the file: + + 1. leapp preupgrade + 2. leapp upgrade (Source OS) + 3. leapp upgrade (Initram Phase - Until including RPM transaction) + 4. leapp upgrade (Initram Phase - Post RPM Transaction) + 5. leapp upgrade (Target OS - First Boot) + + Depending on future design changes of the IPU Worklow, the output may vary. + """ + @wraps(f) + def wrapper(*args, **kwargs): + breadcrumbs = _BreadCrumbs(activity=f.__name__) + try: + return f(*args, breadcrumbs=breadcrumbs, **kwargs) + except SystemExit as e: + if e.code != 0: + breadcrumbs.fail() + raise + except BaseException: + breadcrumbs.fail() + raise + finally: + breadcrumbs.save() + return wrapper diff --git a/commands/upgrade/util.py b/commands/upgrade/util.py new file mode 100644 index 0000000..b52da25 --- /dev/null +++ b/commands/upgrade/util.py @@ -0,0 +1,247 @@ +import functools +import itertools +import json +import os +import shutil +import tarfile +from datetime import datetime + +from leapp.cli.commands import command_utils +from leapp.cli.commands.config import get_config +from leapp.exceptions import CommandError +from leapp.repository.scan import find_and_scan_repositories +from leapp.utils import audit +from leapp.utils.audit import get_checkpoints, get_connection, get_messages +from leapp.utils.output import report_unsupported +from leapp.utils.report import fetch_upgrade_report_messages, generate_report_file + + +def disable_database_sync(): + def disable_db_sync_decorator(f): + @functools.wraps(f) + def wrapper(*args, **kwargs): + saved = os.environ.get('LEAPP_DEVEL_DATABASE_SYNC_OFF', None) + try: + os.environ['LEAPP_DEVEL_DATABASE_SYNC_OFF'] = '1' + return f(*args, **kwargs) + finally: + os.environ.pop('LEAPP_DEVEL_DATABASE_SYNC_OFF') + if saved: + os.environ['LEAPP_DEVEL_DATABASE_SYNC_OFF'] = saved + return wrapper + + if not os.environ.get('LEAPP_DATABASE_FORCE_SYNC_ON', None): + audit.create_connection = disable_db_sync_decorator(audit.create_connection) + + +def restore_leapp_env_vars(context): + """ + Restores leapp environment variables from the `IPUConfig` message. + """ + messages = get_messages(('IPUConfig',), context) + leapp_env_vars = json.loads((messages or [{}])[0].get('message', {}).get('data', '{}')).get('leapp_env_vars', {}) + for entry in leapp_env_vars: + os.environ[entry['name']] = entry['value'] + + +def archive_logfiles(): + """ Archive log files from a previous run of Leapp """ + cfg = get_config() + + if not os.path.isdir(cfg.get('files_to_archive', 'dir')): + os.makedirs(cfg.get('files_to_archive', 'dir')) + + files_to_archive = [os.path.join(cfg.get('files_to_archive', 'dir'), f) + for f in cfg.get('files_to_archive', 'files').split(',') + if os.path.isfile(os.path.join(cfg.get('files_to_archive', 'dir'), f))] + + if not os.path.isdir(cfg.get('archive', 'dir')): + os.makedirs(cfg.get('archive', 'dir')) + + if files_to_archive: + if os.path.isdir(cfg.get('debug', 'dir')): + files_to_archive.append(cfg.get('debug', 'dir')) + + now = datetime.now().strftime('%Y%m%d%H%M%S') + archive_file = os.path.join(cfg.get('archive', 'dir'), 'leapp-{}-logs.tar.gz'.format(now)) + + with tarfile.open(archive_file, "w:gz") as tar: + for file_to_add in files_to_archive: + tar.add(file_to_add) + if os.path.isdir(file_to_add): + shutil.rmtree(file_to_add, ignore_errors=True) + try: + os.remove(file_to_add) + except OSError: + pass + # leapp_db is not in files_to_archive to not have it removed + if os.path.isfile(cfg.get('database', 'path')): + tar.add(cfg.get('database', 'path')) + + +def load_repositories_from(name, repo_path, manager=None): + if get_config().has_option('repositories', name): + repo_path = get_config().get('repositories', name) + return find_and_scan_repositories(repo_path, manager=manager) + + +def load_repositories(): + manager = load_repositories_from('repo_path', '/etc/leapp/repo.d/', manager=None) + manager.load() + return manager + + +def fetch_last_upgrade_context(use_context=None): + """ + :return: Context of the last execution + """ + with get_connection(None) as db: + if use_context: + cursor = db.execute( + "SELECT context, stamp, configuration FROM execution WHERE context = ?", (use_context,)) + else: + cursor = db.execute( + "SELECT context, stamp, configuration FROM execution WHERE kind = 'upgrade' ORDER BY id DESC LIMIT 1") + row = cursor.fetchone() + if row: + return row[0], json.loads(row[2]) + return None, {} + + +def fetch_all_upgrade_contexts(): + """ + :return: All upgrade execution contexts + """ + with get_connection(None) as db: + cursor = db.execute( + "SELECT context, stamp, configuration FROM execution WHERE kind = 'upgrade' ORDER BY id DESC") + row = cursor.fetchall() + if row: + return row + return None + + +def get_last_phase(context): + checkpoints = get_checkpoints(context=context) + if checkpoints: + return checkpoints[-1]['phase'] + return None + + +def check_env_and_conf(env_var, conf_var, configuration): + """ + Checks whether the given environment variable or the given configuration value are set to '1' + """ + return os.getenv(env_var, '0') == '1' or configuration.get(conf_var, '0') == '1' + + +def generate_report_files(context, report_schema): + """ + Generates all report files for specific leapp run (txt and json format) + """ + cfg = get_config() + report_txt, report_json = [os.path.join(cfg.get('report', 'dir'), + 'leapp-report.{}'.format(f)) for f in ['txt', 'json']] + # fetch all report messages as a list of dicts + messages = fetch_upgrade_report_messages(context) + generate_report_file(messages, context, report_txt, report_schema) + generate_report_file(messages, context, report_json, report_schema) + + +def get_cfg_files(section, cfg, must_exist=True): + """ + Provide files from particular config section + """ + files = [] + for file_ in cfg.get(section, 'files').split(','): + file_path = os.path.join(cfg.get(section, 'dir'), file_) + if not must_exist or must_exist and os.path.isfile(file_path): + files.append(file_path) + return files + + +def warn_if_unsupported(configuration): + env = os.environ + if env.get('LEAPP_UNSUPPORTED', '0') == '1': + devel_vars = {k: env[k] for k in env if k.startswith('LEAPP_DEVEL_')} + report_unsupported(devel_vars, configuration["whitelist_experimental"]) + + +def handle_output_level(args): + """ + Set environment variables following command line arguments. + """ + os.environ['LEAPP_DEBUG'] = '1' if args.debug else os.getenv('LEAPP_DEBUG', '0') + if os.environ['LEAPP_DEBUG'] == '1' or args.verbose: + os.environ['LEAPP_VERBOSE'] = '1' + else: + os.environ['LEAPP_VERBOSE'] = os.getenv('LEAPP_VERBOSE', '0') + + +# NOTE(ivasilev) Please make sure you are not calling prepare_configuration after first reboot. +# If called as leapp upgrade --resume this will happily crash in target version container for +# the latest supported release because of target_version discovery attempt. +def prepare_configuration(args): + """Returns a configuration dict object while setting a few env vars as a side-effect""" + if args.whitelist_experimental: + args.whitelist_experimental = list(itertools.chain(*[i.split(',') for i in args.whitelist_experimental])) + os.environ['LEAPP_EXPERIMENTAL'] = '1' + else: + os.environ['LEAPP_EXPERIMENTAL'] = '0' + os.environ['LEAPP_UNSUPPORTED'] = '0' if os.getenv('LEAPP_UNSUPPORTED', '0') == '0' else '1' + if args.no_rhsm: + os.environ['LEAPP_NO_RHSM'] = '1' + elif os.getenv('LEAPP_NO_RHSM') != '1': + os.environ['LEAPP_NO_RHSM'] = os.getenv('LEAPP_DEVEL_SKIP_RHSM', '0') + + if args.no_insights_register: + os.environ['LEAPP_NO_INSIGHTS_REGISTER'] = '1' + + if args.enablerepo: + os.environ['LEAPP_ENABLE_REPOS'] = ','.join(args.enablerepo) + + if os.environ.get('LEAPP_NO_RHSM', '0') == '1' or args.no_rhsm_facts: + os.environ['LEAPP_NO_RHSM_FACTS'] = '1' + + if args.channel: + os.environ['LEAPP_TARGET_PRODUCT_CHANNEL'] = args.channel + + if args.iso: + os.environ['LEAPP_TARGET_ISO'] = args.iso + target_iso_path = os.environ.get('LEAPP_TARGET_ISO') + if target_iso_path: + # Make sure we convert rel paths into abs ones while we know what CWD is + os.environ['LEAPP_TARGET_ISO'] = os.path.abspath(target_iso_path) + + if args.nogpgcheck: + os.environ['LEAPP_NOGPGCHECK'] = '1' + + # Check upgrade path and fail early if it's unsupported + target_version, flavor = command_utils.vet_upgrade_path(args) + os.environ['LEAPP_UPGRADE_PATH_TARGET_RELEASE'] = target_version + os.environ['LEAPP_UPGRADE_PATH_FLAVOUR'] = flavor + + current_version = command_utils.get_os_release_version_id('/etc/os-release') + os.environ['LEAPP_IPU_IN_PROGRESS'] = '{source}to{target}'.format( + source=command_utils.get_major_version(current_version), + target=command_utils.get_major_version(target_version) + ) + + configuration = { + 'debug': os.getenv('LEAPP_DEBUG', '0'), + 'verbose': os.getenv('LEAPP_VERBOSE', '0'), + 'whitelist_experimental': args.whitelist_experimental or (), + } + return configuration + + +def process_whitelist_experimental(repositories, workflow, configuration, logger=None): + for actor_name in configuration.get('whitelist_experimental', ()): + actor = repositories.lookup_actor(actor_name) + if actor: + workflow.whitelist_experimental_actor(actor) + else: + msg = 'No such Actor: {}'.format(actor_name) + if logger: + logger.error(msg) + raise CommandError(msg) diff --git a/conftest.py b/conftest.py new file mode 100644 index 0000000..dc86003 --- /dev/null +++ b/conftest.py @@ -0,0 +1,97 @@ +import logging +import os + +from leapp.repository.manager import RepositoryManager +from leapp.repository.scan import find_and_scan_repositories +from leapp.utils.repository import find_repository_basedir, get_repository_id + +logger = logging.getLogger(__name__) +logging.getLogger("asyncio").setLevel(logging.INFO) +logging.getLogger("parso").setLevel(logging.INFO) + + +def _load_and_add_repo(manager, repo_path): + repo = find_and_scan_repositories( + repo_path, + include_locals=True + ) + unloaded = set() + loaded = {r.repo_id for r in manager.repos} + if hasattr(repo, 'repos'): + for repo in repo.repos: + if not manager.repo_by_id(repo.repo_id): + manager.add_repo(repo) + unloaded.add(repo.repo_id) + else: + manager.add_repo(repo) + if not loaded: + manager.load(skip_actors_discovery=True) + else: + for repo_id in unloaded: + manager.repo_by_id(repo_id).load(skip_actors_discovery=True) + + +def pytest_collectstart(collector): + if collector.nodeid: + current_repo_basedir = find_repository_basedir(str(collector.fspath)) + if not current_repo_basedir: + # This is not a repository + return + if not hasattr(collector.session, "leapp_repository"): + collector.session.leapp_repository = RepositoryManager() + collector.session.repo_base_dir = current_repo_basedir + _load_and_add_repo(collector.session.leapp_repository, current_repo_basedir) + else: + if not collector.session.leapp_repository.repo_by_id( + get_repository_id(current_repo_basedir) + ): + _load_and_add_repo(collector.session.leapp_repository, current_repo_basedir) + + # we're forcing the actor context switch only when traversing new + # actor + if "/actors/" in str(collector.fspath) and ( + not hasattr(collector.session, "current_actor_path") + or collector.session.current_actor_path + os.sep + not in str(collector.fspath) + ): + actor = None + for a in collector.session.leapp_repository.actors: + if a.full_path == collector.fspath.dirpath().dirname: + actor = a + break + + if not actor: + logger.info("No actor found, exiting collection...") + return + # we need to tear down the context from the previous + # actor + try: + collector.session.current_actor_context.__exit__( + None, None, None + ) + except AttributeError: + pass + else: + logger.info( + "Actor %r context teardown complete", + collector.session.current_actor.name, + ) + + logger.info("Injecting actor context for %r", actor.name) + collector.session.current_actor = actor + collector.session.current_actor_context = actor.injected_context() + collector.session.current_actor_context.__enter__() + collector.session.current_actor_path = ( + collector.session.current_actor.full_path + ) + logger.info("Actor %r context injected", actor.name) + + +def pytest_runtestloop(session): + try: + session.current_actor_context.__exit__(None, None, None) + logger.info( + "Actor %r context teardown complete", session.current_actor.name, + ) + except AttributeError: + pass diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..2a0d966 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,3 @@ +# Leapp repository documentation + +The Leapp repository documentation has been moved to [Read the Docs](https://leapp.readthedocs.io/). diff --git a/etc/leapp/files/device_driver_deprecation_data.json b/etc/leapp/files/device_driver_deprecation_data.json new file mode 100644 index 0000000..1cdd6ea --- /dev/null +++ b/etc/leapp/files/device_driver_deprecation_data.json @@ -0,0 +1,5060 @@ +{ + "provided_data_streams": [ + "2.0" + ], + "data": [ + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x1002", + "device_name": "Mellanox Technologies: MT25400 Family [ConnectX-2 Virtual Function]", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x6340", + "device_name": "Mellanox Technologies: MT25408A0-FCC-SI ConnectX, Dual Port 10Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 2.5GT/s Interface", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x634A", + "device_name": "Mellanox Technologies: MT25408A0-FCC-DI ConnectX, Dual Port 20Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 2.5GT/s Interface", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x6354", + "device_name": "", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x6368", + "device_name": "Mellanox Technologies: MT25448 [ConnectX EN 10GigE, PCIe 2.0 2.5GT/s]", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x6372", + "device_name": "Mellanox Technologies: MT25458 ConnectX EN 10GBASE-T PCIe 2.5 GT/s", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x6732", + "device_name": "Mellanox Technologies: MT25408A0-FCC-GI ConnectX, Dual Port 20Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 5.0GT/s Interface", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x673C", + "device_name": "Mellanox Technologies: MT25408A0-FCC-QI ConnectX, Dual Port 40Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 5.0GT/s Interface", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x6746", + "device_name": "Mellanox Technologies: MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+]", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x6750", + "device_name": "Mellanox Technologies: MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s]", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x675A", + "device_name": "Mellanox Technologies: MT26458 ConnectX EN 10GBASE-T PCIe Gen2 5.0 GT/s", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x6764", + "device_name": "Mellanox Technologies: MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+]", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x15B3:0x676E", + "device_name": "Mellanox Technologies: MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s]", + "device_type": "pci", + "driver_name": "mlx4_core", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:Ampere:NeoverseN1", + "device_name": "Ampere Altra", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 8 + ], + "deprecation_announced": "", + "device_id": "aarch64:Ampere:Potenza", + "device_name": "Ampere eMAG", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8 + ], + "deprecation_announced": "", + "device_id": "aarch64:APM:Potenza", + "device_name": "Applied Micro X-Gene", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:AWS:A72", + "device_name": "AWS Graviton 1", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:AWS:NeoverseN1", + "device_name": "AWS Graviton 2", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:Fujitsu:A64FX", + "device_name": "Fujitsu A64FX", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:Fujitsu:NSP", + "device_name": "Fujitsu NSP", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:Marvell:ThunderX", + "device_name": "Marvell ThunderX1", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:Marvell:ThunderX2", + "device_name": "Marvell ThunderX2", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:Mellanox:A72", + "device_name": "Nvidia Bluefield", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:Nvidia:Carmel", + "device_name": "Nvidia Jetson", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "aarch64:Qualcomm:Falkor", + "device_name": "Qualcomm Amberwing", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8 + ], + "deprecation_announced": "", + "device_id": "ppc64le:ibm:4b:*", + "device_name": "Power8E", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8 + ], + "deprecation_announced": "", + "device_id": "ppc64le:ibm:4c:*", + "device_name": "Power8NVL", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8 + ], + "deprecation_announced": "", + "device_id": "ppc64le:ibm:4d:*", + "device_name": "Power8", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "ppc64le:ibm:4e:*", + "device_name": "Power9", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "ppc64le:ibm:4f:*", + "device_name": "Power9P", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "ppc64le:ibm:80:*", + "device_name": "Power10", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8 + ], + "deprecation_announced": "", + "device_id": "s390x:ibm:2964:*", + "device_name": "z13", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8 + ], + "deprecation_announced": "", + "device_id": "s390x:ibm:2965:*", + "device_name": "z13s", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "s390x:ibm:3907:*", + "device_name": "z14 ZR1", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "s390x:ibm:3906:*", + "device_name": "z14", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "s390x:ibm:8561:*", + "device_name": "z15", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "s390x:ibm:8562:*", + "device_name": "z15 Model T02", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:amd:21:*", + "device_name": "All Family 15h", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:amd:23:{1,17,49}", + "device_name": "Supported Family 17h", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:amd:23:{[2-16],[18-48],[50-255]}", + "device_name": "Unsupported Family 17h", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:amd:25:1", + "device_name": "Supported Family 19h", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:amd:25:[2-255]", + "device_name": "Unsupported Family 19h", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:5:*", + "device_name": "All Family 5 Intel Processors", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[1-13]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[16-21]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[24-25]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:27", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[32-36]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[40-41]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:43", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[48-52]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[56-57]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:59", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[64-68]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[72-73]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:75", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[80-84]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[88-89]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:91", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:93", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[96-101]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[103-105]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:107", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[109-116]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[118-121]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[123-124]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[127-132]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[135-137]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:139", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[144-149]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[152-155]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[159-164]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:[168-255]", + "device_name": "Unknown Intel Cpu Models", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:102", + "device_name": "CANNONLAKE_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:106", + "device_name": "ICELAKE_X", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:108", + "device_name": "ICELAKE_D", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:117", + "device_name": "ATOM_AIRMONT_NP", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:122", + "device_name": "ATOM_GOLDMONT_PLUS", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:125", + "device_name": "ICELAKE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:126", + "device_name": "ICELAKE_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:133", + "device_name": "XEON_PHI_KNM", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:134", + "device_name": "ATOM_TREMONT_D", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:138", + "device_name": "LAKEFIELD", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:14", + "device_name": "CORE_YONAH", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:140", + "device_name": "TIGERLAKE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:141", + "device_name": "TIGERLAKE_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:142", + "device_name": "KABYLAKE_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:143", + "device_name": "SAPPHIRE_RAPIDS_X", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:15", + "device_name": "CORE2_MEROM", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:150", + "device_name": "ATOM_TREMONT", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:151", + "device_name": "ALDERLAKE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 9 + ] + }, + { + "available_in_rhel": [ + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:156", + "device_name": "ATOM_TREMONT_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:157", + "device_name": "ICELAKE_NNPI", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:158", + "device_name": "KABYLAKE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:165", + "device_name": "COMETLAKE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:166", + "device_name": "COMETLAKE_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:167", + "device_name": "ROCKETLAKE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:22", + "device_name": "CORE2_MEROM_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:23", + "device_name": "CORE2_PENRYN", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:26", + "device_name": "NEHALEM_EP", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:28", + "device_name": "ATOM_BONNELL", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:29", + "device_name": "CORE2_DUNNINGTON", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:30", + "device_name": "NEHALEM", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:31", + "device_name": "NEHALEM_G", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:37", + "device_name": "WESTMERE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:38", + "device_name": "ATOM_BONNELL_MID", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:39", + "device_name": "ATOM_SALTWELL_MID", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:42", + "device_name": "SANDYBRIDGE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:44", + "device_name": "WESTMERE_EP", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:45", + "device_name": "SANDYBRIDGE_X", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:46", + "device_name": "NEHALEM_EX", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:47", + "device_name": "WESTMERE_EX", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:53", + "device_name": "ATOM_SALTWELL_TABLET", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:54", + "device_name": "ATOM_SALTWELL", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:55", + "device_name": "ATOM_SILVERMONT", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:58", + "device_name": "IVYBRIDGE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:60", + "device_name": "HASWELL", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:61", + "device_name": "BROADWELL", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:62", + "device_name": "IVYBRIDGE_X", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:63", + "device_name": "HASWELL_X", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:69", + "device_name": "HASWELL_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:70", + "device_name": "HASWELL_G", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:71", + "device_name": "BROADWELL_G", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:74", + "device_name": "ATOM_SILVERMONT_MID", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:76", + "device_name": "ATOM_AIRMONT", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:77", + "device_name": "ATOM_SILVERMONT_D", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:78", + "device_name": "SKYLAKE_L", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:79", + "device_name": "BROADWELL_X", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:85", + "device_name": "SKYLAKE_X", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:86", + "device_name": "BROADWELL_D", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:87", + "device_name": "XEON_PHI_KNL", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:90", + "device_name": "ATOM_AIRMONT_MID", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:92", + "device_name": "ATOM_GOLDMONT", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8, + 9 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:94", + "device_name": "SKYLAKE", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "x86_64:intel:6:95", + "device_name": "ATOM_GOLDMONT_D", + "device_type": "cpu", + "driver_name": "", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "3w-9xxx", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "3w-sas", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1011:0x0046:0x103c:0x10c2", + "device_name": "Digital Equipment Corporation: DECchip 21554: NetRAID-4M", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1011:0x0046:0x9005:0x0364", + "device_name": "Digital Equipment Corporation: DECchip 21554: 5400S (Mustang)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1011:0x0046:0x9005:0x0365", + "device_name": "Digital Equipment Corporation: DECchip 21554: 5400S (Mustang)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1011:0x0046:0x9005:0x1364", + "device_name": "Digital Equipment Corporation: DECchip 21554: Dell PowerEdge RAID Controller 2", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x0001:0x1028:0x0001", + "device_name": "Dell: PowerEdge Expandable RAID Controller 2/Si: PowerEdge 2400", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x0002:0x1028:0x0002", + "device_name": "Dell: PowerEdge Expandable RAID Controller 3/Di: PowerEdge 4400", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x0002:0x1028:0x00d1", + "device_name": "Dell: PowerEdge Expandable RAID Controller 3/Di: PERC 3/DiV [Viper]", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x0002:0x1028:0x00d9", + "device_name": "Dell: PowerEdge Expandable RAID Controller 3/Di: PERC 3/DiL [Lexus]", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x0003:0x1028:0x0003", + "device_name": "Dell: PowerEdge Expandable RAID Controller 3/Si: PowerEdge 2450", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x0004:0x1028:0x00d0", + "device_name": "Dell: PowerEdge Expandable RAID Controller 3/Di [Iguana]", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x000a:0x1028:0x0106", + "device_name": "Dell: PowerEdge Expandable RAID Controller 3/Di: PERC 3/DiJ [Jaguar]", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x000a:0x1028:0x011b", + "device_name": "Dell: PowerEdge Expandable RAID Controller 3/Di: PERC 3/DiD [Dagger]", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x000a:0x1028:0x0121", + "device_name": "Dell: PowerEdge Expandable RAID Controller 3/Di: PERC 3/DiB [Boxster]", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0200:0x9005:0x0200", + "device_name": "", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0283:0x9005:0x0283", + "device_name": "Adaptec: AAC-RAID: Catapult", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0284:0x9005:0x0284", + "device_name": "Adaptec: AAC-RAID: Tomcat", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285", + "device_name": "Adaptec: AAC-RAID", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x1014:0x02F2", + "device_name": "Adaptec: AAC-RAID: ServeRAID 8i", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x1014:0x0312", + "device_name": "Adaptec: AAC-RAID", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x1028", + "device_name": "Adaptec: AAC-RAID", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x1028:0x0287", + "device_name": "Adaptec: AAC-RAID: PowerEdge Expandable RAID Controller 320/DC", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x103C:0x3227", + "device_name": "Adaptec: AAC-RAID: AAR-2610SA", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x17aa", + "device_name": "Adaptec: AAC-RAID", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x17aa:0x0286", + "device_name": "Adaptec: AAC-RAID: Legend S220 (Legend Crusader)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x17aa:0x0287", + "device_name": "Adaptec: AAC-RAID: Legend S230 (Legend Vulcan)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0285", + "device_name": "Adaptec: AAC-RAID: 2200S (Vulcan)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0286", + "device_name": "Adaptec: AAC-RAID: 2120S (Crusader)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0287", + "device_name": "Adaptec: AAC-RAID: 2200S (Vulcan-2m)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0288", + "device_name": "Adaptec: AAC-RAID: 3230S (Harrier)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0289", + "device_name": "Adaptec: AAC-RAID: 3240S (Tornado)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x028a", + "device_name": "Adaptec: AAC-RAID: ASR-2020ZCR", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x028b", + "device_name": "Adaptec: AAC-RAID: ASR-2025ZCR (Terminator)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x028e", + "device_name": "Adaptec: AAC-RAID: ASR-2020SA (Skyhawk)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x028f", + "device_name": "Adaptec: AAC-RAID: ASR-2025SA", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0290", + "device_name": "Adaptec: AAC-RAID: AAR-2410SA PCI SATA 4ch (Jaguar II)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0291", + "device_name": "Adaptec: AAC-RAID", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0292", + "device_name": "Adaptec: AAC-RAID: AAR-2810SA PCI SATA 8ch (Corsair-8)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0293", + "device_name": "Adaptec: AAC-RAID: AAR-21610SA PCI SATA 16ch (Corsair-16)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0294", + "device_name": "Adaptec: AAC-RAID: ESD SO-DIMM PCI-X SATA ZCR (Prowler)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0296", + "device_name": "Adaptec: AAC-RAID: ASR-2240S", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0297", + "device_name": "Adaptec: AAC-RAID: ASR-4005SAS", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0298", + "device_name": "Adaptec: AAC-RAID: ASR-4000", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x0299", + "device_name": "Adaptec: AAC-RAID: ASR-4800SAS", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x029a", + "device_name": "Adaptec: AAC-RAID: 4805SAS", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x02a4", + "device_name": "Adaptec: AAC-RAID: ICP ICP9085LI", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0285:0x9005:0x02a5", + "device_name": "Adaptec: AAC-RAID: ICP ICP5085BR", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286", + "device_name": "Adaptec: AAC-RAID (Rocket)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x1014:0x9540", + "device_name": "Adaptec: AAC-RAID (Rocket): ServeRAID 8k/8k-l4", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x1014:0x9580", + "device_name": "Adaptec: AAC-RAID (Rocket): ServeRAID 8k/8k-l8", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x028c", + "device_name": "Adaptec: AAC-RAID (Rocket): ASR-2230S + ASR-2230SLP PCI-X (Lancer)", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x028d", + "device_name": "Adaptec: AAC-RAID (Rocket): ASR-2130S", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x029b", + "device_name": "Adaptec: AAC-RAID (Rocket): ASR-2820SA", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x029c", + "device_name": "Adaptec: AAC-RAID (Rocket): ASR-2620SA", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x029d", + "device_name": "Adaptec: AAC-RAID (Rocket): ASR-2420SA", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x029e", + "device_name": "Adaptec: AAC-RAID (Rocket): ICP ICP9024R0", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x029f", + "device_name": "Adaptec: AAC-RAID (Rocket): ICP ICP9014R0", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x02a0", + "device_name": "Adaptec: AAC-RAID (Rocket): ICP ICP9047MA", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x02a1", + "device_name": "Adaptec: AAC-RAID (Rocket): ICP ICP9087MA", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x02a2", + "device_name": "Adaptec: AAC-RAID (Rocket): 3800", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x02a3", + "device_name": "Adaptec: AAC-RAID (Rocket): ICP ICP5445AU", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x02a6", + "device_name": "Adaptec: AAC-RAID (Rocket): ICP9067MA", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0286:0x9005:0x0800", + "device_name": "Adaptec: AAC-RAID (Rocket): Callisto", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0287:0x9005:0x0800", + "device_name": "", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x9005:0x0288", + "device_name": "", + "device_type": "pci", + "driver_name": "aacraid", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "acard-ahci", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "aic79xx", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "aoe", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "arcmsr", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x0222", + "device_name": "Emulex Corporation: BladeEngine3 10Gb Gen2 PCIe iSCSI Adapter", + "device_type": "pci", + "driver_name": "be2iscsi", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x0712", + "device_name": "Emulex Corporation: OneConnect 10Gb iSCSI Initiator (be3)", + "device_type": "pci", + "driver_name": "be2iscsi", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x212", + "device_name": "", + "device_type": "pci", + "driver_name": "be2iscsi", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x702", + "device_name": "", + "device_type": "pci", + "driver_name": "be2iscsi", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x703", + "device_name": "", + "device_type": "pci", + "driver_name": "be2iscsi", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x0700", + "device_name": "Emulex Corporation: OneConnect OCe10100/OCe10102 Series 10 GbE", + "device_type": "pci", + "driver_name": "be2net", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x0211", + "device_name": "Emulex Corporation: BladeEngine2 10Gb Gen2 PCIe Network Adapter", + "device_type": "pci", + "driver_name": "be2net", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x0710", + "device_name": "Emulex Corporation: OneConnect 10Gb NIC (be3)", + "device_type": "pci", + "driver_name": "be2net", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x0221", + "device_name": "Emulex Corporation: BladeEngine3 10Gb Gen2 PCIe Network Adapter", + "device_type": "pci", + "driver_name": "be2net", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "bfa", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "", + "device_name": "QLogic BCM5706/5708/5709/5716 Driver", + "device_type": "pci", + "driver_name": "bnx2", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "carl9170", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "cxgb3", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "cxgb3i", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "Intel(R) PRO/1000 Network Driver", + "device_type": "pci", + "driver_name": "e1000", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "dl2k", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "dlci", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "dnet", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "ethoc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "floppy", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.5", + "device_id": "", + "device_name": "Driver for HP Smart Array Controller", + "device_type": "pci", + "driver_name": "hpsa", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "hptiop", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "initio", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "isci", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "iw_cxgb3", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "iwl3945", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "iwl4965", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "libosd", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "liquidio", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "liquidio_vf", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0x1ae5", + "device_name": "Emulex Corporation: LP6000 Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xe100", + "device_name": "Emulex Corporation: Proteus-X: LightPulse IOV Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xe131", + "device_name": "Emulex Corporation: LightPulse 8Gb/s PCIe Shared I/O Fibre Channel Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xe180", + "device_name": "Emulex Corporation: Proteus-X: LightPulse IOV Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xe260", + "device_name": "Emulex Corporation: OneConnect FCoE Initiator (Lancer)", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf095", + "device_name": "Emulex Corporation: LP952 Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf098", + "device_name": "Emulex Corporation: LP982 Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0a1", + "device_name": "Emulex Corporation: Thor LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0a5", + "device_name": "Emulex Corporation: Thor LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0d1", + "device_name": "Emulex Corporation: Helios LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0d5", + "device_name": "Emulex Corporation: Helios LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0e1", + "device_name": "Emulex Corporation: Zephyr LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0e5", + "device_name": "Emulex Corporation: Zephyr LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0f5", + "device_name": "Emulex Corporation: Neptune LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0f6", + "device_name": "", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf0f7", + "device_name": "", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf180", + "device_name": "Emulex Corporation: LPSe12002 EmulexSecure Fibre Channel Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf700", + "device_name": "Emulex Corporation: LP7000 Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf800", + "device_name": "Emulex Corporation: LP8000 Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf900", + "device_name": "Emulex Corporation: LP9000 Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xf980", + "device_name": "Emulex Corporation: LP9802 Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfa00", + "device_name": "Emulex Corporation: Thor-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfb00", + "device_name": "Emulex Corporation: Viper LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfc00", + "device_name": "Emulex Corporation: Thor-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfc10", + "device_name": "Emulex Corporation: Helios-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfc20", + "device_name": "Emulex Corporation: Zephyr-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfc50", + "device_name": "Emulex Corporation: Proteus-X: LightPulse IOV Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfd00", + "device_name": "Emulex Corporation: Helios-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfd11", + "device_name": "Emulex Corporation: Helios-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfd12", + "device_name": "Emulex Corporation: Helios-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfe00", + "device_name": "Emulex Corporation: Zephyr-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfe05", + "device_name": "Emulex Corporation: Zephyr-X: LightPulse FCoE Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfe11", + "device_name": "Emulex Corporation: Zephyr-X LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x10df:0xfe12", + "device_name": "Emulex Corporation: Zephyr-X LightPulse FCoE Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x0704", + "device_name": "Emulex Corporation: OneConnect OCe10100/OCe10102 Series 10 GbE CNA", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x19a2:0x0714", + "device_name": "Emulex Corporation: OneConnect 10Gb FCoE Initiator (be3)", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x10df:0x0724", + "device_name": "Emulex Corporation: OneConnect FCoE Initiator (Skyhawk)", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x10df:0xe200", + "device_name": "Emulex Corporation: LPe15000/LPe16000 Series 8Gb/16Gb Fibre Channel Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x10df:0xe220", + "device_name": "Emulex Corporation: OneConnect NIC (Lancer)", + "device_type": "pci", + "driver_name": "be2net", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x10df:0xf011", + "device_name": "Emulex Corporation: Saturn: LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x10df:0xf015", + "device_name": "Emulex Corporation: Saturn: LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x10df:0xf100", + "device_name": "Emulex Corporation: LPe12000 Series 8Gb Fibre Channel Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x10df:0xfc40", + "device_name": "Emulex Corporation: Saturn-X: LightPulse Fibre Channel Host Adapter", + "device_type": "pci", + "driver_name": "lpfc", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x005b", + "device_name": "Broadcom / LSI: MegaRAID SAS 2208 [Thunderbolt]", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0060", + "device_name": "Broadcom / LSI: MegaRAID SAS 1078", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0071", + "device_name": "Broadcom / LSI: MR SAS HBA 2004", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0073", + "device_name": "Broadcom / LSI: MegaRAID SAS 2008 [Falcon]", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0078", + "device_name": "", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0079", + "device_name": "Broadcom / LSI: MegaRAID SAS 2108 [Liberator]", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x007C", + "device_name": "Broadcom / LSI: MegaRAID SAS 1078DE", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0411", + "device_name": "Broadcom / LSI: MegaRAID SAS 1068", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0413", + "device_name": "Broadcom / LSI: MegaRAID SAS 1068 [Verde ZCR]", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1028:0x0015", + "device_name": "Dell: PowerEdge Expandable RAID controller 5", + "device_type": "pci", + "driver_name": "megaraid_sas", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0064", + "device_name": "Broadcom / LSI: SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]", + "device_type": "pci", + "driver_name": "mpt2sas (mpt3sas)", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0065", + "device_name": "Broadcom / LSI: SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]", + "device_type": "pci", + "driver_name": "mpt2sas (mpt3sas)", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0070", + "device_name": "Broadcom / LSI: SAS2004 PCI-Express Fusion-MPT SAS-2 [Spitfire]", + "device_type": "pci", + "driver_name": "mpt2sas (mpt3sas)", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0072", + "device_name": "Broadcom / LSI: SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]", + "device_type": "pci", + "driver_name": "mpt2sas (mpt3sas)", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0074", + "device_name": "Broadcom / LSI: SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]", + "device_type": "pci", + "driver_name": "mpt2sas (mpt3sas)", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0076", + "device_name": "Broadcom / LSI: SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]", + "device_type": "pci", + "driver_name": "mpt2sas (mpt3sas)", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x0077", + "device_name": "Broadcom / LSI: SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator]", + "device_type": "pci", + "driver_name": "mpt2sas (mpt3sas)", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1000:0x007E", + "device_name": "Broadcom / LSI: SSS6200 PCI-Express Flash SSD", + "device_type": "pci", + "driver_name": "mpt2sas (mpt3sas)", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x006E", + "device_name": "Broadcom / LSI: SAS2308 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x0080", + "device_name": "Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x0081", + "device_name": "Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x0082", + "device_name": "Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x0083", + "device_name": "Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x0084", + "device_name": "Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x0085", + "device_name": "Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x0086", + "device_name": "Broadcom / LSI: SAS2308 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1000:0x0087", + "device_name": "Broadcom / LSI: SAS2308 PCI-Express Fusion-MPT SAS-2", + "device_type": "pci", + "driver_name": "mpt3sas", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "Fusion MPT base driver", + "device_type": "pci", + "driver_name": "mptbase", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "mptctl", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "mptsas", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "Fusion MPT SCSI Host driver", + "device_type": "pci", + "driver_name": "mptscsih", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "Fusion MPT SPI Host driver", + "device_type": "pci", + "driver_name": "mptspi", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "mthca", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "mtip32xx", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "mvsas", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "mvumi", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "mwl8k", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "", + "device_name": "Myricom 10G driver (10GbE)", + "device_type": "pci", + "driver_name": "myri10ge", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "", + "device_name": "QLogic/NetXen (1/10) GbE Intelligent Ethernet Driver", + "device_type": "pci", + "driver_name": "netxen_nic", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "osd", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "osst", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_acpi", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_ali", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_amd", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_arasan_cf", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_artop", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_atiixp", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_atp867x", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_cmd64x", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_cs5536", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_hpt366", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_hpt37x", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_hpt3x2n", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_hpt3x3", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_it8213", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_it821x", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_jmicron", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_marvell", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_netcell", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_ninja32", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_oldpiix", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_pdc2027x", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_pdc202xx_old", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_piccolo", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_rdc", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_sch", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_serverworks", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_sil680", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_sis", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pata_via", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pdc_adma", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pm80xx(pm8001)", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "pmcraid", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1077:0x2031", + "device_name": "QLogic Corp.: ISP8324-based 16Gb Fibre Channel to PCI Express Adapter", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x2422", + "device_name": "QLogic Corp.: ISP2422-based 4Gb Fibre Channel to PCI-X HBA", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x2432", + "device_name": "QLogic Corp.: ISP2432-based 4Gb Fibre Channel to PCI Express HBA", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1077:0x2532", + "device_name": "QLogic Corp.: ISP2532-based 8Gb Fibre Channel to PCI Express HBA", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x5422", + "device_name": "", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x5432", + "device_name": "QLogic Corp.: SP232-based 4Gb Fibre Channel to PCI Express HBA", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x8001", + "device_name": "QLogic Corp.: 10GbE Converged Network Adapter (FCoE)", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x8021", + "device_name": "QLogic Corp.: 8200 Series 10GbE Converged Network Adapter (FCoE)", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1077:0x8031", + "device_name": "QLogic Corp.: 8300 Series 10GbE Converged Network Adapter (FCoE)", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x8044", + "device_name": "", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x8432", + "device_name": "QLogic Corp.: ISP2432M-based 10GbE Converged Network Adapter (CNA)", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0xF000", + "device_name": "", + "device_type": "pci", + "driver_name": "qla2xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "QLogic ISP3XXX Network Driver", + "device_type": "pci", + "driver_name": "qla3xxx", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x8022", + "device_name": "QLogic Corp.: 8200 Series 10GbE Converged Network Adapter (iSCSI)", + "device_type": "pci", + "driver_name": "qla4xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x8032", + "device_name": "QLogic Corp.: 8300 Series 10GbE Converged Network Adapter (iSCSI)", + "device_type": "pci", + "driver_name": "qla4xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "0x1077:0x8042", + "device_name": "", + "device_type": "pci", + "driver_name": "qla4xxx", + "maintained_in_rhel": [ + 7 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "qlcnic", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "qlge", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "rt61pci", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "rt73usb", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "rtl8187", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_mv", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_nv", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_promise", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_qstor", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_sil", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_sil24", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_sis", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_svw", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_sx4", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_uli", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_via", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sata_vsc", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1924:0x0803", + "device_name": "Solarflare Communications: SFC9020 10G Ethernet Controller", + "device_type": "pci", + "driver_name": "sfc", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7, + 8, + 9 + ], + "deprecation_announced": "8.4", + "device_id": "0x1924:0x0813", + "device_name": "Solarflare Communications: SFL9021 10GBASE-T Ethernet Controller", + "device_type": "pci", + "driver_name": "sfc", + "maintained_in_rhel": [ + 7, + 8 + ] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "stex", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "sx8", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "tulip", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "ufshcd", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 7 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "", + "device_type": "pci", + "driver_name": "wil6210", + "maintained_in_rhel": [] + }, + { + "available_in_rhel": [ + 8 + ], + "deprecation_announced": "", + "device_id": "", + "device_name": "HNS GE/10GE/25GE/50GE/100GE RDMA Network Controller", + "device_type": "pci", + "driver_name": "hns_roce", + "maintained_in_rhel": [ + 8 + ] + } + ] +} diff --git a/etc/leapp/files/pes-events.json b/etc/leapp/files/pes-events.json new file mode 100644 index 0000000..18c9956 --- /dev/null +++ b/etc/leapp/files/pes-events.json @@ -0,0 +1,501636 @@ +{ +"packageinfo": [ +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "empathy", +"repository": "rhel7-base" +} +], +"set_id": 12 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 13, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shotwell", +"repository": "rhel7-base" +} +], +"set_id": 17 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-photos", +"repository": "rhel8-AppStream" +} +], +"set_id": 18 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 14, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-documents", +"repository": "rhel7-optional" +} +], +"set_id": 19 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 15, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "espeak", +"repository": "rhel7-optional" +} +], +"set_id": 20 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "espeak-ng", +"repository": "rhel8-AppStream" +} +], +"set_id": 21 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 17, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hostname", +"repository": "rhel8-BaseOS" +} +], +"set_id": 23 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 18, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "net-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 24 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 19, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sendmail", +"repository": "rhel8-AppStream" +} +], +"set_id": 25 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 20, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 26 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 21, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwvstreams", +"repository": "rhel7-optional" +} +], +"set_id": 27 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 22, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wvdial", +"repository": "rhel7-base" +} +], +"set_id": 28 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 23, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ntp", +"repository": "rhel7-base" +} +], +"set_id": 29 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "chrony", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "ntpstat", +"repository": "rhel8-AppStream" +} +], +"set_id": 30 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 24, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rdist", +"repository": "rhel7-base" +} +], +"set_id": 31 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 25, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsh", +"repository": "rhel7-base" +} +], +"set_id": 32 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 26, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "htdig", +"repository": "rhel7-base" +} +], +"set_id": 33 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 27, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mgetty", +"repository": "rhel7-optional" +} +], +"set_id": 34 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 28, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "finger", +"repository": "rhel7-base" +} +], +"set_id": 36 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 29, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libesmtp", +"repository": "rhel7-optional" +} +], +"set_id": 37 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 30, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openobex", +"repository": "rhel7-optional" +} +], +"set_id": 38 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 31, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tclx", +"repository": "rhel7-optional" +} +], +"set_id": 39 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 33, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mkbootdisk", +"repository": "rhel7-base" +} +], +"set_id": 41 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 34, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pm-utils", +"repository": "rhel7-optional" +} +], +"set_id": 42 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 35, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bltk", +"repository": "rhel7-base" +} +], +"set_id": 43 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 36, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "a2ps", +"repository": "rhel7-optional" +} +], +"set_id": 44 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 40, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-fonts", +"repository": "rhel7-base" +} +], +"set_id": 49 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 50 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 47, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "epydoc", +"repository": "rhel7-optional" +} +], +"set_id": 57 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 50, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbi", +"repository": "rhel7-base" +} +], +"set_id": 60 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 51, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbi-drivers", +"repository": "rhel7-base" +} +], +"set_id": 61 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 52, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "MySQL-python", +"repository": "rhel7-base" +} +], +"set_id": 716 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-PyMySQL", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-PyMySQL", +"repository": "rhel8-BaseOS" +} +], +"set_id": 717 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 53, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-cherrypy", +"repository": "rhel7-base" +} +], +"set_id": 63 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 54, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-docs", +"repository": "rhel7-base" +} +], +"set_id": 64 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-docs", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 8069 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 55, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-memcached", +"repository": "rhel7-base" +} +], +"set_id": 65 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 56, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rcs", +"repository": "rhel7-base" +} +], +"set_id": 66 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 57, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rdate", +"repository": "rhel7-base" +} +], +"set_id": 67 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 58, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhdb-utils", +"repository": "rhel7-base" +} +], +"set_id": 68 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 59, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-net-http-persistent", +"repository": "rhel7-base" +} +], +"set_id": 69 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 60, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-thor", +"repository": "rhel7-base" +} +], +"set_id": 70 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 61, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rusers", +"repository": "rhel7-base" +} +], +"set_id": 71 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 62, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rwho", +"repository": "rhel7-base" +} +], +"set_id": 72 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 63, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcl-pgtcl", +"repository": "rhel7-base" +} +], +"set_id": 73 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 64, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-connector-java", +"repository": "rhel7-base" +} +], +"set_id": 74 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-java-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 75 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 65, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-connector-odbc", +"repository": "rhel7-base" +} +], +"set_id": 76 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-connector-odbc", +"repository": "rhel8-AppStream" +} +], +"set_id": 77 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 66, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PyGreSQL", +"repository": "rhel7-base" +} +], +"set_id": 78 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-psycopg2", +"repository": "rhel8-AppStream" +} +], +"set_id": 79 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 67, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-psycopg2", +"repository": "rhel7-base" +} +], +"set_id": 80 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-psycopg2", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-psycopg2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 81 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 68, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authconfig", +"repository": "rhel7-base" +} +], +"set_id": 82 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authselect-compat", +"repository": "rhel8-BaseOS" +} +], +"set_id": 83 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 69, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam_krb5", +"repository": "rhel7-base" +} +], +"set_id": 84 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 85 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 70, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam_pkcs11", +"repository": "rhel7-base" +} +], +"set_id": 86 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 87 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 71, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-servers", +"repository": "rhel7-base" +} +], +"set_id": 88 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-servers", +"repository": "rhel8-CRB" +} +], +"set_id": 7484 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 72, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-kerberos", +"repository": "rhel7-base" +} +], +"set_id": 89 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gssapi", +"repository": "rhel8-AppStream" +} +], +"set_id": 90 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 73, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-krbV", +"repository": "rhel7-base" +} +], +"set_id": 91 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gssapi", +"repository": "rhel8-AppStream" +} +], +"set_id": 92 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 75, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hesiod", +"repository": "rhel7-base" +} +], +"set_id": 7482 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hesiod", +"repository": "rhel8-AppStream" +} +], +"set_id": 7483 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 76, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_nss", +"repository": "rhel7-base" +} +], +"set_id": 96 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_ssl", +"repository": "rhel8-AppStream" +} +], +"set_id": 97 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 77, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_revocator", +"repository": "rhel7-base" +} +], +"set_id": 98 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 79, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "custodia", +"repository": "rhel8-AppStream" +} +], +"set_id": 100 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 80, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-pam-ldapd", +"repository": "rhel8-AppStream" +} +], +"set_id": 101 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 81, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ypserv", +"repository": "rhel8-AppStream" +} +], +"set_id": 102 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 82, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ypbind", +"repository": "rhel8-AppStream" +} +], +"set_id": 103 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 83, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yp-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 104 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 84, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crypto-utils", +"repository": "rhel7-base" +} +], +"set_id": 105 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 85, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_auth_kerb", +"repository": "rhel7-optional" +} +], +"set_id": 106 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_auth_gssapi", +"repository": "rhel8-AppStream" +} +], +"set_id": 107 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 86, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rtctl", +"repository": "rhel7-rt" +} +], +"set_id": 108 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 88, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hmaccalc", +"repository": "rhel7-base" +} +], +"set_id": 111 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkcapi-hmaccalc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 112 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 89, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnome-keyring", +"repository": "rhel7-optional" +} +], +"set_id": 113 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsecret", +"repository": "rhel8-BaseOS" +} +], +"set_id": 114 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 90, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-static", +"repository": "rhel7-optional" +} +], +"set_id": 3481 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-static", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "libxcrypt-static", +"repository": "rhel8-CRB" +} +], +"set_id": 3482 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 91, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-printer", +"repository": "rhel7-base" +} +], +"set_id": 116 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 93, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infiniband-diags", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "libibmad", +"repository": "rhel7-base" +} +], +"set_id": 118 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infiniband-diags", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9451 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 94, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git-bzr", +"repository": "rhel7-optional" +} +], +"set_id": 120 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 95, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-git", +"repository": "rhel7-optional" +} +], +"set_id": 121 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 96, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-git-el", +"repository": "rhel7-optional" +} +], +"set_id": 122 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 97, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git-hg", +"repository": "rhel7-optional" +} +], +"set_id": 123 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 98, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git-p4", +"repository": "rhel7-optional" +} +], +"set_id": 125 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 99, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git-cvs", +"repository": "rhel7-optional" +} +], +"set_id": 126 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git", +"repository": "rhel7-base" +} +], +"set_id": 127 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "git-core", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "git-core-doc", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "git-subtree", +"repository": "rhel8-AppStream" +} +], +"set_id": 128 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc", +"repository": "rhel7-base" +} +], +"set_id": 129 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "glibc-all-langpacks", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "glibc-locale-source", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "glibc-minimal-langpack", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "libnsl", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "libxcrypt", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "nss_db", +"repository": "rhel8-BaseOS" +} +], +"set_id": 130 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-smbc", +"repository": "rhel7-optional" +} +], +"set_id": 131 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libssh2", +"repository": "rhel7-optional" +} +], +"set_id": 132 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libssh", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "libssh2", +"repository": "rhel8-AppStream" +} +], +"set_id": 133 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-pem", +"repository": "rhel7-base" +} +], +"set_id": 134 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "coolkey", +"repository": "rhel7-base" +} +], +"set_id": 135 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opensc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10048 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dracut-fips", +"repository": "rhel7-base" +} +], +"set_id": 136 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcp_wrappers", +"repository": "rhel7-base" +} +], +"set_id": 137 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-python", +"repository": "rhel7-base" +} +], +"set_id": 138 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-python3", +"repository": "rhel8-AppStream" +} +], +"set_id": 139 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dstat", +"repository": "rhel7-base" +} +], +"set_id": 140 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-system-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 141 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript", +"repository": "rhel7-base" +} +], +"set_id": 148 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libgs", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libijs", +"repository": "rhel8-AppStream" +} +], +"set_id": 149 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-fonts", +"repository": "rhel7-base" +} +], +"set_id": 144 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 145 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "initscripts", +"repository": "rhel7-optional" +} +], +"set_id": 150 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "initscripts", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "netconsole-service", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "network-scripts", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "readonly-root", +"repository": "rhel8-BaseOS" +} +], +"set_id": 151 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "network-scripts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 152 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "GeoIP", +"repository": "rhel7-optional" +} +], +"set_id": 153 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "readline", +"repository": "rhel8-BaseOS" +} +], +"set_id": 155 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scrub", +"repository": "rhel7-base" +} +], +"set_id": 156 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scrub", +"repository": "rhel8-AppStream" +} +], +"set_id": 157 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nspr", +"repository": "rhel7-base" +} +], +"set_id": 158 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nspr", +"repository": "rhel8-AppStream" +} +], +"set_id": 159 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-util", +"repository": "rhel7-base" +} +], +"set_id": 160 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-util", +"repository": "rhel8-AppStream" +} +], +"set_id": 161 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-softokn", +"repository": "rhel7-base" +} +], +"set_id": 162 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-softokn", +"repository": "rhel8-AppStream" +} +], +"set_id": 163 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss", +"repository": "rhel7-base" +} +], +"set_id": 164 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss", +"repository": "rhel8-AppStream" +} +], +"set_id": 165 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-softokn-freebl", +"repository": "rhel7-base" +} +], +"set_id": 166 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-softokn-freebl", +"repository": "rhel8-AppStream" +} +], +"set_id": 167 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-sysinit", +"repository": "rhel7-base" +} +], +"set_id": 168 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-sysinit", +"repository": "rhel8-AppStream" +} +], +"set_id": 169 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-tools", +"repository": "rhel7-base" +} +], +"set_id": 170 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 171 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rh-dotnet21-dotnet", +"repository": "rhel7-dotnet-1" +} +], +"set_id": 172 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 173 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-net-http-persistent-doc", +"repository": "rhel7-optional" +} +], +"set_id": 174 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-thor-doc", +"repository": "rhel7-optional" +} +], +"set_id": 175 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-doc", +"repository": "rhel7-optional" +} +], +"set_id": 176 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5472 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-tcltk", +"repository": "rhel7-optional" +} +], +"set_id": 177 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-did_you_mean", +"repository": "rhel8-AppStream" +} +], +"set_id": 178 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-net-telnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 179 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-openssl", +"repository": "rhel8-AppStream" +} +], +"set_id": 180 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-power_assert", +"repository": "rhel8-AppStream" +} +], +"set_id": 181 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-test-unit", +"repository": "rhel8-AppStream" +} +], +"set_id": 182 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-xmlrpc", +"repository": "rhel8-AppStream" +} +], +"set_id": 183 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-devel", +"repository": "rhel7-optional" +} +], +"set_id": 184 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 185 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-minitest", +"repository": "rhel7-optional" +} +], +"set_id": 186 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-minitest", +"repository": "rhel8-AppStream" +} +], +"set_id": 187 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rake", +"repository": "rhel7-optional" +} +], +"set_id": 188 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rake", +"repository": "rhel8-AppStream" +} +], +"set_id": 189 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygems-devel", +"repository": "rhel7-optional" +} +], +"set_id": 190 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygems-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 191 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby", +"repository": "rhel7-base" +} +], +"set_id": 192 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby", +"repository": "rhel8-AppStream" +} +], +"set_id": 193 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bigdecimal", +"repository": "rhel7-base" +} +], +"set_id": 194 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bigdecimal", +"repository": "rhel8-AppStream" +} +], +"set_id": 195 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-io-console", +"repository": "rhel7-base" +} +], +"set_id": 196 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-io-console", +"repository": "rhel8-AppStream" +} +], +"set_id": 197 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-json", +"repository": "rhel7-base" +} +], +"set_id": 200 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-json", +"repository": "rhel8-AppStream" +} +], +"set_id": 201 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-psych", +"repository": "rhel7-base" +} +], +"set_id": 202 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-psych", +"repository": "rhel8-AppStream" +} +], +"set_id": 203 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rdoc", +"repository": "rhel7-base" +} +], +"set_id": 204 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rdoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 205 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygems", +"repository": "rhel7-base" +} +], +"set_id": 206 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygems", +"repository": "rhel8-AppStream" +} +], +"set_id": 207 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-irb", +"repository": "rhel7-base" +} +], +"set_id": 208 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-irb", +"repository": "rhel8-AppStream" +} +], +"set_id": 209 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-libs", +"repository": "rhel7-base" +} +], +"set_id": 210 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 211 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-abrt-doc", +"repository": "rhel7-optional" +} +], +"set_id": 212 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-abrt-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5471 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-abrt", +"repository": "rhel7-base" +} +], +"set_id": 213 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-abrt", +"repository": "rhel8-AppStream" +} +], +"set_id": 214 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bundler", +"repository": "rhel7-base" +} +], +"set_id": 215 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bundler", +"repository": "rhel8-AppStream" +} +], +"set_id": 216 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bundler-doc", +"repository": "rhel7-optional" +} +], +"set_id": 217 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bundler-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 5474 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 218 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-mongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 219 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-mysql2", +"repository": "rhel8-AppStream" +} +], +"set_id": 220 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-pg", +"repository": "rhel8-AppStream" +} +], +"set_id": 221 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-ng-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 222 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "policycoreutils-python", +"repository": "rhel7-base" +} +], +"set_id": 223 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "policycoreutils-python-utils", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-policycoreutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 224 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libee", +"repository": "rhel7-base" +} +], +"set_id": 226 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog-udpspoof", +"repository": "rhel7-base" +} +], +"set_id": 227 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog", +"repository": "rhel7-base" +} +], +"set_id": 229 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog", +"repository": "rhel8-AppStream" +} +], +"set_id": 230 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbguard", +"repository": "rhel7-base" +} +], +"set_id": 231 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbguard", +"repository": "rhel8-AppStream" +} +], +"set_id": 232 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aide", +"repository": "rhel7-base" +} +], +"set_id": 233 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aide", +"repository": "rhel8-AppStream" +} +], +"set_id": 234 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sudo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 235 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cim-schema", +"repository": "rhel7-base" +} +], +"set_id": 5098 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cim-schema", +"repository": "rhel8-AppStream" +} +], +"set_id": 5099 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "console-setup", +"repository": "rhel7-optional" +} +], +"set_id": 6117 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "expect", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6119 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fetchmail", +"repository": "rhel7-base" +} +], +"set_id": 6124 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fetchmail", +"repository": "rhel8-AppStream" +} +], +"set_id": 6125 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hwdata", +"repository": "rhel8-BaseOS" +} +], +"set_id": 241 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kbd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 242 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "konkretcmpi", +"repository": "rhel7-base" +} +], +"set_id": 243 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m4", +"repository": "rhel8-BaseOS" +} +], +"set_id": 244 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mrtg", +"repository": "rhel7-base" +} +], +"set_id": 245 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mrtg", +"repository": "rhel8-AppStream" +} +], +"set_id": 6126 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-networking", +"repository": "rhel7-base" +} +], +"set_id": 246 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-providers", +"repository": "rhel7-base" +} +], +"set_id": 247 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openslp", +"repository": "rhel7-base" +} +], +"set_id": 248 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openslp", +"repository": "rhel8-AppStream" +} +], +"set_id": 6127 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cim-client2", +"repository": "rhel7-optional" +} +], +"set_id": 250 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-base", +"repository": "rhel7-base" +} +], +"set_id": 251 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 252 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 6137 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-fsvol", +"repository": "rhel7-base" +} +], +"set_id": 253 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-network", +"repository": "rhel7-base" +} +], +"set_id": 254 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-nfsv3", +"repository": "rhel7-base" +} +], +"set_id": 255 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-nfsv4", +"repository": "rhel7-base" +} +], +"set_id": 256 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-params", +"repository": "rhel7-base" +} +], +"set_id": 257 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-sysfs", +"repository": "rhel7-base" +} +], +"set_id": 258 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-syslog", +"repository": "rhel7-base" +} +], +"set_id": 259 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-gather", +"repository": "rhel7-base" +} +], +"set_id": 260 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-indication_helper", +"repository": "rhel7-base" +} +], +"set_id": 261 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-sfcb", +"repository": "rhel7-base" +} +], +"set_id": 262 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-sfcb", +"repository": "rhel8-AppStream" +} +], +"set_id": 6142 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-sfcc", +"repository": "rhel7-base" +} +], +"set_id": 263 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-sfcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6143 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-smis-hba", +"repository": "rhel7-base" +} +], +"set_id": 264 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-testsuite", +"repository": "rhel7-optional" +} +], +"set_id": 265 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-wbemcli", +"repository": "rhel7-base" +} +], +"set_id": 266 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "talk", +"repository": "rhel7-base" +} +], +"set_id": 267 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texinfo", +"repository": "rhel7-base" +} +], +"set_id": 268 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texinfo", +"repository": "rhel8-CRB" +} +], +"set_id": 6147 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tix", +"repository": "rhel7-optional" +} +], +"set_id": 269 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tix", +"repository": "rhel8-CRB" +} +], +"set_id": 6150 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tog-pegasus", +"repository": "rhel7-base" +} +], +"set_id": 270 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tog-pegasus", +"repository": "rhel8-AppStream" +} +], +"set_id": 6153 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wsmancli", +"repository": "rhel7-base" +} +], +"set_id": 271 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wsmancli", +"repository": "rhel8-AppStream" +} +], +"set_id": 6156 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-sfcCommon", +"repository": "rhel8-AppStream" +} +], +"set_id": 272 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreswan", +"repository": "rhel7-base" +} +], +"set_id": 273 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreswan", +"repository": "rhel8-AppStream" +} +], +"set_id": 274 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libselinux-python", +"repository": "rhel7-base" +} +], +"set_id": 275 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libselinux", +"repository": "rhel8-BaseOS" +} +], +"set_id": 276 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsemanage-python", +"repository": "rhel7-base" +} +], +"set_id": 277 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libsemanage", +"repository": "rhel8-BaseOS" +} +], +"set_id": 278 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "policycoreutils-gui", +"repository": "rhel7-base" +} +], +"set_id": 279 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "policycoreutils-dbus", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "policycoreutils-gui", +"repository": "rhel8-AppStream" +} +], +"set_id": 280 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setools-libs", +"repository": "rhel7-base" +} +], +"set_id": 281 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-setools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3866 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setools-libs-tcl", +"repository": "rhel7-base" +} +], +"set_id": 282 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setools-gui", +"repository": "rhel7-base" +} +], +"set_id": 7535 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xguest", +"repository": "rhel7-base" +} +], +"set_id": 284 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "selinux-policy-devel", +"repository": "rhel7-base" +} +], +"set_id": 286 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "selinux-policy-devel", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "selinux-policy-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 287 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-utils", +"repository": "rhel7-base" +} +], +"set_id": 291 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 5539 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-scanner", +"repository": "rhel7-base" +} +], +"set_id": 292 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-scanner", +"repository": "rhel8-AppStream" +} +], +"set_id": 5540 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-devel", +"repository": "rhel7-optional" +} +], +"set_id": 293 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5541 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "openscap-extra-probes", +"repository": "rhel7-base" +} +], +"set_id": 294 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap", +"repository": "rhel8-AppStream" +} +], +"set_id": 301 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scap-workbench", +"repository": "rhel7-base" +} +], +"set_id": 295 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scap-workbench", +"repository": "rhel8-AppStream" +} +], +"set_id": 5542 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scap-security-guide", +"repository": "rhel7-base" +} +], +"set_id": 296 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scap-security-guide", +"repository": "rhel8-AppStream" +} +], +"set_id": 5543 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scap-security-guide-doc", +"repository": "rhel7-base" +} +], +"set_id": 297 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scap-security-guide-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 5544 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-engine-sce", +"repository": "rhel7-base" +} +], +"set_id": 299 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-engine-sce", +"repository": "rhel8-AppStream" +} +], +"set_id": 5546 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-engine-sce-devel", +"repository": "rhel7-optional" +} +], +"set_id": 10177 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-engine-sce-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10178 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sysvinit-tools", +"repository": "rhel7-base" +} +], +"set_id": 302 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "procps-ng", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "util-linux", +"repository": "rhel8-BaseOS" +} +], +"set_id": 303 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-php-mode", +"repository": "rhel7-base" +} +], +"set_id": 304 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-date", +"repository": "rhel7-base" +} +], +"set_id": 305 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-date-docs", +"repository": "rhel7-base" +} +], +"set_id": 306 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-keyboard", +"repository": "rhel7-base" +} +], +"set_id": 307 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xferstats", +"repository": "rhel7-base" +} +], +"set_id": 308 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LDAP", +"repository": "rhel7-base" +} +], +"set_id": 309 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-cpio", +"repository": "rhel7-base" +} +], +"set_id": 310 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cpio", +"repository": "rhel8-BaseOS" +} +], +"set_id": 311 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-mysql2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 313 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-pg-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 314 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bson-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 315 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-mongo-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 316 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "strace", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "strace32", +"repository": "rhel7-base" +} +], +"set_id": 317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "strace", +"repository": "rhel8-BaseOS" +} +], +"set_id": 318 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjpeg", +"repository": "rhel7-base" +} +], +"set_id": 319 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjpeg2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 320 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspell-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 321 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnsl2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 322 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "galera", +"repository": "rhel8-AppStream" +} +], +"set_id": 323 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Judy", +"repository": "rhel8-AppStream" +} +], +"set_id": 325 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libatomic_ops", +"repository": "rhel8-AppStream" +} +], +"set_id": 326 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstemmer", +"repository": "rhel8-AppStream" +} +], +"set_id": 327 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "CUnit", +"repository": "rhel8-AppStream" +} +], +"set_id": 328 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 329 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspell", +"repository": "rhel7-optional" +} +], +"set_id": 330 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspell", +"repository": "rhel8-AppStream" +} +], +"set_id": 331 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autoconf", +"repository": "rhel7-base" +} +], +"set_id": 332 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autoconf", +"repository": "rhel8-AppStream" +} +], +"set_id": 333 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-overrides", +"repository": "rhel7-base" +} +], +"set_id": 334 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-overrides", +"repository": "rhel8-AppStream" +} +], +"set_id": 7509 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspell-devel", +"repository": "rhel7-optional" +} +], +"set_id": 335 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspell-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7510 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-backports", +"repository": "rhel7-base" +} +], +"set_id": 336 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-backports", +"repository": "rhel8-AppStream" +} +], +"set_id": 337 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyparsing", +"repository": "rhel7-base" +} +], +"set_id": 338 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyparsing", +"repository": "rhel8-BaseOS" +} +], +"set_id": 339 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdbm", +"repository": "rhel7-base" +} +], +"set_id": 340 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdbm", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "gdbm-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 341 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuv-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 342 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzip-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 343 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-db-cron", +"repository": "rhel8-BaseOS" +} +], +"set_id": 344 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-backup", +"repository": "rhel8-AppStream" +} +], +"set_id": 345 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 346 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-connector-c-config", +"repository": "rhel8-AppStream" +} +], +"set_id": 348 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-errmsg", +"repository": "rhel8-AppStream" +} +], +"set_id": 351 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-gssapi-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 352 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-oqgraph-engine", +"repository": "rhel8-AppStream" +} +], +"set_id": 353 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-server-galera", +"repository": "rhel8-AppStream" +} +], +"set_id": 354 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mecab", +"repository": "rhel8-AppStream" +} +], +"set_id": 355 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mecab-ipadic", +"repository": "rhel8-AppStream" +} +], +"set_id": 356 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mecab-ipadic-EUCJP", +"repository": "rhel8-AppStream" +} +], +"set_id": 357 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "multilib-rpm-config", +"repository": "rhel8-AppStream" +} +], +"set_id": 367 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql", +"repository": "rhel8-AppStream" +} +], +"set_id": 368 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 369 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 370 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-errmsg", +"repository": "rhel8-AppStream" +} +], +"set_id": 371 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 372 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 373 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 374 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs", +"repository": "rhel8-AppStream" +} +], +"set_id": 375 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 376 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 377 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs-packaging", +"repository": "rhel8-AppStream" +} +], +"set_id": 378 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "npm", +"repository": "rhel8-AppStream" +} +], +"set_id": 379 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_nis", +"repository": "rhel8-BaseOS" +} +], +"set_id": 380 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ongres-scram", +"repository": "rhel8-AppStream" +} +], +"set_id": 381 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ongres-scram-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 382 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas", +"repository": "rhel8-AppStream" +} +], +"set_id": 383 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-srpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 384 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-threads", +"repository": "rhel8-AppStream" +} +], +"set_id": 385 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjpeg2-devel-docs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 387 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjpeg2-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 388 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-odbc-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 389 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-server-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 390 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-test-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 391 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-upgrade-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 392 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pymongo-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 398 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 399 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sqlalchemy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 401 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-srpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 402 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-virtualenv-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 405 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2", +"repository": "rhel8-AppStream" +} +], +"set_id": 408 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sqlite-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 409 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "automake", +"repository": "rhel7-base" +} +], +"set_id": 411 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "automake", +"repository": "rhel8-AppStream" +} +], +"set_id": 412 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsdtar", +"repository": "rhel7-optional" +} +], +"set_id": 413 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsdtar", +"repository": "rhel8-BaseOS" +} +], +"set_id": 414 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exempi", +"repository": "rhel7-base" +} +], +"set_id": 415 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exempi", +"repository": "rhel8-AppStream" +} +], +"set_id": 416 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gc", +"repository": "rhel7-base" +} +], +"set_id": 417 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gc", +"repository": "rhel8-AppStream" +} +], +"set_id": 418 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gd", +"repository": "rhel7-base" +} +], +"set_id": 419 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gd", +"repository": "rhel8-AppStream" +} +], +"set_id": 420 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gd-devel", +"repository": "rhel7-optional" +} +], +"set_id": 421 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gd-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 422 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ar", +"repository": "rhel7-base" +} +], +"set_id": 423 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ar", +"repository": "rhel8-AppStream" +} +], +"set_id": 424 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lemon", +"repository": "rhel7-optional" +} +], +"set_id": 425 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lemon", +"repository": "rhel8-AppStream" +} +], +"set_id": 426 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcgroup-pam", +"repository": "rhel7-optional" +} +], +"set_id": 427 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcgroup-pam", +"repository": "rhel8-BaseOS" +} +], +"set_id": 428 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-devel", +"repository": "rhel7-base" +} +], +"set_id": 429 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 430 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libjpeg-turbo-utils", +"repository": "rhel7-optional" +} +], +"set_id": 431 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libjpeg-turbo-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 432 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmng", +"repository": "rhel7-base" +} +], +"set_id": 433 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmng", +"repository": "rhel8-AppStream" +} +], +"set_id": 434 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmng-devel", +"repository": "rhel7-base" +} +], +"set_id": 435 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmng-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 436 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libotf", +"repository": "rhel7-base" +} +], +"set_id": 437 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libotf", +"repository": "rhel8-AppStream" +} +], +"set_id": 438 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtiff-devel", +"repository": "rhel7-base" +} +], +"set_id": 439 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtiff-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 440 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtool", +"repository": "rhel7-base" +} +], +"set_id": 441 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtool", +"repository": "rhel8-AppStream" +} +], +"set_id": 442 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtool-ltdl-devel", +"repository": "rhel7-base" +} +], +"set_id": 443 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtool-ltdl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 444 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzip", +"repository": "rhel7-base" +} +], +"set_id": 445 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzip", +"repository": "rhel8-AppStream" +} +], +"set_id": 446 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzip-devel", +"repository": "rhel7-optional" +} +], +"set_id": 447 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzip-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 448 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb", +"repository": "rhel7-base" +} +], +"set_id": 449 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb", +"repository": "rhel8-AppStream" +} +], +"set_id": 450 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-devel", +"repository": "rhel7-base" +} +], +"set_id": 451 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-connector-c-devel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "mariadb-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 452 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-embedded", +"repository": "rhel7-optional" +} +], +"set_id": 453 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-embedded", +"repository": "rhel8-AppStream" +} +], +"set_id": 454 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-embedded-devel", +"repository": "rhel7-optional" +} +], +"set_id": 455 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-embedded-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 456 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-server", +"repository": "rhel7-base" +} +], +"set_id": 457 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-server", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "mariadb-server-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 458 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-test", +"repository": "rhel7-base" +} +], +"set_id": 459 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 460 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mutt", +"repository": "rhel7-base" +} +], +"set_id": 461 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mutt", +"repository": "rhel8-AppStream" +} +], +"set_id": 462 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncompress", +"repository": "rhel7-base" +} +], +"set_id": 463 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncompress", +"repository": "rhel8-AppStream" +} +], +"set_id": 464 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql", +"repository": "rhel7-base" +} +], +"set_id": 465 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql", +"repository": "rhel8-AppStream" +} +], +"set_id": 466 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-contrib", +"repository": "rhel7-base" +} +], +"set_id": 467 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-contrib", +"repository": "rhel8-AppStream" +} +], +"set_id": 468 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-docs", +"repository": "rhel7-base" +} +], +"set_id": 469 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 470 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-jdbc", +"repository": "rhel7-base" +} +], +"set_id": 471 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-jdbc", +"repository": "rhel8-AppStream" +} +], +"set_id": 472 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-jdbc-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 473 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-jdbc-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 474 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-odbc", +"repository": "rhel7-base" +} +], +"set_id": 475 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-odbc", +"repository": "rhel8-AppStream" +} +], +"set_id": 476 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-plperl", +"repository": "rhel7-base" +} +], +"set_id": 477 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-plperl", +"repository": "rhel8-AppStream" +} +], +"set_id": 478 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-pltcl", +"repository": "rhel7-base" +} +], +"set_id": 479 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-pltcl", +"repository": "rhel8-AppStream" +} +], +"set_id": 480 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-server", +"repository": "rhel7-base" +} +], +"set_id": 481 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 482 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-static", +"repository": "rhel7-optional" +} +], +"set_id": 483 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 484 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-test", +"repository": "rhel7-base" +} +], +"set_id": 485 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 486 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-upgrade", +"repository": "rhel7-optional" +} +], +"set_id": 487 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-upgrade", +"repository": "rhel8-AppStream" +} +], +"set_id": 488 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-nose-docs", +"repository": "rhel7-optional" +} +], +"set_id": 489 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-nose-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 490 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-psycopg2-doc", +"repository": "rhel7-optional" +} +], +"set_id": 491 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-psycopg2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 492 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-attrs", +"repository": "rhel8-AppStream" +} +], +"set_id": 493 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 494 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 495 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-funcsigs", +"repository": "rhel8-AppStream" +} +], +"set_id": 496 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-mock", +"repository": "rhel8-AppStream" +} +], +"set_id": 497 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pip", +"repository": "rhel8-AppStream" +} +], +"set_id": 498 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pluggy", +"repository": "rhel8-AppStream" +} +], +"set_id": 499 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-psycopg2-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 500 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pymongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 501 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pymongo-gridfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 502 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pysocks", +"repository": "rhel8-AppStream" +} +], +"set_id": 503 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pytest-mock", +"repository": "rhel8-AppStream" +} +], +"set_id": 504 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 505 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-setuptools_scm", +"repository": "rhel8-AppStream" +} +], +"set_id": 506 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-wheel", +"repository": "rhel8-AppStream" +} +], +"set_id": 507 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-attrs", +"repository": "rhel8-AppStream" +} +], +"set_id": 508 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 509 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-click", +"repository": "rhel8-AppStream" +} +], +"set_id": 510 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-enchant", +"repository": "rhel8-AppStream" +} +], +"set_id": 511 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-idle", +"repository": "rhel8-AppStream" +} +], +"set_id": 512 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pip", +"repository": "rhel8-BaseOS" +} +], +"set_id": 513 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pluggy", +"repository": "rhel8-AppStream" +} +], +"set_id": 514 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pymongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 516 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pymongo-gridfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 517 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pysocks", +"repository": "rhel8-BaseOS" +} +], +"set_id": 518 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rpm-generators", +"repository": "rhel8-AppStream" +} +], +"set_id": 519 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 520 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-semantic_version", +"repository": "rhel8-AppStream" +} +], +"set_id": 521 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-python", +"repository": "rhel7-base" +} +], +"set_id": 523 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-systemd", +"repository": "rhel8-AppStream" +} +], +"set_id": 9140 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-wheel", +"repository": "rhel8-AppStream" +} +], +"set_id": 524 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python36-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 528 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spax", +"repository": "rhel7-base" +} +], +"set_id": 529 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spax", +"repository": "rhel8-BaseOS" +} +], +"set_id": 530 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tokyocabinet", +"repository": "rhel7-base" +} +], +"set_id": 531 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tokyocabinet", +"repository": "rhel8-AppStream" +} +], +"set_id": 532 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unixODBC-devel", +"repository": "rhel7-base" +} +], +"set_id": 533 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unixODBC-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 534 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-btrfs", +"repository": "rhel7-optional" +} +], +"set_id": 541 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstoragemgmt-targetd-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 542 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sqlite-doc", +"repository": "rhel7-optional" +} +], +"set_id": 545 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sqlite-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 546 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "turbojpeg", +"repository": "rhel7-optional" +} +], +"set_id": 547 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "turbojpeg", +"repository": "rhel8-BaseOS" +} +], +"set_id": 548 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-db-headers", +"repository": "rhel7-base" +} +], +"set_id": 549 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-db47", +"repository": "rhel7-base" +} +], +"set_id": 550 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libtiff3", +"repository": "rhel7-base" +} +], +"set_id": 551 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejagnu", +"repository": "rhel7-base" +} +], +"set_id": 552 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejagnu", +"repository": "rhel8-CRB" +} +], +"set_id": 5475 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-he", +"repository": "rhel7-base" +} +], +"set_id": 553 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-he", +"repository": "rhel8-AppStream" +} +], +"set_id": 7503 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-cxx", +"repository": "rhel7-base" +} +], +"set_id": 554 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-cxx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5331 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbi-dbd-mysql", +"repository": "rhel7-base" +} +], +"set_id": 556 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbi-dbd-pgsql", +"repository": "rhel7-base" +} +], +"set_id": 557 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpng12", +"repository": "rhel7-base" +} +], +"set_id": 559 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpng12", +"repository": "rhel8-AppStream" +} +], +"set_id": 7516 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-libs", +"repository": "rhel7-optional" +} +], +"set_id": 560 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-connector-c", +"repository": "rhel8-AppStream" +} +], +"set_id": 561 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-bench", +"repository": "rhel7-base" +} +], +"set_id": 564 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjpeg-libs", +"repository": "rhel7-base" +} +], +"set_id": 565 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pax", +"repository": "rhel7-base" +} +], +"set_id": 566 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-beaker", +"repository": "rhel7-base" +} +], +"set_id": 568 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-ipaddr", +"repository": "rhel7-base" +} +], +"set_id": 571 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-paste", +"repository": "rhel7-base" +} +], +"set_id": 573 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-slip-dbus", +"repository": "rhel7-base" +} +], +"set_id": 574 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-slip-dbus", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5567 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-tempita", +"repository": "rhel7-base" +} +], +"set_id": 576 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rusers-server", +"repository": "rhel7-base" +} +], +"set_id": 581 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "star", +"repository": "rhel8-BaseOS" +} +], +"set_id": 583 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-configobj", +"repository": "rhel7-base" +} +], +"set_id": 710 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-configobj", +"repository": "rhel8-BaseOS" +} +], +"set_id": 711 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "at-sysvinit", +"repository": "rhel7-optional" +} +], +"set_id": 587 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autoconf213", +"repository": "rhel7-optional" +} +], +"set_id": 588 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autoconf213", +"repository": "rhel8-CRB" +} +], +"set_id": 5416 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsdcpio", +"repository": "rhel7-optional" +} +], +"set_id": 589 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-db", +"repository": "rhel7-optional" +} +], +"set_id": 590 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cvsps", +"repository": "rhel7-optional" +} +], +"set_id": 591 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Cython", +"repository": "rhel7-optional" +} +], +"set_id": 592 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-Cython", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-Cython", +"repository": "rhel8-AppStream" +} +], +"set_id": 3814 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dblatex", +"repository": "rhel7-optional" +} +], +"set_id": 593 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dblatex", +"repository": "rhel8-CRB" +} +], +"set_id": 7511 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exempi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 594 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exempi-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7512 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 595 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gc-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5333 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gd-progs", +"repository": "rhel7-optional" +} +], +"set_id": 596 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groff", +"repository": "rhel7-optional" +} +], +"set_id": 597 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groff", +"repository": "rhel8-CRB" +} +], +"set_id": 7513 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groff-doc", +"repository": "rhel7-optional" +} +], +"set_id": 598 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groff-perl", +"repository": "rhel7-optional" +} +], +"set_id": 599 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groff-x11", +"repository": "rhel7-optional" +} +], +"set_id": 600 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hspell", +"repository": "rhel7-optional" +} +], +"set_id": 601 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hspell", +"repository": "rhel8-AppStream" +} +], +"set_id": 7502 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hspell-devel", +"repository": "rhel7-optional" +} +], +"set_id": 602 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libarchive-devel", +"repository": "rhel7-optional" +} +], +"set_id": 603 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libarchive-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5335 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libatomic_ops-devel", +"repository": "rhel7-optional" +} +], +"set_id": 604 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libatomic_ops-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5336 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcgroup-devel", +"repository": "rhel7-optional" +} +], +"set_id": 605 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libconfig-devel", +"repository": "rhel7-optional" +} +], +"set_id": 606 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libconfig-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5337 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-cxx-devel", +"repository": "rhel7-optional" +} +], +"set_id": 607 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-cxx-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5338 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-devel-doc", +"repository": "rhel7-optional" +} +], +"set_id": 608 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-devel-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5339 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-devel-static", +"repository": "rhel7-optional" +} +], +"set_id": 609 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-java", +"repository": "rhel7-optional" +} +], +"set_id": 610 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-java-devel", +"repository": "rhel7-optional" +} +], +"set_id": 611 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-sql", +"repository": "rhel7-optional" +} +], +"set_id": 612 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-sql", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5343 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-sql-devel", +"repository": "rhel7-optional" +} +], +"set_id": 613 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-sql-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5344 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-tcl", +"repository": "rhel7-optional" +} +], +"set_id": 614 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-tcl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 615 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbi-dbd-sqlite", +"repository": "rhel7-optional" +} +], +"set_id": 616 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 617 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libjpeg-turbo-static", +"repository": "rhel7-optional" +} +], +"set_id": 618 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libotf-devel", +"repository": "rhel7-optional" +} +], +"set_id": 619 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpipeline-devel", +"repository": "rhel7-optional" +} +], +"set_id": 620 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpng-static", +"repository": "rhel7-optional" +} +], +"set_id": 621 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpng12-devel", +"repository": "rhel7-optional" +} +], +"set_id": 622 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtiff-static", +"repository": "rhel7-optional" +} +], +"set_id": 623 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtiff-tools", +"repository": "rhel7-optional" +} +], +"set_id": 624 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtiff-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 7514 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "minizip", +"repository": "rhel7-optional" +} +], +"set_id": 625 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "minizip-devel", +"repository": "rhel7-optional" +} +], +"set_id": 626 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjpeg-devel", +"repository": "rhel7-optional" +} +], +"set_id": 628 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjpeg2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9694 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyparsing-doc", +"repository": "rhel7-optional" +} +], +"set_id": 629 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-dtopt", +"repository": "rhel7-optional" +} +], +"set_id": 630 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-fpconst", +"repository": "rhel7-optional" +} +], +"set_id": 631 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-mutagen", +"repository": "rhel7-optional" +} +], +"set_id": 632 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pillow-devel", +"repository": "rhel7-optional" +} +], +"set_id": 633 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pillow-doc", +"repository": "rhel7-optional" +} +], +"set_id": 634 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pillow-qt", +"repository": "rhel7-optional" +} +], +"set_id": 635 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pillow-sane", +"repository": "rhel7-optional" +} +], +"set_id": 636 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pillow-tk", +"repository": "rhel7-optional" +} +], +"set_id": 637 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-slip-gtk", +"repository": "rhel7-optional" +} +], +"set_id": 638 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-smbc-doc", +"repository": "rhel7-optional" +} +], +"set_id": 639 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sphinx", +"repository": "rhel7-optional" +} +], +"set_id": 640 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinx", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "python-sphinx-locale", +"repository": "rhel8-CRB" +} +], +"set_id": 9369 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sphinx-doc", +"repository": "rhel7-optional" +} +], +"set_id": 641 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-tornado", +"repository": "rhel7-optional" +} +], +"set_id": 642 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-tornado-doc", +"repository": "rhel7-optional" +} +], +"set_id": 643 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-twisted-core", +"repository": "rhel7-optional" +} +], +"set_id": 644 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-twisted-core-doc", +"repository": "rhel7-optional" +} +], +"set_id": 645 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-twisted-web", +"repository": "rhel7-optional" +} +], +"set_id": 646 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-twisted-words", +"repository": "rhel7-optional" +} +], +"set_id": 647 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-webob", +"repository": "rhel7-optional" +} +], +"set_id": 648 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-webtest", +"repository": "rhel7-optional" +} +], +"set_id": 649 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-which", +"repository": "rhel7-optional" +} +], +"set_id": 650 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-zope-interface", +"repository": "rhel7-optional" +} +], +"set_id": 651 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scpio", +"repository": "rhel7-optional" +} +], +"set_id": 652 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SOAPpy", +"repository": "rhel7-optional" +} +], +"set_id": 653 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sqlite-tcl", +"repository": "rhel7-optional" +} +], +"set_id": 654 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tokyocabinet-devel", +"repository": "rhel7-optional" +} +], +"set_id": 655 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tokyocabinet-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5352 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tokyocabinet-devel-doc", +"repository": "rhel7-optional" +} +], +"set_id": 656 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "transfig", +"repository": "rhel7-optional" +} +], +"set_id": 657 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "transfig", +"repository": "rhel8-CRB" +} +], +"set_id": 5477 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "turbojpeg-devel", +"repository": "rhel7-optional" +} +], +"set_id": 658 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "turbojpeg-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7515 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-compat-libs", +"repository": "rhel7-optional" +} +], +"set_id": 659 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-lzma-compat", +"repository": "rhel7-optional" +} +], +"set_id": 660 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-lzma-compat", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5330 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zlib-static", +"repository": "rhel7-optional" +} +], +"set_id": 661 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zlib-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5329 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-tools", +"repository": "rhel7-optional" +} +], +"set_id": 662 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 663 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-backports-ssl_match_hostname", +"repository": "rhel7-base" +} +], +"set_id": 666 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-backports-ssl_match_hostname", +"repository": "rhel8-AppStream" +} +], +"set_id": 667 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-devel", +"repository": "rhel7-base" +} +], +"set_id": 668 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpq-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 669 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-libs", +"repository": "rhel7-base" +} +], +"set_id": 670 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpq", +"repository": "rhel8-AppStream" +} +], +"set_id": 671 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pygpgme", +"repository": "rhel7-base" +} +], +"set_id": 672 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-plpython", +"repository": "rhel7-base" +} +], +"set_id": 674 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-plpython3", +"repository": "rhel8-AppStream" +} +], +"set_id": 675 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyserial", +"repository": "rhel7-base" +} +], +"set_id": 678 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyserial", +"repository": "rhel8-AppStream" +} +], +"set_id": 679 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-mako", +"repository": "rhel7-base" +} +], +"set_id": 680 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-mako", +"repository": "rhel8-AppStream" +} +], +"set_id": 681 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-dateutil", +"repository": "rhel7-base" +} +], +"set_id": 686 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dateutil", +"repository": "rhel8-BaseOS" +} +], +"set_id": 687 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-decorator", +"repository": "rhel7-base" +} +], +"set_id": 688 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-decorator", +"repository": "rhel8-BaseOS" +} +], +"set_id": 689 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-ethtool", +"repository": "rhel7-base" +} +], +"set_id": 690 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ethtool", +"repository": "rhel8-BaseOS" +} +], +"set_id": 691 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-iniparse", +"repository": "rhel7-base" +} +], +"set_id": 692 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-iniparse", +"repository": "rhel8-BaseOS" +} +], +"set_id": 693 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-jsonpatch", +"repository": "rhel7-base" +} +], +"set_id": 694 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jsonpatch", +"repository": "rhel8-AppStream" +} +], +"set_id": 695 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-lxml", +"repository": "rhel7-base" +} +], +"set_id": 696 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-lxml", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-lxml", +"repository": "rhel8-AppStream" +} +], +"set_id": 697 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pillow", +"repository": "rhel7-base" +} +], +"set_id": 698 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pillow", +"repository": "rhel8-AppStream" +} +], +"set_id": 699 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-slip", +"repository": "rhel7-base" +} +], +"set_id": 700 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-slip", +"repository": "rhel8-BaseOS" +} +], +"set_id": 701 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pycurl", +"repository": "rhel7-base" +} +], +"set_id": 702 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pycurl", +"repository": "rhel8-AppStream" +} +], +"set_id": 703 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-urwid", +"repository": "rhel7-base" +} +], +"set_id": 704 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-urwid", +"repository": "rhel8-BaseOS" +} +], +"set_id": 705 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pywbem", +"repository": "rhel7-base" +} +], +"set_id": 706 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pywbem", +"repository": "rhel8-BaseOS" +} +], +"set_id": 707 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-debug", +"repository": "rhel7-base" +} +], +"set_id": 708 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "numpy", +"repository": "rhel7-base" +} +], +"set_id": 712 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-numpy", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-numpy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 713 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "numpy-f2py", +"repository": "rhel7-base" +} +], +"set_id": 714 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-numpy-f2py", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-numpy-f2py", +"repository": "rhel8-BaseOS" +} +], +"set_id": 715 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-devel", +"repository": "rhel7-base" +} +], +"set_id": 718 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 719 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-libs", +"repository": "rhel7-base" +} +], +"set_id": 720 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-libs", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 721 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-chardet", +"repository": "rhel7-base" +} +], +"set_id": 722 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-chardet", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-chardet", +"repository": "rhel8-BaseOS" +} +], +"set_id": 723 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-coverage", +"repository": "rhel7-base" +} +], +"set_id": 724 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-coverage", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python2-coverage", +"repository": "rhel8-AppStream" +} +], +"set_id": 725 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-dns", +"repository": "rhel7-base" +} +], +"set_id": 726 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-dns", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-dns", +"repository": "rhel8-BaseOS" +} +], +"set_id": 727 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-docutils", +"repository": "rhel7-base" +} +], +"set_id": 728 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-docutils", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-docutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 729 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-jinja2", +"repository": "rhel7-base" +} +], +"set_id": 730 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-jinja2", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-jinja2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 731 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-markupsafe", +"repository": "rhel7-base" +} +], +"set_id": 732 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-markupsafe", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-markupsafe", +"repository": "rhel8-BaseOS" +} +], +"set_id": 733 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-nose", +"repository": "rhel7-base" +} +], +"set_id": 734 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-nose", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-nose", +"repository": "rhel8-BaseOS" +} +], +"set_id": 735 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-requests", +"repository": "rhel7-base" +} +], +"set_id": 738 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-requests", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-requests", +"repository": "rhel8-BaseOS" +} +], +"set_id": 739 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-setuptools", +"repository": "rhel7-base" +} +], +"set_id": 740 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-setuptools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 741 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-six", +"repository": "rhel7-base" +} +], +"set_id": 742 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-six", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-six", +"repository": "rhel8-BaseOS" +} +], +"set_id": 743 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sqlalchemy", +"repository": "rhel7-base" +} +], +"set_id": 744 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-sqlalchemy", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-sqlalchemy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 745 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-urllib3", +"repository": "rhel7-base" +} +], +"set_id": 746 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-urllib3", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-urllib3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 747 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-virtualenv", +"repository": "rhel7-base" +} +], +"set_id": 748 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-virtualenv", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-virtualenv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 749 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scipy", +"repository": "rhel7-base" +} +], +"set_id": 750 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-scipy", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-scipy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 751 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pytz", +"repository": "rhel7-base" +} +], +"set_id": 752 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pytz", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pytz", +"repository": "rhel8-BaseOS" +} +], +"set_id": 753 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-test", +"repository": "rhel7-optional" +} +], +"set_id": 754 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-test", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-test", +"repository": "rhel8-BaseOS" +} +], +"set_id": 755 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tkinter", +"repository": "rhel7-optional" +} +], +"set_id": 756 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-tkinter", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-tkinter", +"repository": "rhel8-AppStream" +} +], +"set_id": 757 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pytest", +"repository": "rhel7-optional" +} +], +"set_id": 758 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pytest", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pytest", +"repository": "rhel8-BaseOS" +} +], +"set_id": 759 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-psycopg2-debug", +"repository": "rhel7-optional" +} +], +"set_id": 760 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-psycopg2-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 761 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-py", +"repository": "rhel7-optional" +} +], +"set_id": 762 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-py", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-py", +"repository": "rhel8-BaseOS" +} +], +"set_id": 763 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pygments", +"repository": "rhel7-optional" +} +], +"set_id": 764 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pygments", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pygments", +"repository": "rhel8-BaseOS" +} +], +"set_id": 765 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-paramiko", +"repository": "rhel7-extras" +} +], +"set_id": 766 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-paramiko-doc", +"repository": "rhel7-extras" +} +], +"set_id": 767 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-af", +"repository": "rhel7-base" +} +], +"set_id": 768 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-af", +"repository": "rhel8-AppStream" +} +], +"set_id": 769 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ak", +"repository": "rhel7-base" +} +], +"set_id": 770 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ak", +"repository": "rhel8-AppStream" +} +], +"set_id": 771 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-am", +"repository": "rhel7-base" +} +], +"set_id": 772 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-am", +"repository": "rhel8-AppStream" +} +], +"set_id": 773 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-as", +"repository": "rhel7-base" +} +], +"set_id": 774 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-as", +"repository": "rhel8-AppStream" +} +], +"set_id": 775 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ast", +"repository": "rhel7-base" +} +], +"set_id": 776 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ast", +"repository": "rhel8-AppStream" +} +], +"set_id": 777 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-az", +"repository": "rhel7-base" +} +], +"set_id": 778 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-az", +"repository": "rhel8-AppStream" +} +], +"set_id": 779 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-be", +"repository": "rhel7-base" +} +], +"set_id": 780 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-be", +"repository": "rhel8-AppStream" +} +], +"set_id": 781 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ber", +"repository": "rhel7-base" +} +], +"set_id": 782 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ber", +"repository": "rhel8-AppStream" +} +], +"set_id": 783 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-bg", +"repository": "rhel7-base" +} +], +"set_id": 784 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-bg", +"repository": "rhel8-AppStream" +} +], +"set_id": 785 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-bn", +"repository": "rhel7-base" +} +], +"set_id": 786 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-bn", +"repository": "rhel8-AppStream" +} +], +"set_id": 787 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-br", +"repository": "rhel7-base" +} +], +"set_id": 788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-br", +"repository": "rhel8-AppStream" +} +], +"set_id": 789 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ca", +"repository": "rhel7-base" +} +], +"set_id": 790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 791 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-cop", +"repository": "rhel7-base" +} +], +"set_id": 792 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-cop", +"repository": "rhel8-AppStream" +} +], +"set_id": 793 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-csb", +"repository": "rhel7-base" +} +], +"set_id": 794 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-csb", +"repository": "rhel8-AppStream" +} +], +"set_id": 795 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-cv", +"repository": "rhel7-base" +} +], +"set_id": 796 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-cv", +"repository": "rhel8-AppStream" +} +], +"set_id": 797 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-cy", +"repository": "rhel7-base" +} +], +"set_id": 798 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-cy", +"repository": "rhel8-AppStream" +} +], +"set_id": 799 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-da", +"repository": "rhel7-base" +} +], +"set_id": 800 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-da", +"repository": "rhel8-AppStream" +} +], +"set_id": 801 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-de", +"repository": "rhel7-base" +} +], +"set_id": 802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-de", +"repository": "rhel8-AppStream" +} +], +"set_id": 803 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-dsb", +"repository": "rhel7-base" +} +], +"set_id": 804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-dsb", +"repository": "rhel8-AppStream" +} +], +"set_id": 805 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-el", +"repository": "rhel7-base" +} +], +"set_id": 806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-el", +"repository": "rhel8-AppStream" +} +], +"set_id": 807 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-en", +"repository": "rhel7-base" +} +], +"set_id": 808 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 809 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-eo", +"repository": "rhel7-base" +} +], +"set_id": 810 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-eo", +"repository": "rhel8-AppStream" +} +], +"set_id": 811 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es", +"repository": "rhel7-base" +} +], +"set_id": 812 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es", +"repository": "rhel8-AppStream" +} +], +"set_id": 813 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-et", +"repository": "rhel7-base" +} +], +"set_id": 814 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-et", +"repository": "rhel8-AppStream" +} +], +"set_id": 815 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-eu", +"repository": "rhel7-base" +} +], +"set_id": 816 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-eu", +"repository": "rhel8-AppStream" +} +], +"set_id": 817 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fa", +"repository": "rhel7-base" +} +], +"set_id": 818 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fa", +"repository": "rhel8-AppStream" +} +], +"set_id": 819 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fj", +"repository": "rhel7-base" +} +], +"set_id": 820 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fj", +"repository": "rhel8-AppStream" +} +], +"set_id": 821 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fo", +"repository": "rhel7-base" +} +], +"set_id": 822 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fo", +"repository": "rhel8-AppStream" +} +], +"set_id": 823 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fr", +"repository": "rhel7-base" +} +], +"set_id": 824 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fr", +"repository": "rhel8-AppStream" +} +], +"set_id": 825 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fur", +"repository": "rhel7-base" +} +], +"set_id": 826 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fur", +"repository": "rhel8-AppStream" +} +], +"set_id": 827 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fy", +"repository": "rhel7-base" +} +], +"set_id": 828 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-fy", +"repository": "rhel8-AppStream" +} +], +"set_id": 829 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ga", +"repository": "rhel7-base" +} +], +"set_id": 830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ga", +"repository": "rhel8-AppStream" +} +], +"set_id": 831 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-gd", +"repository": "rhel7-base" +} +], +"set_id": 832 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-gd", +"repository": "rhel8-AppStream" +} +], +"set_id": 833 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-gl", +"repository": "rhel7-base" +} +], +"set_id": 834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-gl", +"repository": "rhel8-AppStream" +} +], +"set_id": 835 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-grc", +"repository": "rhel7-base" +} +], +"set_id": 836 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-grc", +"repository": "rhel8-AppStream" +} +], +"set_id": 837 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-gu", +"repository": "rhel7-base" +} +], +"set_id": 838 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-gu", +"repository": "rhel8-AppStream" +} +], +"set_id": 839 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-gv", +"repository": "rhel7-base" +} +], +"set_id": 840 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-gv", +"repository": "rhel8-AppStream" +} +], +"set_id": 841 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-haw", +"repository": "rhel7-base" +} +], +"set_id": 842 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-haw", +"repository": "rhel8-AppStream" +} +], +"set_id": 843 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hi", +"repository": "rhel7-base" +} +], +"set_id": 844 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hi", +"repository": "rhel8-AppStream" +} +], +"set_id": 845 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hil", +"repository": "rhel7-base" +} +], +"set_id": 846 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hil", +"repository": "rhel8-AppStream" +} +], +"set_id": 847 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hr", +"repository": "rhel7-base" +} +], +"set_id": 848 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hr", +"repository": "rhel8-AppStream" +} +], +"set_id": 849 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hsb", +"repository": "rhel7-base" +} +], +"set_id": 850 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hsb", +"repository": "rhel8-AppStream" +} +], +"set_id": 851 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ht", +"repository": "rhel7-base" +} +], +"set_id": 852 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ht", +"repository": "rhel8-AppStream" +} +], +"set_id": 853 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hu", +"repository": "rhel7-base" +} +], +"set_id": 854 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hu", +"repository": "rhel8-AppStream" +} +], +"set_id": 855 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hy", +"repository": "rhel7-base" +} +], +"set_id": 856 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-hy", +"repository": "rhel8-AppStream" +} +], +"set_id": 857 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ia", +"repository": "rhel7-base" +} +], +"set_id": 858 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ia", +"repository": "rhel8-AppStream" +} +], +"set_id": 859 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-id", +"repository": "rhel7-base" +} +], +"set_id": 860 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-id", +"repository": "rhel8-AppStream" +} +], +"set_id": 861 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-is", +"repository": "rhel7-base" +} +], +"set_id": 862 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-is", +"repository": "rhel8-AppStream" +} +], +"set_id": 863 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-it", +"repository": "rhel7-base" +} +], +"set_id": 864 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-it", +"repository": "rhel8-AppStream" +} +], +"set_id": 865 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-kk", +"repository": "rhel7-base" +} +], +"set_id": 866 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-kk", +"repository": "rhel8-AppStream" +} +], +"set_id": 867 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-km", +"repository": "rhel7-base" +} +], +"set_id": 868 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-km", +"repository": "rhel8-AppStream" +} +], +"set_id": 869 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-kn", +"repository": "rhel7-base" +} +], +"set_id": 870 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-kn", +"repository": "rhel8-AppStream" +} +], +"set_id": 871 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ko", +"repository": "rhel7-base" +} +], +"set_id": 872 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ko", +"repository": "rhel8-AppStream" +} +], +"set_id": 873 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ku", +"repository": "rhel7-base" +} +], +"set_id": 874 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ku", +"repository": "rhel8-AppStream" +} +], +"set_id": 875 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ky", +"repository": "rhel7-base" +} +], +"set_id": 876 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ky", +"repository": "rhel8-AppStream" +} +], +"set_id": 877 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-la", +"repository": "rhel7-base" +} +], +"set_id": 878 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-la", +"repository": "rhel8-AppStream" +} +], +"set_id": 879 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-lb", +"repository": "rhel7-base" +} +], +"set_id": 880 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-lb", +"repository": "rhel8-AppStream" +} +], +"set_id": 881 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ln", +"repository": "rhel7-base" +} +], +"set_id": 882 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ln", +"repository": "rhel8-AppStream" +} +], +"set_id": 883 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-lt", +"repository": "rhel7-base" +} +], +"set_id": 884 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-lt", +"repository": "rhel8-AppStream" +} +], +"set_id": 885 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mai", +"repository": "rhel7-base" +} +], +"set_id": 886 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mai", +"repository": "rhel8-AppStream" +} +], +"set_id": 887 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mg", +"repository": "rhel7-base" +} +], +"set_id": 888 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mg", +"repository": "rhel8-AppStream" +} +], +"set_id": 889 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mi", +"repository": "rhel7-base" +} +], +"set_id": 890 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mi", +"repository": "rhel8-AppStream" +} +], +"set_id": 891 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mk", +"repository": "rhel7-base" +} +], +"set_id": 892 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mk", +"repository": "rhel8-AppStream" +} +], +"set_id": 893 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ml", +"repository": "rhel7-base" +} +], +"set_id": 894 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ml", +"repository": "rhel8-AppStream" +} +], +"set_id": 895 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mn", +"repository": "rhel7-base" +} +], +"set_id": 896 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mn", +"repository": "rhel8-AppStream" +} +], +"set_id": 897 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mos", +"repository": "rhel7-base" +} +], +"set_id": 898 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mos", +"repository": "rhel8-AppStream" +} +], +"set_id": 899 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mr", +"repository": "rhel7-base" +} +], +"set_id": 900 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mr", +"repository": "rhel8-AppStream" +} +], +"set_id": 901 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ms", +"repository": "rhel7-base" +} +], +"set_id": 902 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ms", +"repository": "rhel8-AppStream" +} +], +"set_id": 903 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mt", +"repository": "rhel7-base" +} +], +"set_id": 904 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-mt", +"repository": "rhel8-AppStream" +} +], +"set_id": 905 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nds", +"repository": "rhel7-base" +} +], +"set_id": 906 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nds", +"repository": "rhel8-AppStream" +} +], +"set_id": 907 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ne", +"repository": "rhel7-base" +} +], +"set_id": 908 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ne", +"repository": "rhel8-AppStream" +} +], +"set_id": 909 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nl", +"repository": "rhel7-base" +} +], +"set_id": 910 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nl", +"repository": "rhel8-AppStream" +} +], +"set_id": 911 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nr", +"repository": "rhel7-base" +} +], +"set_id": 914 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nr", +"repository": "rhel8-AppStream" +} +], +"set_id": 915 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nso", +"repository": "rhel7-base" +} +], +"set_id": 916 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nso", +"repository": "rhel8-AppStream" +} +], +"set_id": 917 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ny", +"repository": "rhel7-base" +} +], +"set_id": 918 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ny", +"repository": "rhel8-AppStream" +} +], +"set_id": 919 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-oc", +"repository": "rhel7-base" +} +], +"set_id": 920 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-oc", +"repository": "rhel8-AppStream" +} +], +"set_id": 921 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-om", +"repository": "rhel7-base" +} +], +"set_id": 922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-om", +"repository": "rhel8-AppStream" +} +], +"set_id": 923 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-or", +"repository": "rhel7-base" +} +], +"set_id": 924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-or", +"repository": "rhel8-AppStream" +} +], +"set_id": 925 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-pa", +"repository": "rhel7-base" +} +], +"set_id": 926 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-pa", +"repository": "rhel8-AppStream" +} +], +"set_id": 927 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-pl", +"repository": "rhel7-base" +} +], +"set_id": 928 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-pl", +"repository": "rhel8-AppStream" +} +], +"set_id": 929 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-pt", +"repository": "rhel7-base" +} +], +"set_id": 930 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-pt", +"repository": "rhel8-AppStream" +} +], +"set_id": 931 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-qu", +"repository": "rhel7-base" +} +], +"set_id": 932 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-qu", +"repository": "rhel8-AppStream" +} +], +"set_id": 933 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-quh", +"repository": "rhel7-base" +} +], +"set_id": 934 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-quh", +"repository": "rhel8-AppStream" +} +], +"set_id": 935 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ro", +"repository": "rhel7-base" +} +], +"set_id": 936 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ro", +"repository": "rhel8-AppStream" +} +], +"set_id": 937 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ru", +"repository": "rhel7-base" +} +], +"set_id": 938 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ru", +"repository": "rhel8-AppStream" +} +], +"set_id": 939 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-rw", +"repository": "rhel7-base" +} +], +"set_id": 940 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-rw", +"repository": "rhel8-AppStream" +} +], +"set_id": 941 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sc", +"repository": "rhel7-base" +} +], +"set_id": 942 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sc", +"repository": "rhel8-AppStream" +} +], +"set_id": 943 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-se", +"repository": "rhel7-base" +} +], +"set_id": 944 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-se", +"repository": "rhel8-AppStream" +} +], +"set_id": 945 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-shs", +"repository": "rhel7-base" +} +], +"set_id": 946 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-shs", +"repository": "rhel8-AppStream" +} +], +"set_id": 947 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-si", +"repository": "rhel7-base" +} +], +"set_id": 948 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-si", +"repository": "rhel8-AppStream" +} +], +"set_id": 949 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sk", +"repository": "rhel7-base" +} +], +"set_id": 950 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sk", +"repository": "rhel8-AppStream" +} +], +"set_id": 951 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sl", +"repository": "rhel7-base" +} +], +"set_id": 952 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sl", +"repository": "rhel8-AppStream" +} +], +"set_id": 953 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-smj", +"repository": "rhel7-base" +} +], +"set_id": 954 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-smj", +"repository": "rhel8-AppStream" +} +], +"set_id": 955 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-so", +"repository": "rhel7-base" +} +], +"set_id": 956 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-so", +"repository": "rhel8-AppStream" +} +], +"set_id": 957 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sq", +"repository": "rhel7-base" +} +], +"set_id": 958 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sq", +"repository": "rhel8-AppStream" +} +], +"set_id": 959 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sr", +"repository": "rhel7-base" +} +], +"set_id": 960 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sr", +"repository": "rhel8-AppStream" +} +], +"set_id": 961 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ss", +"repository": "rhel7-base" +} +], +"set_id": 962 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ss", +"repository": "rhel8-AppStream" +} +], +"set_id": 963 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-st", +"repository": "rhel7-base" +} +], +"set_id": 964 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-st", +"repository": "rhel8-AppStream" +} +], +"set_id": 965 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sv", +"repository": "rhel7-base" +} +], +"set_id": 966 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sv", +"repository": "rhel8-AppStream" +} +], +"set_id": 967 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sw", +"repository": "rhel7-base" +} +], +"set_id": 968 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-sw", +"repository": "rhel8-AppStream" +} +], +"set_id": 969 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ta", +"repository": "rhel7-base" +} +], +"set_id": 970 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ta", +"repository": "rhel8-AppStream" +} +], +"set_id": 971 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-te", +"repository": "rhel7-base" +} +], +"set_id": 972 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-te", +"repository": "rhel8-AppStream" +} +], +"set_id": 973 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tet", +"repository": "rhel7-base" +} +], +"set_id": 974 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tet", +"repository": "rhel8-AppStream" +} +], +"set_id": 975 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-th", +"repository": "rhel7-base" +} +], +"set_id": 976 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-th", +"repository": "rhel8-AppStream" +} +], +"set_id": 977 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ti", +"repository": "rhel7-base" +} +], +"set_id": 978 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ti", +"repository": "rhel8-AppStream" +} +], +"set_id": 979 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tk", +"repository": "rhel7-base" +} +], +"set_id": 980 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tk", +"repository": "rhel8-AppStream" +} +], +"set_id": 981 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tl", +"repository": "rhel7-base" +} +], +"set_id": 982 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tl", +"repository": "rhel8-AppStream" +} +], +"set_id": 983 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tn", +"repository": "rhel7-base" +} +], +"set_id": 984 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tn", +"repository": "rhel8-AppStream" +} +], +"set_id": 985 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tpi", +"repository": "rhel7-base" +} +], +"set_id": 986 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-tpi", +"repository": "rhel8-AppStream" +} +], +"set_id": 987 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ts", +"repository": "rhel7-base" +} +], +"set_id": 988 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ts", +"repository": "rhel8-AppStream" +} +], +"set_id": 989 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-uk", +"repository": "rhel7-base" +} +], +"set_id": 990 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-uk", +"repository": "rhel8-AppStream" +} +], +"set_id": 991 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ur", +"repository": "rhel7-base" +} +], +"set_id": 992 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ur", +"repository": "rhel8-AppStream" +} +], +"set_id": 993 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-uz", +"repository": "rhel7-base" +} +], +"set_id": 994 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-uz", +"repository": "rhel8-AppStream" +} +], +"set_id": 995 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ve", +"repository": "rhel7-base" +} +], +"set_id": 996 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-ve", +"repository": "rhel8-AppStream" +} +], +"set_id": 997 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-vi", +"repository": "rhel7-base" +} +], +"set_id": 998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-vi", +"repository": "rhel8-AppStream" +} +], +"set_id": 999 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-wa", +"repository": "rhel7-base" +} +], +"set_id": 1000 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-wa", +"repository": "rhel8-AppStream" +} +], +"set_id": 1001 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-xh", +"repository": "rhel7-base" +} +], +"set_id": 1002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-xh", +"repository": "rhel8-AppStream" +} +], +"set_id": 1003 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-yi", +"repository": "rhel7-base" +} +], +"set_id": 1004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-yi", +"repository": "rhel8-AppStream" +} +], +"set_id": 1005 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-zu", +"repository": "rhel7-base" +} +], +"set_id": 1006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-zu", +"repository": "rhel8-AppStream" +} +], +"set_id": 1007 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-as", +"repository": "rhel7-base" +} +], +"set_id": 1008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-as", +"repository": "rhel8-AppStream" +} +], +"set_id": 1009 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-bg", +"repository": "rhel7-base" +} +], +"set_id": 1010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-bg", +"repository": "rhel8-AppStream" +} +], +"set_id": 1011 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-bn", +"repository": "rhel7-base" +} +], +"set_id": 1012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-bn", +"repository": "rhel8-AppStream" +} +], +"set_id": 1013 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ca", +"repository": "rhel7-base" +} +], +"set_id": 1014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 1015 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-cy", +"repository": "rhel7-base" +} +], +"set_id": 1016 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-cy", +"repository": "rhel8-AppStream" +} +], +"set_id": 1017 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-da", +"repository": "rhel7-base" +} +], +"set_id": 1018 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-da", +"repository": "rhel8-AppStream" +} +], +"set_id": 1019 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-de", +"repository": "rhel7-base" +} +], +"set_id": 1020 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-de", +"repository": "rhel8-AppStream" +} +], +"set_id": 1021 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-el", +"repository": "rhel7-base" +} +], +"set_id": 1022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-el", +"repository": "rhel8-AppStream" +} +], +"set_id": 1023 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-es", +"repository": "rhel7-base" +} +], +"set_id": 1024 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-es", +"repository": "rhel8-AppStream" +} +], +"set_id": 1025 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-eu", +"repository": "rhel7-base" +} +], +"set_id": 1026 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-eu", +"repository": "rhel8-AppStream" +} +], +"set_id": 1027 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-fa", +"repository": "rhel7-base" +} +], +"set_id": 1028 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-fa", +"repository": "rhel8-AppStream" +} +], +"set_id": 1029 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-fo", +"repository": "rhel7-base" +} +], +"set_id": 1030 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-fo", +"repository": "rhel8-AppStream" +} +], +"set_id": 1031 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-fr", +"repository": "rhel7-base" +} +], +"set_id": 1032 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-fr", +"repository": "rhel8-AppStream" +} +], +"set_id": 1033 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ga", +"repository": "rhel7-base" +} +], +"set_id": 1034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ga", +"repository": "rhel8-AppStream" +} +], +"set_id": 1035 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-gl", +"repository": "rhel7-base" +} +], +"set_id": 1036 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-gl", +"repository": "rhel8-AppStream" +} +], +"set_id": 1037 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-grc", +"repository": "rhel7-base" +} +], +"set_id": 1038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-grc", +"repository": "rhel8-AppStream" +} +], +"set_id": 1039 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-gu", +"repository": "rhel7-base" +} +], +"set_id": 1040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-gu", +"repository": "rhel8-AppStream" +} +], +"set_id": 1041 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hi", +"repository": "rhel7-base" +} +], +"set_id": 1042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hi", +"repository": "rhel8-AppStream" +} +], +"set_id": 1043 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hsb", +"repository": "rhel7-base" +} +], +"set_id": 1044 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hsb", +"repository": "rhel8-AppStream" +} +], +"set_id": 1045 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hu", +"repository": "rhel7-base" +} +], +"set_id": 1046 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hu", +"repository": "rhel8-AppStream" +} +], +"set_id": 1047 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ia", +"repository": "rhel7-base" +} +], +"set_id": 1048 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ia", +"repository": "rhel8-AppStream" +} +], +"set_id": 1049 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-id", +"repository": "rhel7-base" +} +], +"set_id": 1050 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-id", +"repository": "rhel8-AppStream" +} +], +"set_id": 1051 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-is", +"repository": "rhel7-base" +} +], +"set_id": 1052 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-is", +"repository": "rhel8-AppStream" +} +], +"set_id": 1053 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-it", +"repository": "rhel7-base" +} +], +"set_id": 1054 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-it", +"repository": "rhel8-AppStream" +} +], +"set_id": 1055 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-kn", +"repository": "rhel7-base" +} +], +"set_id": 1056 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-kn", +"repository": "rhel8-AppStream" +} +], +"set_id": 1057 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ku", +"repository": "rhel7-base" +} +], +"set_id": 1058 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ku", +"repository": "rhel8-AppStream" +} +], +"set_id": 1059 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-lt", +"repository": "rhel7-base" +} +], +"set_id": 1060 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-lt", +"repository": "rhel8-AppStream" +} +], +"set_id": 1061 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mi", +"repository": "rhel7-base" +} +], +"set_id": 1062 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mi", +"repository": "rhel8-AppStream" +} +], +"set_id": 1063 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ml", +"repository": "rhel7-base" +} +], +"set_id": 1064 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ml", +"repository": "rhel8-AppStream" +} +], +"set_id": 1065 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mn", +"repository": "rhel7-base" +} +], +"set_id": 1066 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mn", +"repository": "rhel8-AppStream" +} +], +"set_id": 1067 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mr", +"repository": "rhel7-base" +} +], +"set_id": 1068 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mr", +"repository": "rhel8-AppStream" +} +], +"set_id": 1069 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-nl", +"repository": "rhel7-base" +} +], +"set_id": 1070 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-nl", +"repository": "rhel8-AppStream" +} +], +"set_id": 1071 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-or", +"repository": "rhel7-base" +} +], +"set_id": 1072 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-or", +"repository": "rhel8-AppStream" +} +], +"set_id": 1073 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-pa", +"repository": "rhel7-base" +} +], +"set_id": 1074 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-pa", +"repository": "rhel8-AppStream" +} +], +"set_id": 1075 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-pl", +"repository": "rhel7-base" +} +], +"set_id": 1076 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-pl", +"repository": "rhel8-AppStream" +} +], +"set_id": 1077 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-pt", +"repository": "rhel7-base" +} +], +"set_id": 1078 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-pt", +"repository": "rhel8-AppStream" +} +], +"set_id": 1079 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ro", +"repository": "rhel7-base" +} +], +"set_id": 1080 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ro", +"repository": "rhel8-AppStream" +} +], +"set_id": 1081 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ru", +"repository": "rhel7-base" +} +], +"set_id": 1082 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ru", +"repository": "rhel8-AppStream" +} +], +"set_id": 1083 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sa", +"repository": "rhel7-base" +} +], +"set_id": 1084 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sa", +"repository": "rhel8-AppStream" +} +], +"set_id": 1085 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sk", +"repository": "rhel7-base" +} +], +"set_id": 1086 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sk", +"repository": "rhel8-AppStream" +} +], +"set_id": 1087 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sl", +"repository": "rhel7-base" +} +], +"set_id": 1088 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sl", +"repository": "rhel8-AppStream" +} +], +"set_id": 1089 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sv", +"repository": "rhel7-base" +} +], +"set_id": 1090 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sv", +"repository": "rhel8-AppStream" +} +], +"set_id": 1091 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ta", +"repository": "rhel7-base" +} +], +"set_id": 1092 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ta", +"repository": "rhel8-AppStream" +} +], +"set_id": 1093 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-te", +"repository": "rhel7-base" +} +], +"set_id": 1094 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-te", +"repository": "rhel8-AppStream" +} +], +"set_id": 1095 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-tk", +"repository": "rhel7-base" +} +], +"set_id": 1096 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-tk", +"repository": "rhel8-AppStream" +} +], +"set_id": 1097 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-uk", +"repository": "rhel7-base" +} +], +"set_id": 1098 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-uk", +"repository": "rhel8-AppStream" +} +], +"set_id": 1099 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-bg", +"repository": "rhel7-base" +} +], +"set_id": 1100 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-bg", +"repository": "rhel8-AppStream" +} +], +"set_id": 1101 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ca", +"repository": "rhel7-base" +} +], +"set_id": 1102 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 1103 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-cs", +"repository": "rhel7-base" +} +], +"set_id": 1104 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-cs", +"repository": "rhel8-AppStream" +} +], +"set_id": 1105 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-da", +"repository": "rhel7-base" +} +], +"set_id": 1106 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-da", +"repository": "rhel8-AppStream" +} +], +"set_id": 1107 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-de", +"repository": "rhel7-base" +} +], +"set_id": 1108 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-de", +"repository": "rhel8-AppStream" +} +], +"set_id": 1109 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-el", +"repository": "rhel7-base" +} +], +"set_id": 1110 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-el", +"repository": "rhel8-AppStream" +} +], +"set_id": 1111 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-en", +"repository": "rhel7-base" +} +], +"set_id": 1112 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 1113 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-es", +"repository": "rhel7-base" +} +], +"set_id": 1114 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-es", +"repository": "rhel8-AppStream" +} +], +"set_id": 1115 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-fr", +"repository": "rhel7-base" +} +], +"set_id": 1116 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-fr", +"repository": "rhel8-AppStream" +} +], +"set_id": 1117 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ga", +"repository": "rhel7-base" +} +], +"set_id": 1118 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ga", +"repository": "rhel8-AppStream" +} +], +"set_id": 1119 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-hu", +"repository": "rhel7-base" +} +], +"set_id": 1120 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-hu", +"repository": "rhel8-AppStream" +} +], +"set_id": 1121 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-it", +"repository": "rhel7-base" +} +], +"set_id": 1122 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-it", +"repository": "rhel8-AppStream" +} +], +"set_id": 1123 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-mi", +"repository": "rhel7-base" +} +], +"set_id": 1124 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-mi", +"repository": "rhel8-AppStream" +} +], +"set_id": 1125 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ne", +"repository": "rhel7-base" +} +], +"set_id": 1126 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ne", +"repository": "rhel8-AppStream" +} +], +"set_id": 1127 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-nl", +"repository": "rhel7-base" +} +], +"set_id": 1128 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-nl", +"repository": "rhel8-AppStream" +} +], +"set_id": 1129 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-pl", +"repository": "rhel7-base" +} +], +"set_id": 1130 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-pl", +"repository": "rhel8-AppStream" +} +], +"set_id": 1131 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-pt", +"repository": "rhel7-base" +} +], +"set_id": 1132 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-pt", +"repository": "rhel8-AppStream" +} +], +"set_id": 1133 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ro", +"repository": "rhel7-base" +} +], +"set_id": 1134 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ro", +"repository": "rhel8-AppStream" +} +], +"set_id": 1135 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ru", +"repository": "rhel7-base" +} +], +"set_id": 1136 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ru", +"repository": "rhel8-AppStream" +} +], +"set_id": 1137 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-sk", +"repository": "rhel7-base" +} +], +"set_id": 1138 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-sk", +"repository": "rhel8-AppStream" +} +], +"set_id": 1139 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-sl", +"repository": "rhel7-base" +} +], +"set_id": 1140 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-sl", +"repository": "rhel8-AppStream" +} +], +"set_id": 1141 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-sv", +"repository": "rhel7-base" +} +], +"set_id": 1142 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-sv", +"repository": "rhel8-AppStream" +} +], +"set_id": 1143 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-uk", +"repository": "rhel7-base" +} +], +"set_id": 1144 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-uk", +"repository": "rhel8-AppStream" +} +], +"set_id": 1145 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fonts-tweak-tool", +"repository": "rhel7-base" +} +], +"set_id": 1146 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fonts-tweak-tool", +"repository": "rhel8-AppStream" +} +], +"set_id": 1147 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-crosextra-caladea-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1148 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-crosextra-caladea-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1149 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-crosextra-carlito-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1150 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-crosextra-carlito-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1151 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gubbi-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1152 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gubbi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1153 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jomolhari-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1154 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jomolhari-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1155 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lklug-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1156 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lklug-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1157 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-assamese-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1158 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-assamese-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1159 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-bengali-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1160 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-bengali-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1161 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-devanagari-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1162 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-devanagari-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1163 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-gujarati-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1164 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-gujarati-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1165 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-kannada-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1166 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-kannada-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1167 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-malayalam-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1168 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-malayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1169 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-marathi-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1170 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-marathi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1171 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-nepali-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1172 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-nepali-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1173 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-tamil-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1174 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-tamil-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1175 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-telugu-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1176 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-telugu-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1177 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "madan-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1178 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "madan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1179 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "navilu-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1180 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "navilu-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1181 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "saab-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1182 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "saab-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1183 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-abyssinica-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1184 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-abyssinica-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1185 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-nuosu-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1186 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-nuosu-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1187 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-padauk-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1188 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-padauk-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1189 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tex-fonts-hebrew", +"repository": "rhel7-base" +} +], +"set_id": 1190 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tex-fonts-hebrew", +"repository": "rhel8-AppStream" +} +], +"set_id": 1191 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tibetan-machine-uni-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1192 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tibetan-machine-uni-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1193 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ucs-miscfixed-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1194 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ucs-miscfixed-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1195 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-microhei-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1196 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-microhei-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1197 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-unibit-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1198 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-unibit-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1199 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "convmv", +"repository": "rhel7-base" +} +], +"set_id": 1200 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "convmv", +"repository": "rhel8-AppStream" +} +], +"set_id": 1201 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audit", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1202 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bridge-utils", +"repository": "rhel7-base" +} +], +"set_id": 1203 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmnl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1204 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmnl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7533 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 770, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmnl-static", +"repository": "rhel7-optional" +} +], +"set_id": 1205 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-firewall", +"repository": "rhel7-optional" +} +], +"set_id": 1206 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-firewall-base", +"repository": "rhel7-optional" +} +], +"set_id": 1207 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-firewall-tui", +"repository": "rhel7-optional" +} +], +"set_id": 1208 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-firewall", +"repository": "rhel7-optional" +} +], +"set_id": 1209 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-firewall", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1210 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnet-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1211 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnet-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7534 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libndp-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1212 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib-networking-tests", +"repository": "rhel7-optional" +} +], +"set_id": 1213 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmodman-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3531 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-idoverride-memberof-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 1215 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-authldap", +"repository": "rhel7-base" +} +], +"set_id": 1216 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-base", +"repository": "rhel7-base" +} +], +"set_id": 1217 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-persona", +"repository": "rhel7-base" +} +], +"set_id": 1218 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-infosssd", +"repository": "rhel7-base" +} +], +"set_id": 1219 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-client", +"repository": "rhel7-base" +} +], +"set_id": 1220 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-authform", +"repository": "rhel7-base" +} +], +"set_id": 1221 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-saml2-base", +"repository": "rhel7-base" +} +], +"set_id": 1222 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon", +"repository": "rhel7-base" +} +], +"set_id": 1223 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-authgssapi", +"repository": "rhel7-base" +} +], +"set_id": 1224 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-tools-ipa", +"repository": "rhel7-base" +} +], +"set_id": 1225 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-saml2", +"repository": "rhel7-base" +} +], +"set_id": 1226 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-filesystem", +"repository": "rhel7-base" +} +], +"set_id": 1227 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authconfig-gtk", +"repository": "rhel7-optional" +} +], +"set_id": 1228 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authconfig-gtk", +"repository": "rhel7-optional" +} +], +"set_id": 1228 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-pkcs11", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1229 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crypto-policies", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1230 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-cryptography", +"repository": "rhel7-base" +} +], +"set_id": 1231 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cryptography", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1232 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-ipaclient", +"repository": "rhel7-base" +} +], +"set_id": 1233 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ipaclient", +"repository": "rhel8-AppStream" +} +], +"set_id": 1234 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-ipalib", +"repository": "rhel7-base" +} +], +"set_id": 1235 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ipalib", +"repository": "rhel8-AppStream" +} +], +"set_id": 1236 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-ipaserver", +"repository": "rhel7-base" +} +], +"set_id": 1237 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ipaserver", +"repository": "rhel8-AppStream" +} +], +"set_id": 1238 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-jwcrypto", +"repository": "rhel7-base" +} +], +"set_id": 1239 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jwcrypto", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1240 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-keycloak-httpd-client-install", +"repository": "rhel7-base" +} +], +"set_id": 1241 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-keycloak-httpd-client-install", +"repository": "rhel8-AppStream" +} +], +"set_id": 1242 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-oauthlib", +"repository": "rhel7-base" +} +], +"set_id": 1243 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-oauthlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1244 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pyasn1", +"repository": "rhel7-base" +} +], +"set_id": 1245 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyasn1", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1246 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pyasn1-modules", +"repository": "rhel7-base" +} +], +"set_id": 1247 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyasn1-modules", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1248 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-requests-oauthlib", +"repository": "rhel7-base" +} +], +"set_id": 1249 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests-oauthlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1250 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-python", +"repository": "rhel7-base" +} +], +"set_id": 1251 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-samba", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1252 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-python-test", +"repository": "rhel7-base" +} +], +"set_id": 1253 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-samba-test", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1254 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-augeas", +"repository": "rhel7-base" +} +], +"set_id": 1255 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-augeas", +"repository": "rhel8-AppStream" +} +], +"set_id": 1256 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 809, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-cffi", +"repository": "rhel7-base" +} +], +"set_id": 1257 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cffi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1258 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-custodia", +"repository": "rhel7-base" +} +], +"set_id": 1259 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-custodia", +"repository": "rhel8-AppStream" +} +], +"set_id": 1260 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-custodia-ipa", +"repository": "rhel7-base" +} +], +"set_id": 1261 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-custodia", +"repository": "rhel8-AppStream" +} +], +"set_id": 1262 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 812, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-enum34", +"repository": "rhel7-base" +} +], +"set_id": 1263 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1264 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-kdcproxy", +"repository": "rhel7-base" +} +], +"set_id": 1265 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-kdcproxy", +"repository": "rhel8-AppStream" +} +], +"set_id": 1266 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-cs", +"repository": "rhel7-base" +} +], +"set_id": 1267 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-es-extra", +"repository": "rhel7-base" +} +], +"set_id": 1269 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 816, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-es", +"repository": "rhel7-base" +} +], +"set_id": 1271 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-fr", +"repository": "rhel7-base" +} +], +"set_id": 1273 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-it", +"repository": "rhel7-base" +} +], +"set_id": 1275 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-ja", +"repository": "rhel7-base" +} +], +"set_id": 1277 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-ko", +"repository": "rhel7-base" +} +], +"set_id": 1279 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-pl", +"repository": "rhel7-base" +} +], +"set_id": 1281 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-ru", +"repository": "rhel7-base" +} +], +"set_id": 1283 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "man-pages-zh-CN", +"repository": "rhel7-base" +} +], +"set_id": 1285 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 824, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-af", +"repository": "rhel7-base" +} +], +"set_id": 1287 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-af", +"repository": "rhel8-AppStream" +} +], +"set_id": 1288 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 825, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-be", +"repository": "rhel7-base" +} +], +"set_id": 1289 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-be", +"repository": "rhel8-AppStream" +} +], +"set_id": 1290 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 826, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-cs", +"repository": "rhel7-base" +} +], +"set_id": 1291 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-cs", +"repository": "rhel8-AppStream" +} +], +"set_id": 1292 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-en", +"repository": "rhel7-base" +} +], +"set_id": 1293 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 1294 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 828, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-et", +"repository": "rhel7-base" +} +], +"set_id": 1295 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-et", +"repository": "rhel8-AppStream" +} +], +"set_id": 1296 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 829, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hr", +"repository": "rhel7-base" +} +], +"set_id": 1297 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hr", +"repository": "rhel8-AppStream" +} +], +"set_id": 1298 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-lv", +"repository": "rhel7-base" +} +], +"set_id": 1299 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-lv", +"repository": "rhel8-AppStream" +} +], +"set_id": 1300 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-nb", +"repository": "rhel7-base" +} +], +"set_id": 1301 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-nb", +"repository": "rhel8-AppStream" +} +], +"set_id": 1302 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 832, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-nn", +"repository": "rhel7-base" +} +], +"set_id": 1305 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-nn", +"repository": "rhel8-AppStream" +} +], +"set_id": 1306 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sr", +"repository": "rhel7-base" +} +], +"set_id": 1307 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sr", +"repository": "rhel8-AppStream" +} +], +"set_id": 1308 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-zu", +"repository": "rhel7-base" +} +], +"set_id": 1309 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-zu", +"repository": "rhel8-AppStream" +} +], +"set_id": 1310 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-lb", +"repository": "rhel7-base" +} +], +"set_id": 1311 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-lb", +"repository": "rhel8-AppStream" +} +], +"set_id": 1312 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 836, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-lv", +"repository": "rhel7-base" +} +], +"set_id": 1313 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-lv", +"repository": "rhel8-AppStream" +} +], +"set_id": 1314 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 837, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-nb", +"repository": "rhel7-base" +} +], +"set_id": 1315 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-nb", +"repository": "rhel8-AppStream" +} +], +"set_id": 1316 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-nn", +"repository": "rhel7-base" +} +], +"set_id": 1317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-nn", +"repository": "rhel8-AppStream" +} +], +"set_id": 1318 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-glibc", +"repository": "rhel7-base" +} +], +"set_id": 5550 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-glibc", +"repository": "rhel7-base" +} +], +"set_id": 1319 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-cs", +"repository": "rhel7-base" +} +], +"set_id": 1320 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-cs", +"repository": "rhel8-AppStream" +} +], +"set_id": 1321 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-en-GB", +"repository": "rhel7-base" +} +], +"set_id": 1322 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-en-GB", +"repository": "rhel8-AppStream" +} +], +"set_id": 1323 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-en-US", +"repository": "rhel7-base" +} +], +"set_id": 1324 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-en-US", +"repository": "rhel8-AppStream" +} +], +"set_id": 1325 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 844, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-lv", +"repository": "rhel7-base" +} +], +"set_id": 1328 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-lv", +"repository": "rhel8-AppStream" +} +], +"set_id": 1329 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 845, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nb", +"repository": "rhel7-base" +} +], +"set_id": 1330 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nb", +"repository": "rhel8-AppStream" +} +], +"set_id": 1331 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-AR", +"repository": "rhel8-AppStream" +} +], +"set_id": 1332 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-BO", +"repository": "rhel8-AppStream" +} +], +"set_id": 1333 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 848, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-CL", +"repository": "rhel8-AppStream" +} +], +"set_id": 1334 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 849, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-CO", +"repository": "rhel8-AppStream" +} +], +"set_id": 1335 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-CR", +"repository": "rhel8-AppStream" +} +], +"set_id": 1336 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-CU", +"repository": "rhel8-AppStream" +} +], +"set_id": 1337 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 852, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-DO", +"repository": "rhel8-AppStream" +} +], +"set_id": 1338 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 853, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-EC", +"repository": "rhel8-AppStream" +} +], +"set_id": 1339 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-ES", +"repository": "rhel8-AppStream" +} +], +"set_id": 1340 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-GT", +"repository": "rhel8-AppStream" +} +], +"set_id": 1341 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 856, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-HN", +"repository": "rhel8-AppStream" +} +], +"set_id": 1342 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-MX", +"repository": "rhel8-AppStream" +} +], +"set_id": 1343 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 858, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-NI", +"repository": "rhel8-AppStream" +} +], +"set_id": 1344 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 859, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-PA", +"repository": "rhel8-AppStream" +} +], +"set_id": 1345 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 860, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-PE", +"repository": "rhel8-AppStream" +} +], +"set_id": 1346 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 861, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-PR", +"repository": "rhel8-AppStream" +} +], +"set_id": 1347 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-PY", +"repository": "rhel8-AppStream" +} +], +"set_id": 1348 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-SV", +"repository": "rhel8-AppStream" +} +], +"set_id": 1349 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 864, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-US", +"repository": "rhel8-AppStream" +} +], +"set_id": 1350 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 865, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-UY", +"repository": "rhel8-AppStream" +} +], +"set_id": 1351 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-es-VE", +"repository": "rhel8-AppStream" +} +], +"set_id": 1352 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-oriya-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1353 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-odia-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1354 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 868, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-punjabi-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1355 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-gurmukhi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1356 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 869, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 1357 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 1358 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-armenian-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1359 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-armenian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1360 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-devanagari-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1361 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-devanagari-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1362 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-devanagari-ui-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1363 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-devanagari-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1364 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ethiopic-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1365 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ethiopic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1366 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1367 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1368 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-georgian-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1369 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-georgian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1370 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-hebrew-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1371 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-hebrew-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1372 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-khmer-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1373 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-khmer-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1374 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-khmer-ui-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1375 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-khmer-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1376 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lao-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1377 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lao-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1378 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lao-ui-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1379 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lao-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1380 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tamil-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1381 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tamil-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1382 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tamil-ui-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1383 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tamil-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1384 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-thai-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1385 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-thai-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1386 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-thai-ui-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1387 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-thai-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1388 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ui-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1389 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1390 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-armenian-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1391 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-armenian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1392 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1393 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1394 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-georgian-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1395 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-georgian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1396 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-lao-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1397 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-lao-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1398 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-thai-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1399 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-thai-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1400 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-kufi-arabic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1401 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-kufi-arabic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1402 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-naskh-arabic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1403 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-naskh-arabic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1404 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-naskh-arabic-ui-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1405 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-naskh-arabic-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1406 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-avestan-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1407 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-avestan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1408 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-balinese-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1409 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-balinese-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1410 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-bamum-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1411 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-bamum-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1412 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-batak-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1413 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-batak-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1414 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-bengali-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1415 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-bengali-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1416 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-bengali-ui-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1417 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-bengali-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1418 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-brahmi-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1419 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-brahmi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1420 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-buginese-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1421 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-buginese-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1422 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-buhid-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1423 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-buhid-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1424 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-canadian-aboriginal-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1425 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-canadian-aboriginal-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1426 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-carian-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1427 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-carian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1428 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cham-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1429 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cham-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1430 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cherokee-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1431 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cherokee-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1432 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-coptic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1433 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-coptic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1434 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cuneiform-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1435 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cuneiform-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1436 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cypriot-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1437 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cypriot-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1438 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-deseret-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1439 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-deseret-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1440 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-egyptian-hieroglyphs-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1441 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-egyptian-hieroglyphs-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1442 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-glagolitic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1443 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-glagolitic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1444 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gothic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1445 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gothic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1446 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gujarati-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1447 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gujarati-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1448 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gujarati-ui-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1449 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gujarati-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1450 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gurmukhi-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1451 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gurmukhi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1452 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gurmukhi-ui-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1453 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-gurmukhi-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1454 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-hanunoo-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1455 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-hanunoo-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1456 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-imperial-aramaic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1457 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-imperial-aramaic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1458 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-inscriptional-pahlavi-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1459 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-inscriptional-pahlavi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1460 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-inscriptional-parthian-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1461 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-inscriptional-parthian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1462 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-javanese-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1463 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-javanese-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1464 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kaithi-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1465 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kaithi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1466 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kannada-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1467 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kannada-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1468 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kannada-ui-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1469 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kannada-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1470 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kayah-li-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1471 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kayah-li-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1472 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kharoshthi-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1473 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-kharoshthi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1474 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lepcha-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1475 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lepcha-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1476 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-limbu-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1477 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-limbu-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1478 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 930, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-linear-b-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1479 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-linear-b-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1480 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lisu-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1481 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lisu-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1482 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lycian-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1483 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lycian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1484 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lydian-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1485 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-lydian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1486 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-malayalam-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1487 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-malayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1488 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-malayalam-ui-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1489 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-malayalam-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1490 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-mandaic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1491 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-mandaic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1492 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-meetei-mayek-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1493 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-meetei-mayek-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1494 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-mongolian-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1495 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-mongolian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1496 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-myanmar-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1497 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-myanmar-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1498 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-myanmar-ui-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1499 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-myanmar-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1500 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-new-tai-lue-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1501 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-new-tai-lue-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1502 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-nko-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1503 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-nko-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1504 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ogham-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1505 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ogham-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1506 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ol-chiki-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1507 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ol-chiki-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1508 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-old-italic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1509 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-old-italic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1510 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-old-persian-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1511 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-old-persian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1512 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-old-south-arabian-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1513 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-old-south-arabian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1514 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-old-turkic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1515 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-old-turkic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1516 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-osmanya-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1517 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-osmanya-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1518 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-phags-pa-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1519 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-phags-pa-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1520 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-phoenician-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1522 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-phoenician-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1523 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-rejang-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1524 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-rejang-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1525 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-runic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1526 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-runic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1527 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-samaritan-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1528 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-samaritan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1529 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-saurashtra-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1530 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-saurashtra-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1531 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-shavian-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1532 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-shavian-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1533 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-sinhala-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1534 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-sinhala-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1535 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-sundanese-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1536 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-sundanese-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1537 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syloti-nagri-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1538 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syloti-nagri-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1539 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-symbols-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1540 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-symbols-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1541 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-eastern-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1542 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-eastern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1543 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-estrangela-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1544 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-estrangela-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1545 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-western-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1546 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-western-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1547 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tagalog-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1548 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tagalog-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1549 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tagbanwa-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1550 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tagbanwa-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1551 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tai-le-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1552 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tai-le-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1553 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tai-tham-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1554 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tai-tham-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1555 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tai-viet-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1556 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tai-viet-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1557 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-telugu-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1558 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-telugu-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1559 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-telugu-ui-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1560 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-telugu-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1561 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-thaana-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1562 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-thaana-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1563 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tifinagh-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1564 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tifinagh-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1565 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ugaritic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1566 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ugaritic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1567 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-vai-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1568 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-vai-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1569 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-yi-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1570 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-yi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1571 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-khmer-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 1572 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-khmer-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1573 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-mono-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1574 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-nastaliq-urdu-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1575 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-oriya-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1576 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-oriya-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1577 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tibetan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1578 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-bengali-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1579 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-devanagari-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1580 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-gujarati-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1581 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-kannada-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1582 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-malayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1583 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-tamil-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1584 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-telugu-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1585 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dhcp", +"repository": "rhel7-base" +} +], +"set_id": 1586 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dhcp-relay", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "dhcp-server", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1587 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dhclient", +"repository": "rhel7-base" +} +], +"set_id": 1588 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dhcp-client", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1589 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "GeoIP-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1590 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "GeoIP-update", +"repository": "rhel7-optional" +} +], +"set_id": 1594 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "GeoIP-data", +"repository": "rhel7-optional" +} +], +"set_id": 1598 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tclx-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1600 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwvstreams-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1601 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwvstreams-static", +"repository": "rhel7-optional" +} +], +"set_id": 1602 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-netaddr", +"repository": "rhel7-base" +} +], +"set_id": 1603 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-netaddr", +"repository": "rhel8-AppStream" +} +], +"set_id": 1604 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sntp", +"repository": "rhel7-optional" +} +], +"set_id": 1607 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ntpdate", +"repository": "rhel7-base" +} +], +"set_id": 1609 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "chrony", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7619 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ntp-perl", +"repository": "rhel7-optional" +} +], +"set_id": 1610 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-netifaces", +"repository": "rhel7-base" +} +], +"set_id": 1611 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-netifaces", +"repository": "rhel8-AppStream" +} +], +"set_id": 1612 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ntp-doc", +"repository": "rhel7-optional" +} +], +"set_id": 1613 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsh-server", +"repository": "rhel7-base" +} +], +"set_id": 1616 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 1004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-nss", +"repository": "rhel7-base" +} +], +"set_id": 1617 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "python3-nss", +"repository": "rhel8-AppStream" +} +], +"set_id": 1618 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "finger-server", +"repository": "rhel7-base" +} +], +"set_id": 1619 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libesmtp-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1622 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openobex-apps", +"repository": "rhel7-optional" +} +], +"set_id": 1624 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openobex-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1625 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-ply", +"repository": "rhel7-base" +} +], +"set_id": 1627 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ply", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1628 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pycparser", +"repository": "rhel7-base" +} +], +"set_id": 1631 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pycparser", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1632 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-qrcode", +"repository": "rhel7-base" +} +], +"set_id": 1633 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-qrcode", +"repository": "rhel8-AppStream" +} +], +"set_id": 1634 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-qrcode-core", +"repository": "rhel7-base" +} +], +"set_id": 1635 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-qrcode-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 1636 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-tdb", +"repository": "rhel7-base" +} +], +"set_id": 1637 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tdb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1638 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-tevent", +"repository": "rhel7-base" +} +], +"set_id": 1639 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tevent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1640 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-yubico", +"repository": "rhel7-base" +} +], +"set_id": 1641 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-yubico", +"repository": "rhel8-AppStream" +} +], +"set_id": 1642 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pytalloc", +"repository": "rhel7-base" +} +], +"set_id": 1643 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-talloc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1644 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyusb", +"repository": "rhel7-base" +} +], +"set_id": 1645 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyusb", +"repository": "rhel8-AppStream" +} +], +"set_id": 1646 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-gssapi", +"repository": "rhel7-base" +} +], +"set_id": 1647 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gssapi", +"repository": "rhel8-AppStream" +} +], +"set_id": 1648 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sss", +"repository": "rhel7-base" +} +], +"set_id": 1649 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sss", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1650 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sssdconfig", +"repository": "rhel7-base" +} +], +"set_id": 1651 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sssdconfig", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1652 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sss-murmur", +"repository": "rhel7-base" +} +], +"set_id": 1653 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sss-murmur", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1654 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-libsss_nss_idmap", +"repository": "rhel7-base" +} +], +"set_id": 1655 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libsss_nss_idmap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1656 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-libipa_hbac", +"repository": "rhel7-base" +} +], +"set_id": 1657 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libipa_hbac", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1658 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyldb", +"repository": "rhel7-base" +} +], +"set_id": 1659 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ldb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1660 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-ipaddress", +"repository": "rhel7-base" +} +], +"set_id": 3472 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-ipaddress", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3473 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-printer-udev", +"repository": "rhel7-base" +} +], +"set_id": 1715 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-printer-udev", +"repository": "rhel8-AppStream" +} +], +"set_id": 7687 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-printer-libs", +"repository": "rhel7-base" +} +], +"set_id": 1717 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-printer-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 7688 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pm-utils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1742 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "espeak-devel", +"repository": "rhel7-base" +} +], +"set_id": 1744 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen-libopts", +"repository": "rhel7-optional" +} +], +"set_id": 1746 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen-libopts", +"repository": "rhel8-AppStream" +} +], +"set_id": 7520 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen", +"repository": "rhel7-optional" +} +], +"set_id": 1747 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen", +"repository": "rhel8-CRB" +} +], +"set_id": 7519 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen-libopts-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1748 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autotrace-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1749 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autotrace", +"repository": "rhel7-optional" +} +], +"set_id": 1750 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autotrace", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3108 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flac-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1751 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flac-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7521 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flac", +"repository": "rhel7-optional" +} +], +"set_id": 1752 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flac", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7523 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flac-libs", +"repository": "rhel7-optional" +} +], +"set_id": 1753 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flac-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 7522 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nmap-frontend", +"repository": "rhel7-optional" +} +], +"set_id": 1779 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-a2ps", +"repository": "rhel7-optional" +} +], +"set_id": 1788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-a2ps-el", +"repository": "rhel7-optional" +} +], +"set_id": 1789 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mgetty-sendfax", +"repository": "rhel7-optional" +} +], +"set_id": 1790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mgetty-viewfax", +"repository": "rhel7-optional" +} +], +"set_id": 1791 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mgetty-voice", +"repository": "rhel7-optional" +} +], +"set_id": 1792 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "t1lib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1831 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "t1lib-static", +"repository": "rhel7-optional" +} +], +"set_id": 1832 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "t1lib", +"repository": "rhel7-optional" +} +], +"set_id": 1833 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "t1lib-apps", +"repository": "rhel7-optional" +} +], +"set_id": 1834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jbigkit-devel", +"repository": "rhel7-optional" +} +], +"set_id": 1835 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jbigkit-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7524 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jbigkit", +"repository": "rhel7-optional" +} +], +"set_id": 1837 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-fonts-common", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1890 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-sans-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1892 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-sans-mono-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1894 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-serif-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1896 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontconfig", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1898 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-brlapi", +"repository": "rhel7-base" +} +], +"set_id": 1900 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-brlapi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1901 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontpackages-filesystem", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1902 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-fonts-common", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1904 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-mono-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1906 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-sans-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1908 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-serif-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1910 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libicu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1912 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunistring", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1914 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pyudev", +"repository": "rhel7-base" +} +], +"set_id": 1916 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyudev", +"repository": "rhel8-BaseOS" +} +], +"set_id": 1917 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fribidi", +"repository": "rhel7-base" +} +], +"set_id": 1918 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fribidi", +"repository": "rhel8-AppStream" +} +], +"set_id": 1919 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 1920 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 1921 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-mono-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-mono-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1923 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-sans-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1925 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-serif-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1926 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-serif-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1927 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "harfbuzz", +"repository": "rhel7-base" +} +], +"set_id": 1928 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "harfbuzz", +"repository": "rhel8-AppStream" +} +], +"set_id": 1929 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "harfbuzz-icu", +"repository": "rhel7-base" +} +], +"set_id": 1930 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "harfbuzz-icu", +"repository": "rhel8-AppStream" +} +], +"set_id": 1931 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus", +"repository": "rhel7-base" +} +], +"set_id": 1932 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus", +"repository": "rhel8-AppStream" +} +], +"set_id": 1933 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-gtk2", +"repository": "rhel7-base" +} +], +"set_id": 1934 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-gtk2", +"repository": "rhel8-AppStream" +} +], +"set_id": 1935 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unbound-python", +"repository": "rhel7-base" +} +], +"set_id": 1936 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-unbound", +"repository": "rhel8-AppStream" +} +], +"set_id": 1937 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-gtk3", +"repository": "rhel7-base" +} +], +"set_id": 1938 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 1939 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-hangul", +"repository": "rhel7-base" +} +], +"set_id": 1940 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-hangul", +"repository": "rhel8-AppStream" +} +], +"set_id": 1941 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-kkc", +"repository": "rhel7-base" +} +], +"set_id": 1942 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-kkc", +"repository": "rhel8-AppStream" +} +], +"set_id": 1943 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-libpinyin", +"repository": "rhel7-base" +} +], +"set_id": 1944 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-libpinyin", +"repository": "rhel8-AppStream" +} +], +"set_id": 1945 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-libs", +"repository": "rhel7-base" +} +], +"set_id": 1946 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 1947 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-m17n", +"repository": "rhel7-base" +} +], +"set_id": 1948 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-m17n", +"repository": "rhel8-AppStream" +} +], +"set_id": 1949 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-sayura", +"repository": "rhel7-base" +} +], +"set_id": 1950 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-sayura", +"repository": "rhel8-AppStream" +} +], +"set_id": 1951 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-setup", +"repository": "rhel7-base" +} +], +"set_id": 1952 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-setup", +"repository": "rhel8-AppStream" +} +], +"set_id": 1953 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table", +"repository": "rhel7-base" +} +], +"set_id": 1954 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table", +"repository": "rhel8-AppStream" +} +], +"set_id": 1955 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese", +"repository": "rhel7-base" +} +], +"set_id": 1956 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese", +"repository": "rhel8-AppStream" +} +], +"set_id": 1957 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-typing-booster", +"repository": "rhel7-base" +} +], +"set_id": 1958 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-typing-booster", +"repository": "rhel8-AppStream" +} +], +"set_id": 1959 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iso-codes", +"repository": "rhel7-base" +} +], +"set_id": 1960 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iso-codes", +"repository": "rhel8-AppStream" +} +], +"set_id": 1961 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-base-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1962 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-base-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1963 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 1964 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 1965 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhangul", +"repository": "rhel7-base" +} +], +"set_id": 1966 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhangul", +"repository": "rhel8-AppStream" +} +], +"set_id": 1967 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libthai", +"repository": "rhel7-base" +} +], +"set_id": 1968 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libthai", +"repository": "rhel8-AppStream" +} +], +"set_id": 1969 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-db", +"repository": "rhel7-base" +} +], +"set_id": 1970 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-db", +"repository": "rhel8-AppStream" +} +], +"set_id": 1971 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-lib", +"repository": "rhel7-base" +} +], +"set_id": 1972 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 1973 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencc", +"repository": "rhel7-base" +} +], +"set_id": 1974 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paktype-naskh-basic-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1976 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paktype-naskh-basic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1977 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pango", +"repository": "rhel7-base" +} +], +"set_id": 1978 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pango", +"repository": "rhel8-AppStream" +} +], +"set_id": 1979 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paps", +"repository": "rhel7-base" +} +], +"set_id": 1980 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paps", +"repository": "rhel8-AppStream" +} +], +"set_id": 1981 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paps-libs", +"repository": "rhel7-base" +} +], +"set_id": 1982 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paps-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 1983 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paratype-pt-sans-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1984 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paratype-pt-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1985 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "skkdic", +"repository": "rhel7-base" +} +], +"set_id": 1990 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "skkdic", +"repository": "rhel8-AppStream" +} +], +"set_id": 1991 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 1992 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 1993 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-meera-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1994 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-meera-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1995 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ttmkfdir", +"repository": "rhel7-base" +} +], +"set_id": 1996 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ttmkfdir", +"repository": "rhel8-AppStream" +} +], +"set_id": 1997 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-fixed-fonts", +"repository": "rhel7-base" +} +], +"set_id": 1998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-fixed-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 1999 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-lucida-typewriter-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2000 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-lucida-typewriter-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2001 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-chveulebrivi-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-chveulebrivi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2003 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-courier-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-courier-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2005 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 2006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 2007 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-glaho-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-glaho-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2009 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-aharoni-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-aharoni-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2011 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-caladings-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-caladings-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2013 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-david-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-david-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2015 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-drugulin-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2016 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-drugulin-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2017 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-ellinia-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2018 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-ellinia-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2019 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 2020 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 2021 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-frank-ruehl-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-frank-ruehl-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2023 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-hadasim-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2024 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-hadasim-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2025 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-keteryg-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2026 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-keteryg-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2027 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-miriam-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2028 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-miriam-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2029 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-miriam-mono-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2030 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-miriam-mono-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2031 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-nachlieli-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2032 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-nachlieli-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2033 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-simple-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-simple-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2035 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-stamashkenaz-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2036 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-stamashkenaz-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2037 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-stamsefarad-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-stamsefarad-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2039 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-yehuda-clm-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-yehuda-clm-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2041 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-art-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-art-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2043 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-book-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2044 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-book-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2045 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-decorative-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2046 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-decorative-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2047 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-digital-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2048 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-digital-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2049 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-farsi-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2050 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-farsi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2051 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 2052 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 2053 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-letter-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2054 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-letter-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2055 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-naskh-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2056 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-naskh-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2057 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-office-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2058 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-office-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2059 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-one-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2060 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-one-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2061 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-pen-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2062 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-pen-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2063 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-poster-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2064 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-poster-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2065 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-qurn-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2066 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-qurn-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2067 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-screen-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2068 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-screen-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2069 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-title-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2070 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-title-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2071 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-titlel-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2072 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kacst-titlel-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2073 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-battambang-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2074 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-battambang-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2075 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-bokor-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2076 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-bokor-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2077 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-handwritten-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2078 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-handwritten-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2079 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-metal-chrieng-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2080 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-metal-chrieng-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2081 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-muol-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2082 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-muol-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2083 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-siemreap-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2084 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-siemreap-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2085 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kurdit-unikurd-web-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2086 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kurdit-unikurd-web-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2087 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc", +"repository": "rhel7-base" +} +], +"set_id": 2088 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc", +"repository": "rhel8-AppStream" +} +], +"set_id": 2089 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc-gobject", +"repository": "rhel7-base" +} +], +"set_id": 2090 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc-gobject", +"repository": "rhel8-AppStream" +} +], +"set_id": 2091 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-voikko", +"repository": "rhel7-base" +} +], +"set_id": 2092 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-voikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 2093 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libspiro", +"repository": "rhel7-base" +} +], +"set_id": 2094 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libspiro", +"repository": "rhel8-AppStream" +} +], +"set_id": 2095 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvoikko", +"repository": "rhel7-base" +} +], +"set_id": 2096 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvoikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 2097 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga-suomi-voikko", +"repository": "rhel7-base" +} +], +"set_id": 2098 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga-suomi-voikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 2099 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nafees-web-naskh-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2100 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nafees-web-naskh-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2101 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paktype-naqsh-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2102 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paktype-naqsh-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2103 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paktype-tehreer-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2104 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paktype-tehreer-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2105 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-anjalioldlipi-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2106 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-anjalioldlipi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2107 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-dyuthi-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2108 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-dyuthi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2109 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-kalyani-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2110 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-kalyani-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2111 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-rachana-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2112 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-rachana-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2113 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-raghumalayalam-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2114 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-raghumalayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2115 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-suruma-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2116 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-suruma-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2117 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontconfig-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2118 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontconfig-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2119 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icu", +"repository": "rhel7-optional" +} +], +"set_id": 2120 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2121 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2122 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libicu-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2124 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libicu-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2125 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libicu-doc", +"repository": "rhel7-optional" +} +], +"set_id": 2126 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libicu-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2127 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-console-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2128 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-console-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2129 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-fangsongti-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2130 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-fangsongti-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2131 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-fonts-compat", +"repository": "rhel7-optional" +} +], +"set_id": 2132 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bitmap-fonts-compat", +"repository": "rhel8-AppStream" +} +], +"set_id": 2133 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-algeti-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2134 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-algeti-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2135 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-classic-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2136 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-classic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2137 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-courier-s-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2138 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-courier-s-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2139 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-dedaena-block-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2140 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-dedaena-block-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2141 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-dejavu-sans-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2142 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-dejavu-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2143 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-elite-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2144 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-elite-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2145 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-caps-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2146 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2147 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-condenced-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2148 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-condenced-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2149 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2150 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2151 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-gorda-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2152 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-gorda-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2153 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-ingiri-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2154 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-ingiri-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2155 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-irubaqidze-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2156 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-irubaqidze-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2157 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mikhail-stephan-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2158 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mikhail-stephan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2159 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mrgvlovani-caps-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2160 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mrgvlovani-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2161 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mrgvlovani-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2162 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mrgvlovani-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2163 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-caps-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2164 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2165 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-condenced-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2166 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-condenced-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2167 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2168 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2169 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nino-medium-cond-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2170 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nino-medium-cond-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2171 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nino-medium-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2172 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nino-medium-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2173 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2174 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2175 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-medium-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2176 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-medium-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2177 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-modern-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2178 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-modern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2179 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-regular-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2180 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-regular-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2181 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-serif-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2182 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-serif-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2183 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-serif-modern-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2184 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-serif-modern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2185 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-ucnobi-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2186 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-ucnobi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2187 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-shofar-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2188 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "culmus-shofar-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2189 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fribidi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2190 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fribidi-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2191 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "harfbuzz-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2192 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "harfbuzz-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2193 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-array", +"repository": "rhel7-optional" +} +], +"set_id": 2196 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-array", +"repository": "rhel8-AppStream" +} +], +"set_id": 2197 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-cangjie", +"repository": "rhel7-optional" +} +], +"set_id": 2198 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-cangjie", +"repository": "rhel8-AppStream" +} +], +"set_id": 2199 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-cantonese", +"repository": "rhel7-optional" +} +], +"set_id": 2200 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-cantonese", +"repository": "rhel8-AppStream" +} +], +"set_id": 2201 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-easy", +"repository": "rhel7-optional" +} +], +"set_id": 2202 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-easy", +"repository": "rhel8-AppStream" +} +], +"set_id": 2203 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-erbi", +"repository": "rhel7-optional" +} +], +"set_id": 2204 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-erbi", +"repository": "rhel8-AppStream" +} +], +"set_id": 2205 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-quick", +"repository": "rhel7-optional" +} +], +"set_id": 2206 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-quick", +"repository": "rhel8-AppStream" +} +], +"set_id": 2207 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-scj", +"repository": "rhel7-optional" +} +], +"set_id": 2208 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-scj", +"repository": "rhel8-AppStream" +} +], +"set_id": 2209 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-stroke5", +"repository": "rhel7-optional" +} +], +"set_id": 2210 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-stroke5", +"repository": "rhel8-AppStream" +} +], +"set_id": 2211 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-wu", +"repository": "rhel7-optional" +} +], +"set_id": 2212 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-wu", +"repository": "rhel8-AppStream" +} +], +"set_id": 2213 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-wubi-haifeng", +"repository": "rhel7-optional" +} +], +"set_id": 2214 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-wubi-haifeng", +"repository": "rhel8-AppStream" +} +], +"set_id": 2215 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-wubi-jidian", +"repository": "rhel7-optional" +} +], +"set_id": 2216 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-wubi-jidian", +"repository": "rhel8-AppStream" +} +], +"set_id": 2217 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-yong", +"repository": "rhel7-optional" +} +], +"set_id": 2218 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-chinese-yong", +"repository": "rhel8-AppStream" +} +], +"set_id": 2219 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "itstool", +"repository": "rhel7-optional" +} +], +"set_id": 2220 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "itstool", +"repository": "rhel8-AppStream" +} +], +"set_id": 2221 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmalaga", +"repository": "rhel7-optional" +} +], +"set_id": 2222 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmalaga", +"repository": "rhel8-AppStream" +} +], +"set_id": 2223 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga", +"repository": "rhel7-optional" +} +], +"set_id": 2224 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga", +"repository": "rhel8-AppStream" +} +], +"set_id": 2225 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pango-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2226 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pango-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2227 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paratype-pt-sans-caption-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2228 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paratype-pt-sans-caption-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2229 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-padauk-book-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2230 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-padauk-book-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2231 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "voikko-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2232 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "voikko-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 2233 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "i2c-tools-python", +"repository": "rhel7-optional" +} +], +"set_id": 2234 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-lgc-sans-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2240 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-lgc-sans-mono-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2242 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-lgc-serif-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2244 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontpackages-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2248 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontpackages-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2249 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontpackages-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2250 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fonttools", +"repository": "rhel7-optional" +} +], +"set_id": 2252 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2256 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2257 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2260 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iso-codes-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2262 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iso-codes-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2263 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2264 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc-gobject-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2266 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhangul-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2268 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libspiro-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2270 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libthai-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2272 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libthai-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2273 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuninameslist", +"repository": "rhel7-optional" +} +], +"set_id": 2274 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuninameslist", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2275 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuninameslist-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2276 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunistring-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2278 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunistring-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2279 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvoikko-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2280 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-db-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2282 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-db-extras", +"repository": "rhel7-optional" +} +], +"set_id": 2284 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-lib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2286 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-lib-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2288 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2290 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2292 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 1248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencc-doc", +"repository": "rhel7-optional" +} +], +"set_id": 14147 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencc-tools", +"repository": "rhel7-optional" +} +], +"set_id": 7505 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pango-tests", +"repository": "rhel7-optional" +} +], +"set_id": 2298 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paps-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2300 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc", +"repository": "rhel7-base" +} +], +"set_id": 2302 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc", +"repository": "rhel8-AppStream" +} +], +"set_id": 2303 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-common", +"repository": "rhel7-base" +} +], +"set_id": 2304 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 2305 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-data", +"repository": "rhel7-base" +} +], +"set_id": 2306 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 2307 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag", +"repository": "rhel7-base" +} +], +"set_id": 2308 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag", +"repository": "rhel8-AppStream" +} +], +"set_id": 2309 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpinyin", +"repository": "rhel7-base" +} +], +"set_id": 2310 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpinyin", +"repository": "rhel8-AppStream" +} +], +"set_id": 2311 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpinyin-data", +"repository": "rhel7-base" +} +], +"set_id": 2312 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpinyin-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 2313 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa", +"repository": "rhel7-base" +} +], +"set_id": 2314 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa", +"repository": "rhel8-AppStream" +} +], +"set_id": 2315 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-devanagari-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2316 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-devanagari-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2317 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 2318 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 2319 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-gujarati-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2320 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-gujarati-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2321 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-malayalam-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2322 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-malayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2323 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-oriya-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2324 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-odia-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2325 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-tamil-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2326 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-tamil-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2327 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 2328 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 2329 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-garuda-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2330 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-garuda-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2331 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-kinnari-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2332 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-kinnari-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2333 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-laksaman-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2334 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-loma-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2336 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-loma-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2337 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-norasi-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2338 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-norasi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2339 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-purisa-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2340 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-purisa-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2341 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-sawasdee-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2342 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-sawasdee-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2343 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-tlwgmono-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2344 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-tlwgmono-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2345 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-tlwgtypewriter-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2346 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-tlwgtypewriter-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2347 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-tlwgtypist-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2348 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-tlwgtypist-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2349 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-tlwgtypo-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2350 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-tlwgtypo-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2351 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-umpush-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2352 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-umpush-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2353 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-waree-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2354 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "thai-scalable-waree-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2355 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontforge", +"repository": "rhel7-optional" +} +], +"set_id": 2356 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontforge", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2357 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontforge-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2358 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2362 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2364 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2366 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2367 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag-doc", +"repository": "rhel7-optional" +} +], +"set_id": 2368 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 2369 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag-gobject", +"repository": "rhel7-optional" +} +], +"set_id": 2370 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag-gobject", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2371 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 1287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpinyin-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2372 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpinyin-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2374 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2376 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa-perl", +"repository": "rhel7-optional" +} +], +"set_id": 2378 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa-python", +"repository": "rhel7-optional" +} +], +"set_id": 2380 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa-ruby", +"repository": "rhel7-optional" +} +], +"set_id": 2382 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2384 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unicode-ucd", +"repository": "rhel7-optional" +} +], +"set_id": 2388 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unicode-ucd", +"repository": "rhel8-AppStream" +} +], +"set_id": 2389 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langtable", +"repository": "rhel7-base" +} +], +"set_id": 2392 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langtable", +"repository": "rhel8-AppStream" +} +], +"set_id": 2393 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langtable-data", +"repository": "rhel7-base" +} +], +"set_id": 2394 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langtable-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 2395 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langtable-python", +"repository": "rhel7-base" +} +], +"set_id": 2396 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-langtable", +"repository": "rhel8-AppStream" +} +], +"set_id": 2397 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-pygtk2", +"repository": "rhel7-optional" +} +], +"set_id": 2398 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "overpass-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2399 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "overpass-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2400 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "overpass-mono-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2401 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-wayland", +"repository": "rhel8-AppStream" +} +], +"set_id": 2403 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzhuyin", +"repository": "rhel8-AppStream" +} +], +"set_id": 2404 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "caribou", +"repository": "rhel7-base" +} +], +"set_id": 2406 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "caribou-antler", +"repository": "rhel7-optional" +} +], +"set_id": 2407 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "caribou-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2408 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "caribou-gtk2-module", +"repository": "rhel7-base" +} +], +"set_id": 2409 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "caribou-gtk3-module", +"repository": "rhel7-base" +} +], +"set_id": 2410 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-caribou", +"repository": "rhel7-base" +} +], +"set_id": 2411 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cjkuni-ukai-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2412 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cjkuni-uming-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2413 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-cjk-ttc-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 9459 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-chinese", +"repository": "rhel7-base" +} +], +"set_id": 2414 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-chinese-zh_CN", +"repository": "rhel7-optional" +} +], +"set_id": 2415 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-chinese-zh_TW", +"repository": "rhel7-optional" +} +], +"set_id": 2416 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-qt", +"repository": "rhel7-base" +} +], +"set_id": 2418 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-qt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2419 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-qt-docs", +"repository": "rhel7-optional" +} +], +"set_id": 2420 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "im-chooser", +"repository": "rhel7-base" +} +], +"set_id": 2421 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "im-chooser-common", +"repository": "rhel7-base" +} +], +"set_id": 2422 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imsettings", +"repository": "rhel7-base" +} +], +"set_id": 2423 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imsettings-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2424 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imsettings-gsettings", +"repository": "rhel7-base" +} +], +"set_id": 2425 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imsettings-libs", +"repository": "rhel7-base" +} +], +"set_id": 2426 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imsettings-qt", +"repository": "rhel7-optional" +} +], +"set_id": 2427 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imsettings-xim", +"repository": "rhel7-optional" +} +], +"set_id": 2428 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iok", +"repository": "rhel7-base" +} +], +"set_id": 2429 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-gothic-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2430 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-mincho-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2431 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-pgothic-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2432 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-pmincho-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2433 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgxim", +"repository": "rhel7-optional" +} +], +"set_id": 2434 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgxim-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2435 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtranslit", +"repository": "rhel7-base" +} +], +"set_id": 2436 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtranslit-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2437 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtranslit-icu", +"repository": "rhel7-optional" +} +], +"set_id": 2438 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtranslit-m17n", +"repository": "rhel7-base" +} +], +"set_id": 2439 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-contrib", +"repository": "rhel7-base" +} +], +"set_id": 2440 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m17n-contrib-extras", +"repository": "rhel7-optional" +} +], +"set_id": 2441 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nhn-nanum-brush-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2443 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nhn-nanum-fonts-common", +"repository": "rhel7-base" +} +], +"set_id": 2444 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nhn-nanum-gothic-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2445 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cjk-ttc-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 9458 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nhn-nanum-myeongjo-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2446 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nhn-nanum-pen-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2447 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-libvoikko", +"repository": "rhel7-optional" +} +], +"set_id": 14149 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-language", +"repository": "rhel7-base" +} +], +"set_id": 2449 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vlgothic-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2450 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cjk-ttc-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 9460 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vlgothic-p-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2451 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-zenhei-fonts", +"repository": "rhel7-base" +} +], +"set_id": 2452 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cjk-ttc-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 9461 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-langpacks", +"repository": "rhel7-base" +} +], +"set_id": 2453 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "baekmuk-ttf-batang-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2454 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "baekmuk-ttf-dotum-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2455 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "baekmuk-ttf-fonts-common", +"repository": "rhel7-optional" +} +], +"set_id": 2456 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "baekmuk-ttf-fonts-ghostscript", +"repository": "rhel7-optional" +} +], +"set_id": 2457 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "baekmuk-ttf-gulim-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2458 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "baekmuk-ttf-hline-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2459 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-narrow-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2460 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aajohan-comfortaa-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2462 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-japanese-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2467 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cjk-jp-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 6205 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-korean-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2468 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-simplified-chinese-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2469 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-traditional-chinese-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 2470 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-roboto-slab-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 2487 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdatrie-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 2491 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nkf", +"repository": "rhel8-CRB" +} +], +"set_id": 2494 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-NKF", +"repository": "rhel8-CRB" +} +], +"set_id": 2495 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uthash-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 2501 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cldr-emoji-annotation", +"repository": "rhel8-AppStream" +} +], +"set_id": 2504 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-characters", +"repository": "rhel8-AppStream" +} +], +"set_id": 2505 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-droid-kufi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2506 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-droid-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2507 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-droid-sans-mono-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2508 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-droid-serif-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2509 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-cjk-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 2510 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-emoji-color-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2511 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-emoji-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2512 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-nn", +"repository": "rhel8-AppStream" +} +], +"set_id": 2515 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "julietaula-montserrat-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2517 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kyotocabinet-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 2518 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-af", +"repository": "rhel8-AppStream" +} +], +"set_id": 2519 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-am", +"repository": "rhel8-AppStream" +} +], +"set_id": 2520 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ar", +"repository": "rhel8-AppStream" +} +], +"set_id": 2521 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-as", +"repository": "rhel8-AppStream" +} +], +"set_id": 2522 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ast", +"repository": "rhel8-AppStream" +} +], +"set_id": 2523 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-be", +"repository": "rhel8-AppStream" +} +], +"set_id": 2524 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-bg", +"repository": "rhel8-AppStream" +} +], +"set_id": 2525 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-bn", +"repository": "rhel8-AppStream" +} +], +"set_id": 2526 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-br", +"repository": "rhel8-AppStream" +} +], +"set_id": 2527 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-bs", +"repository": "rhel8-AppStream" +} +], +"set_id": 2528 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 2529 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-cs", +"repository": "rhel8-AppStream" +} +], +"set_id": 2530 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-cy", +"repository": "rhel8-AppStream" +} +], +"set_id": 2531 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-da", +"repository": "rhel8-AppStream" +} +], +"set_id": 2532 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-de", +"repository": "rhel8-AppStream" +} +], +"set_id": 2533 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-el", +"repository": "rhel8-AppStream" +} +], +"set_id": 2534 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-en_GB", +"repository": "rhel8-AppStream" +} +], +"set_id": 2535 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 2536 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-es", +"repository": "rhel8-AppStream" +} +], +"set_id": 2537 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-et", +"repository": "rhel8-AppStream" +} +], +"set_id": 2538 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-eu", +"repository": "rhel8-AppStream" +} +], +"set_id": 2539 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-fa", +"repository": "rhel8-AppStream" +} +], +"set_id": 2540 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-fi", +"repository": "rhel8-AppStream" +} +], +"set_id": 2541 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-fr", +"repository": "rhel8-AppStream" +} +], +"set_id": 2542 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ga", +"repository": "rhel8-AppStream" +} +], +"set_id": 2543 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-gl", +"repository": "rhel8-AppStream" +} +], +"set_id": 2544 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-gu", +"repository": "rhel8-AppStream" +} +], +"set_id": 2545 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-he", +"repository": "rhel8-AppStream" +} +], +"set_id": 2546 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-hi", +"repository": "rhel8-AppStream" +} +], +"set_id": 2547 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-hr", +"repository": "rhel8-AppStream" +} +], +"set_id": 2548 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-hu", +"repository": "rhel8-AppStream" +} +], +"set_id": 2549 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ia", +"repository": "rhel8-AppStream" +} +], +"set_id": 2550 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-id", +"repository": "rhel8-AppStream" +} +], +"set_id": 2551 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-is", +"repository": "rhel8-AppStream" +} +], +"set_id": 2552 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-it", +"repository": "rhel8-AppStream" +} +], +"set_id": 2553 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ja", +"repository": "rhel8-AppStream" +} +], +"set_id": 2554 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-kk", +"repository": "rhel8-AppStream" +} +], +"set_id": 2555 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-kn", +"repository": "rhel8-AppStream" +} +], +"set_id": 2556 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ko", +"repository": "rhel8-AppStream" +} +], +"set_id": 2557 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-lt", +"repository": "rhel8-AppStream" +} +], +"set_id": 2558 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-lv", +"repository": "rhel8-AppStream" +} +], +"set_id": 2559 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-mai", +"repository": "rhel8-AppStream" +} +], +"set_id": 2560 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-mk", +"repository": "rhel8-AppStream" +} +], +"set_id": 2561 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ml", +"repository": "rhel8-AppStream" +} +], +"set_id": 2562 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-mr", +"repository": "rhel8-AppStream" +} +], +"set_id": 2563 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ms", +"repository": "rhel8-AppStream" +} +], +"set_id": 2564 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-nb", +"repository": "rhel8-AppStream" +} +], +"set_id": 2565 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ne", +"repository": "rhel8-AppStream" +} +], +"set_id": 2566 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-nl", +"repository": "rhel8-AppStream" +} +], +"set_id": 2567 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-nn", +"repository": "rhel8-AppStream" +} +], +"set_id": 2568 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-nr", +"repository": "rhel8-AppStream" +} +], +"set_id": 2569 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-nso", +"repository": "rhel8-AppStream" +} +], +"set_id": 2570 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-or", +"repository": "rhel8-AppStream" +} +], +"set_id": 2571 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-pa", +"repository": "rhel8-AppStream" +} +], +"set_id": 2572 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-pl", +"repository": "rhel8-AppStream" +} +], +"set_id": 2573 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-pt_BR", +"repository": "rhel8-AppStream" +} +], +"set_id": 2574 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-pt", +"repository": "rhel8-AppStream" +} +], +"set_id": 2575 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ro", +"repository": "rhel8-AppStream" +} +], +"set_id": 2576 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ru", +"repository": "rhel8-AppStream" +} +], +"set_id": 2577 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-si", +"repository": "rhel8-AppStream" +} +], +"set_id": 2578 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-sk", +"repository": "rhel8-AppStream" +} +], +"set_id": 2579 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-sl", +"repository": "rhel8-AppStream" +} +], +"set_id": 2580 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-sq", +"repository": "rhel8-AppStream" +} +], +"set_id": 2581 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-sr", +"repository": "rhel8-AppStream" +} +], +"set_id": 2582 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ss", +"repository": "rhel8-AppStream" +} +], +"set_id": 2583 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-sv", +"repository": "rhel8-AppStream" +} +], +"set_id": 2584 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ta", +"repository": "rhel8-AppStream" +} +], +"set_id": 2585 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-te", +"repository": "rhel8-AppStream" +} +], +"set_id": 2586 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-th", +"repository": "rhel8-AppStream" +} +], +"set_id": 2587 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-tn", +"repository": "rhel8-AppStream" +} +], +"set_id": 2588 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-tr", +"repository": "rhel8-AppStream" +} +], +"set_id": 2589 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2590 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-uk", +"repository": "rhel8-AppStream" +} +], +"set_id": 2591 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ur", +"repository": "rhel8-AppStream" +} +], +"set_id": 2592 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ve", +"repository": "rhel8-AppStream" +} +], +"set_id": 2593 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-vi", +"repository": "rhel8-AppStream" +} +], +"set_id": 2594 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-xh", +"repository": "rhel8-AppStream" +} +], +"set_id": 2595 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-zh_CN", +"repository": "rhel8-AppStream" +} +], +"set_id": 2596 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-zh_TW", +"repository": "rhel8-AppStream" +} +], +"set_id": 2597 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-zu", +"repository": "rhel8-AppStream" +} +], +"set_id": 2598 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lato-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2599 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdatrie", +"repository": "rhel8-AppStream" +} +], +"set_id": 2600 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblangtag-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 2601 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sil-scheherazade-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 2602 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-servers-sql", +"repository": "rhel7-base" +} +], +"set_id": 2603 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-servers-sql", +"repository": "rhel7-base" +} +], +"set_id": 2603 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-switch-java", +"repository": "rhel7-base" +} +], +"set_id": 2604 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhino-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 2606 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhino", +"repository": "rhel7-optional" +} +], +"set_id": 2607 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhino-manual", +"repository": "rhel7-optional" +} +], +"set_id": 2608 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhino-demo", +"repository": "rhel7-optional" +} +], +"set_id": 2609 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ecj", +"repository": "rhel7-optional" +} +], +"set_id": 2610 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brlapi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2611 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brlapi-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2894 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cups-filters-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2612 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cups-filters-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2843 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-imapd-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2613 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dhcp-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2614 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dialog-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2615 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2616 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2847 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gsm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2617 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gsm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2848 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guile-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2618 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guile-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2849 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gutenprint-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2619 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iperf3-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2620 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "irssi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2621 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "irssi-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2852 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldns-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2622 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldns-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 2853 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2623 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2854 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblockfile-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2624 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblockfile-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2855 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2625 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2856 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libogg-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2626 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libogg-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2857 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libogg-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 2627 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libogg-devel-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 2858 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpaper-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2628 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpaper-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2859 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpcap-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2629 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpcap-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2860 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libshout-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2630 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libshout-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2861 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libutempter-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2631 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libutempter-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2862 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "memcached-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2632 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ppp-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2633 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ppp-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2864 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pps-tools-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2634 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pps-tools-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 2865 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpdf-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2635 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2637 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2868 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sendmail-devel", +"repository": "rhel7-base" +} +], +"set_id": 6079 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sendmail-milter-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6080 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speex-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2639 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speex-devel", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "speexdsp-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 2869 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wavpack-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2640 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wavpack-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2870 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireshark-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2641 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireshark-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2871 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slang-static", +"repository": "rhel7-optional" +} +], +"set_id": 2646 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "newt-static", +"repository": "rhel7-optional" +} +], +"set_id": 2647 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-static", +"repository": "rhel7-optional" +} +], +"set_id": 2648 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix-sysvinit", +"repository": "rhel7-optional" +} +], +"set_id": 2649 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sendmail-sysvinit", +"repository": "rhel7-optional" +} +], +"set_id": 2650 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vsftpd-sysvinit", +"repository": "rhel7-optional" +} +], +"set_id": 2651 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-doc", +"repository": "rhel7-optional" +} +], +"set_id": 2660 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 2873 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-gd", +"repository": "rhel7-optional" +} +], +"set_id": 2661 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-gd", +"repository": "rhel8-AppStream" +} +], +"set_id": 2874 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-graphs", +"repository": "rhel7-optional" +} +], +"set_id": 2662 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-guile", +"repository": "rhel7-optional" +} +], +"set_id": 2663 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-java", +"repository": "rhel7-optional" +} +], +"set_id": 2664 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-lua", +"repository": "rhel7-optional" +} +], +"set_id": 2665 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-ocaml", +"repository": "rhel7-optional" +} +], +"set_id": 2666 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-perl", +"repository": "rhel7-optional" +} +], +"set_id": 2667 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-php", +"repository": "rhel7-optional" +} +], +"set_id": 2668 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-python", +"repository": "rhel7-optional" +} +], +"set_id": 2669 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-ruby", +"repository": "rhel7-optional" +} +], +"set_id": 2670 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphviz-tcl", +"repository": "rhel7-optional" +} +], +"set_id": 2671 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gsm-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2672 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldns-doc", +"repository": "rhel7-optional" +} +], +"set_id": 2673 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldns-python", +"repository": "rhel7-optional" +} +], +"set_id": 2674 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-brlapi", +"repository": "rhel7-optional" +} +], +"set_id": 2675 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pps-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2676 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pptp-setup", +"repository": "rhel7-optional" +} +], +"set_id": 2677 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-lua", +"repository": "rhel7-optional" +} +], +"set_id": 2678 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-lua", +"repository": "rhel8-AppStream" +} +], +"set_id": 2888 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-php", +"repository": "rhel7-optional" +} +], +"set_id": 2679 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-python", +"repository": "rhel7-optional" +} +], +"set_id": 2680 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-ruby", +"repository": "rhel7-optional" +} +], +"set_id": 2681 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-ruby", +"repository": "rhel8-AppStream" +} +], +"set_id": 2889 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-tcl", +"repository": "rhel7-optional" +} +], +"set_id": 2682 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-tcl", +"repository": "rhel8-AppStream" +} +], +"set_id": 2890 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slang-slsh", +"repository": "rhel7-optional" +} +], +"set_id": 2683 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speex-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2684 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Image-Base", +"repository": "rhel7-optional" +} +], +"set_id": 2723 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-debug", +"repository": "rhel7-base" +} +], +"set_id": 2770 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-demo-debug", +"repository": "rhel7-base" +} +], +"set_id": 2772 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-devel-debug", +"repository": "rhel7-base" +} +], +"set_id": 2774 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-headless-debug", +"repository": "rhel7-base" +} +], +"set_id": 2786 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-javadoc-debug", +"repository": "rhel7-base" +} +], +"set_id": 2778 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-javadoc-zip-debug", +"repository": "rhel7-base" +} +], +"set_id": 2780 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-src-debug", +"repository": "rhel7-base" +} +], +"set_id": 2782 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "i2c-tools-eepromer", +"repository": "rhel7-optional" +} +], +"set_id": 2784 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-accessibility-debug", +"repository": "rhel7-base" +} +], +"set_id": 2788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brltty-at-spi", +"repository": "rhel7-base" +} +], +"set_id": 2790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brltty-at-spi2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2791 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.7.0-openjdk", +"repository": "rhel7-optional" +} +], +"set_id": 2792 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.7.0-openjdk-src", +"repository": "rhel7-optional" +} +], +"set_id": 2793 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.7.0-openjdk-demo", +"repository": "rhel7-optional" +} +], +"set_id": 2794 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.7.0-openjdk-headless", +"repository": "rhel7-optional" +} +], +"set_id": 2795 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.7.0-openjdk-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 2796 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.7.0-openjdk-accessibility", +"repository": "rhel7-optional" +} +], +"set_id": 2797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.7.0-openjdk-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2798 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.6.0-openjdk", +"repository": "rhel7-optional" +} +], +"set_id": 2799 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.6.0-openjdk-src", +"repository": "rhel7-optional" +} +], +"set_id": 2800 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.6.0-openjdk-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2801 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.6.0-openjdk-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 2802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.6.0-openjdk-demo", +"repository": "rhel7-optional" +} +], +"set_id": 2803 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jarjar-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 2804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jarjar", +"repository": "rhel7-optional" +} +], +"set_id": 2806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jarjar-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 2808 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ixpdimm-cli", +"repository": "rhel7-optional" +} +], +"set_id": 2810 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "foomatic-filters", +"repository": "rhel7-optional" +} +], +"set_id": 2811 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cups-filters", +"repository": "rhel8-AppStream" +} +], +"set_id": 2812 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hpijs", +"repository": "rhel7-base" +} +], +"set_id": 2813 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hplip", +"repository": "rhel8-AppStream" +} +], +"set_id": 2814 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gutenprint-foomatic", +"repository": "rhel7-optional" +} +], +"set_id": 2815 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-cups", +"repository": "rhel7-base" +} +], +"set_id": 2816 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cups", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2817 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gutenprint-extras", +"repository": "rhel7-base" +} +], +"set_id": 2818 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnssec-trigger", +"repository": "rhel7-base" +} +], +"set_id": 2820 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnssec-trigger", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "dnssec-trigger-panel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2821 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-cups-doc", +"repository": "rhel7-base" +} +], +"set_id": 2822 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-cups-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 2823 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsync", +"repository": "rhel7-base" +} +], +"set_id": 2826 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsync", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "rsync-daemon", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2827 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sane-backends", +"repository": "rhel7-base" +} +], +"set_id": 2828 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sane-backends", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "sane-backends-daemon", +"repository": "rhel8-AppStream" +} +], +"set_id": 2829 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-common", +"repository": "rhel7-base" +} +], +"set_id": 2830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-common", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "sssd-nfs-idmap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2831 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iniparser", +"repository": "rhel7-base" +} +], +"set_id": 2832 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iniparser-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2833 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemtap-runtime-python2", +"repository": "rhel7-base" +} +], +"set_id": 2834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemtap-runtime-python3", +"repository": "rhel8-AppStream" +} +], +"set_id": 2835 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oprofile-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2836 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oprofile-gui", +"repository": "rhel7-optional" +} +], +"set_id": 2837 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oprofile-jit", +"repository": "rhel7-optional" +} +], +"set_id": 2838 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oprofile", +"repository": "rhel7-base" +} +], +"set_id": 2839 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perf", +"repository": "rhel8-AppStream" +} +], +"set_id": 2840 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "papi", +"repository": "rhel7-base" +} +], +"set_id": 2841 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "papi", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "papi-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 2842 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireshark-gnome", +"repository": "rhel7-optional" +} +], +"set_id": 2895 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireshark", +"repository": "rhel8-AppStream" +} +], +"set_id": 2896 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireshark", +"repository": "rhel7-optional" +} +], +"set_id": 2897 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireshark-cli", +"repository": "rhel8-AppStream" +} +], +"set_id": 2898 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 1616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-gettext", +"repository": "rhel7-optional" +} +], +"set_id": 14148 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 1618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap", +"repository": "rhel7-sap" +}, +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap-common", +"repository": "rhel7-sap" +} +], +"set_id": 2902 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap", +"repository": "rhel8-AppStream" +} +], +"set_id": 7504 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmaxminddb", +"repository": "rhel8-AppStream" +} +], +"set_id": 2903 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoipupdate", +"repository": "rhel8-AppStream" +} +], +"set_id": 2904 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geolite2-city", +"repository": "rhel8-AppStream" +} +], +"set_id": 2905 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geolite2-country", +"repository": "rhel8-AppStream" +} +], +"set_id": 2906 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmaxminddb-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 2907 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gutenprint", +"repository": "rhel7-base" +} +], +"set_id": 2908 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gutenprint", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "gutenprint-libs", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "gutenprint-libs-ui", +"repository": "rhel8-AppStream" +} +], +"set_id": 2909 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-doc", +"repository": "rhel7-base" +} +], +"set_id": 2912 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2913 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-libs-lite", +"repository": "rhel7-base" +} +], +"set_id": 2914 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-export-libs", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "bind-libs-lite", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2915 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-lite-devel", +"repository": "rhel7-base" +} +], +"set_id": 2916 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-export-devel", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "bind-lite-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2917 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-bind", +"repository": "rhel8-AppStream" +} +], +"set_id": 2918 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached", +"repository": "rhel7-base" +} +], +"set_id": 2919 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "libmemcached-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2920 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnm-gtk", +"repository": "rhel7-optional" +} +], +"set_id": 2921 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnm-gtk-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "NetworkManager-glib", +"repository": "rhel7-optional" +} +], +"set_id": 2923 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "NetworkManager-glib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnl", +"repository": "rhel7-optional" +} +], +"set_id": 2925 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2926 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "NetworkManager-config-connectivity-redhat", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2927 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libnl3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2929 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk3-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2930 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk3-doc", +"repository": "rhel7-optional" +} +], +"set_id": 2931 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk3", +"repository": "rhel7-optional" +} +], +"set_id": 2932 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk4", +"repository": "rhel7-base" +} +], +"set_id": 2933 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkit2gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 2934 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xulrunner", +"repository": "rhel7-optional" +} +], +"set_id": 2935 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xulrunner", +"repository": "rhel7-optional" +} +], +"set_id": 2935 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xulrunner-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2936 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappindicator", +"repository": "rhel7-optional" +} +], +"set_id": 2937 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappindicator-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2938 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappindicator-docs", +"repository": "rhel7-optional" +} +], +"set_id": 2939 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappindicator-gtk3-devel", +"repository": "rhel7-base" +} +], +"set_id": 5295 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappindicator-gtk3-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5296 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-devel", +"repository": "rhel7-base" +} +], +"set_id": 5297 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5298 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 1650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-doc", +"repository": "rhel7-base" +} +], +"set_id": 2942 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 10119 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-gtk2", +"repository": "rhel7-optional" +} +], +"set_id": 2943 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-gtk2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2944 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-gtk3-devel", +"repository": "rhel7-base" +} +], +"set_id": 2945 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-gtk3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7539 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-jsonloader", +"repository": "rhel7-base" +} +], +"set_id": 2946 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-jsonloader-devel", +"repository": "rhel7-base" +} +], +"set_id": 2947 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 1656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-tools", +"repository": "rhel7-base" +} +], +"set_id": 2948 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator", +"repository": "rhel7-optional" +} +], +"set_id": 2949 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2950 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator-gtk3-devel", +"repository": "rhel7-base" +} +], +"set_id": 2951 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator-gtk3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7540 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator-gtk3-tools", +"repository": "rhel7-base" +} +], +"set_id": 2952 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator-tools", +"repository": "rhel7-optional" +} +], +"set_id": 2953 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnma-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2954 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnma-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 2955 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ModemManager-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2956 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ModemManager-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2957 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ModemManager-glib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2958 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ModemManager-glib-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2959 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ModemManager-vala", +"repository": "rhel7-optional" +} +], +"set_id": 2960 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mobile-broadband-provider-info-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2962 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "NetworkManager-libnm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2964 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "NetworkManager-libnm-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 2965 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmbim-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2966 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libqmi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 2968 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libical-glib", +"repository": "rhel7-optional" +} +], +"set_id": 2970 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghc-srpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 7674 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "targetd", +"repository": "rhel7-base" +} +], +"set_id": 6098 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1809, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-configshell", +"repository": "rhel7-base" +} +], +"set_id": 3111 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-configshell", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3112 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 1810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-rtslib", +"repository": "rhel7-base" +} +], +"set_id": 3113 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rtslib", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "target-restore", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3114 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pandoc", +"repository": "rhel8-CRB" +} +], +"set_id": 3314 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "valgrind-openmpi", +"repository": "rhel7-optional" +} +], +"set_id": 3317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3348 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3349 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-static", +"repository": "rhel7-optional" +} +], +"set_id": 3320 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3321 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-tools", +"repository": "rhel7-optional" +} +], +"set_id": 3322 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3323 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "papi-static", +"repository": "rhel7-optional" +} +], +"set_id": 3324 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "papi-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3325 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "papi-testsuite", +"repository": "rhel7-optional" +} +], +"set_id": 3326 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "papi-testsuite", +"repository": "rhel8-CRB" +} +], +"set_id": 3327 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemtap-testsuite", +"repository": "rhel7-optional" +} +], +"set_id": 3328 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemtap-testsuite", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3329 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "valgrind-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3330 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "valgrind-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3331 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3332 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3333 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3334 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3335 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-static", +"repository": "rhel7-optional" +} +], +"set_id": 3336 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3337 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-testsuite", +"repository": "rhel7-optional" +} +], +"set_id": 3338 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-testsuite", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3339 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-devel-static", +"repository": "rhel7-optional" +} +], +"set_id": 3340 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-devel-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3341 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-libelf-devel-static", +"repository": "rhel7-optional" +} +], +"set_id": 3342 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-libelf-devel-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3343 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpfm-python", +"repository": "rhel7-optional" +} +], +"set_id": 5767 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libpfm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5768 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpfm-static", +"repository": "rhel7-optional" +} +], +"set_id": 3346 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpfm-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3347 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdb", +"repository": "rhel7-base" +} +], +"set_id": 3350 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdb", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "gdb-headless", +"repository": "rhel8-AppStream" +} +], +"set_id": 3351 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansson-devel-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3352 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libteam-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3353 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "teamd-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3354 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-libteam", +"repository": "rhel7-optional" +} +], +"set_id": 3355 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clevis", +"repository": "rhel7-base" +} +], +"set_id": 3627 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clevis", +"repository": "rhel8-AppStream" +} +], +"set_id": 3628 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tang", +"repository": "rhel7-base" +} +], +"set_id": 3625 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tang", +"repository": "rhel8-AppStream" +} +], +"set_id": 3626 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "luksmeta", +"repository": "rhel7-base" +} +], +"set_id": 3629 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "luksmeta", +"repository": "rhel8-AppStream" +} +], +"set_id": 3630 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jose", +"repository": "rhel7-base" +} +], +"set_id": 3631 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jose", +"repository": "rhel8-AppStream" +} +], +"set_id": 3632 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-rhn-plugin", +"repository": "rhel7-base" +} +], +"set_id": 3360 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-plugin-spacewalk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3361 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhn-setup-gnome", +"repository": "rhel8-AppStream" +} +], +"set_id": 3362 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhn-setup", +"repository": "rhel8-AppStream" +} +], +"set_id": 3363 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhn-check", +"repository": "rhel8-AppStream" +} +], +"set_id": 3364 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhn-check", +"repository": "rhel8-AppStream" +} +], +"set_id": 3365 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhn-setup", +"repository": "rhel8-AppStream" +} +], +"set_id": 3366 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhn-client-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 3367 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhn-setup-gnome", +"repository": "rhel8-AppStream" +} +], +"set_id": 3368 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhn-client-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 3369 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhnlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 3370 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhnlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 3371 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontawesome-fonts-web", +"repository": "rhel7-base" +} +], +"set_id": 3372 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontawesome-fonts-web", +"repository": "rhel8-AppStream" +} +], +"set_id": 3373 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-access-plugin-ipa", +"repository": "rhel7-base" +} +], +"set_id": 3374 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-idna", +"repository": "rhel7-base" +} +], +"set_id": 3375 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-idna", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-idna", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3376 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuser-python", +"repository": "rhel7-base" +} +], +"set_id": 3379 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libuser", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3380 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adcli", +"repository": "rhel7-base" +} +], +"set_id": 3381 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adcli", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "adcli-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3382 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tang-nagios", +"repository": "rhel7-base" +} +], +"set_id": 3383 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tang-nagios", +"repository": "rhel7-base" +} +], +"set_id": 3383 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gamin-python", +"repository": "rhel7-base" +} +], +"set_id": 3384 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gamin-devel", +"repository": "rhel7-base" +} +], +"set_id": 3385 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gamin-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3386 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freerdp-devel", +"repository": "rhel7-base" +} +], +"set_id": 3387 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freerdp-devel", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "libwinpr-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3388 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freerdp-libs", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "freerdp-plugins", +"repository": "rhel7-base" +} +], +"set_id": 3389 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freerdp-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 3390 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-vfs2", +"repository": "rhel7-base" +} +], +"set_id": 3391 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-vfs2-devel", +"repository": "rhel7-base" +} +], +"set_id": 3392 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-vfs2-smb", +"repository": "rhel7-base" +} +], +"set_id": 3393 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-tests", +"repository": "rhel7-base" +} +], +"set_id": 3394 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-devel", +"repository": "rhel7-base" +} +], +"set_id": 3396 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3397 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freerdp", +"repository": "rhel7-base" +} +], +"set_id": 3400 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freerdp", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libwinpr", +"repository": "rhel8-AppStream" +} +], +"set_id": 3401 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdhash-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3404 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lasso-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3406 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbasicobjects-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3408 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbasicobjects-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3409 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcollection-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3410 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcollection-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3411 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libini_config-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3414 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libini_config-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3415 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libipa_hbac-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3416 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpath_utils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3418 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpath_utils-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3419 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libref_array-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3420 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libref_array-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3421 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsmbclient-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3422 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsmbclient-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3423 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsss_certmap-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3424 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsss_idmap-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3426 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsss_nss_idmap-devel", +"repository": "rhel7-optional" +} +], +"set_id": 10157 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsss_nss_idmap-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10158 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsss_simpleifp-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3430 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuser-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3432 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-glib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3434 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-libevent-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3436 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwbclient-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3438 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwbclient-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3439 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "meanwhile-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3440 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyldb-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3442 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pytalloc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3444 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "realmd-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 3446 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-devel", +"repository": "rhel7-optional" +} +], +"set_id": 10381 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10382 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-libwbclient-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3450 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm-tools-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3452 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm-tools-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3453 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3454 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3455 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-gcrypt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3456 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-gnutls-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3458 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-gnutls-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3459 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-nss-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3460 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-openssl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3462 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-openssl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3463 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-gcrypt", +"repository": "rhel7-optional" +} +], +"set_id": 3464 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-gcrypt", +"repository": "rhel8-AppStream" +} +], +"set_id": 3465 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-gnutls", +"repository": "rhel7-optional" +} +], +"set_id": 3466 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlsec1-gnutls", +"repository": "rhel8-AppStream" +} +], +"set_id": 3467 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "svrcore", +"repository": "rhel7-base" +} +], +"set_id": 3470 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "svrcore-devel", +"repository": "rhel7-base" +} +], +"set_id": 3471 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "svrcore-devel", +"repository": "rhel7-base" +} +], +"set_id": 3471 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_compat_ossl", +"repository": "rhel7-base" +} +], +"set_id": 3474 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-openssl10", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3475 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ElectricFence", +"repository": "rhel7-base" +} +], +"set_id": 3476 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-devel", +"repository": "rhel7-base" +} +], +"set_id": 3477 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libpthread-nonshared", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "glibc-devel", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "libnsl2-devel", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "libxcrypt-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3478 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bison-devel", +"repository": "rhel7-base" +} +], +"set_id": 3483 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-gcc-44", +"repository": "rhel7-base" +} +], +"set_id": 3484 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-gcc-44-c++", +"repository": "rhel7-base" +} +], +"set_id": 3485 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-gcc-44-gfortran", +"repository": "rhel7-base" +} +], +"set_id": 3486 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libf2c-34", +"repository": "rhel7-base" +} +], +"set_id": 3487 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libmpc", +"repository": "rhel7-base" +} +], +"set_id": 3489 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libstdc++-33", +"repository": "rhel7-base" +} +], +"set_id": 3490 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 2111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-5", +"repository": "rhel7-sap" +} +], +"set_id": 3491 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 2112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-6", +"repository": "rhel7-sap" +} +], +"set_id": 3492 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 2113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-7", +"repository": "rhel7-sap" +} +], +"set_id": 3493 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cppunit", +"repository": "rhel7-base" +} +], +"set_id": 3494 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cppunit-devel", +"repository": "rhel7-base" +} +], +"set_id": 3495 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cppunit-doc", +"repository": "rhel7-base" +} +], +"set_id": 3496 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flex-devel", +"repository": "rhel7-base" +} +], +"set_id": 3497 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flex-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10118 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-gnat", +"repository": "rhel7-base" +} +], +"set_id": 3498 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnat", +"repository": "rhel7-base" +} +], +"set_id": 3499 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnat-devel", +"repository": "rhel7-base" +} +], +"set_id": 3500 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnat-static", +"repository": "rhel7-base" +} +], +"set_id": 3501 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-go", +"repository": "rhel7-base" +} +], +"set_id": 3502 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgo", +"repository": "rhel7-base" +} +], +"set_id": 3503 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgo-devel", +"repository": "rhel7-base" +} +], +"set_id": 3504 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgo-static", +"repository": "rhel7-base" +} +], +"set_id": 3505 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-objc", +"repository": "rhel7-base" +} +], +"set_id": 3506 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-objc++", +"repository": "rhel7-base" +} +], +"set_id": 3507 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-plugin-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3508 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-plugin-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10199 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libasan-static", +"repository": "rhel7-base" +} +], +"set_id": 3509 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgfortran4", +"repository": "rhel7-base" +} +], +"set_id": 3510 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgfortran5", +"repository": "rhel7-base" +} +], +"set_id": 3511 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgfortran-static", +"repository": "rhel7-base" +} +], +"set_id": 3512 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libitm-static", +"repository": "rhel7-base" +} +], +"set_id": 3513 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmpc-devel", +"repository": "rhel7-base" +} +], +"set_id": 3514 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmpc-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13111 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libobjc", +"repository": "rhel7-base" +} +], +"set_id": 3515 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libquadmath-static", +"repository": "rhel7-base" +} +], +"set_id": 3516 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstdc++-static", +"repository": "rhel7-base" +} +], +"set_id": 3517 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstdc++-static", +"repository": "rhel8-CRB" +} +], +"set_id": 10200 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtsan-static", +"repository": "rhel7-base" +} +], +"set_id": 3518 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "memstomp", +"repository": "rhel7-base" +} +], +"set_id": 3519 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "prelink", +"repository": "rhel7-base" +} +], +"set_id": 3520 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "execstack", +"repository": "rhel8-CRB" +} +], +"set_id": 9421 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pth", +"repository": "rhel7-base" +} +], +"set_id": 3521 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "npth", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3522 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pth-devel", +"repository": "rhel7-base" +} +], +"set_id": 3523 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lib389", +"repository": "rhel8-AppStream" +} +], +"set_id": 3525 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-openldap", +"repository": "rhel7-base" +} +], +"set_id": 3526 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-openldap", +"repository": "rhel7-base" +} +], +"set_id": 3526 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tbb", +"repository": "rhel8-AppStream" +} +], +"set_id": 3527 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base", +"repository": "rhel7-base" +} +], +"set_id": 3528 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "389-ds", +"stream": "1.4" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "389-ds", +"stream": "1.4" +} +], +"name": "389-ds-base", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "389-ds", +"stream": "1.4" +} +], +"name": "389-ds-base-legacy-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 3529 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base-legacy-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 3530 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libproxy-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3533 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libproxy-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3534 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libproxy-mozjs", +"repository": "rhel7-base" +} +], +"set_id": 3535 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libproxy-webkitgtk4", +"repository": "rhel8-AppStream" +} +], +"set_id": 3536 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libproxy-kde", +"repository": "rhel7-optional" +} +], +"set_id": 3537 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libproxy-python", +"repository": "rhel7-optional" +} +], +"set_id": 3538 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libproxy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3539 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libproxy-webkitgtk3", +"repository": "rhel7-optional" +} +], +"set_id": 3540 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libproxy-webkitgtk4", +"repository": "rhel8-AppStream" +} +], +"set_id": 3541 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mcpp", +"repository": "rhel8-AppStream" +} +], +"set_id": 5559 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tbb", +"repository": "rhel7-base" +} +], +"set_id": 3543 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tbb", +"repository": "rhel8-AppStream" +} +], +"set_id": 3544 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-utils", +"repository": "rhel7-base" +} +], +"set_id": 3545 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 3546 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-collector", +"repository": "rhel7-base" +} +], +"set_id": 3548 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-collector", +"repository": "rhel7-base" +} +], +"set_id": 3547 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-monitor", +"repository": "rhel7-base" +} +], +"set_id": 3549 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-monitor", +"repository": "rhel7-base" +} +], +"set_id": 3549 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-kvm", +"repository": "rhel7-base" +} +], +"set_id": 3550 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 3551 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pcp", +"repository": "rhel7-base" +} +], +"set_id": 3552 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 3553 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "args4j", +"repository": "rhel7-base" +} +], +"set_id": 3554 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "args4j-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3567 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "codemodel", +"repository": "rhel7-base" +} +], +"set_id": 3556 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "codemodel", +"repository": "rhel8-CRB" +} +], +"set_id": 3557 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "codemodel-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3558 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-dtd-parser", +"repository": "rhel7-base" +} +], +"set_id": 3565 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-dtd-parser-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3566 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb", +"repository": "rhel7-base" +} +], +"set_id": 3692 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-bom", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-bom-ext", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-codemodel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-codemodel-annotation-compiler", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-codemodel-parent", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-core", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-external-parent", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-parent", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-rngom", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-runtime", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-runtime-parent", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-txw2", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-txw-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 3693 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3564 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "istack-commons", +"repository": "rhel7-base" +} +], +"set_id": 5320 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "istack-commons", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "istack-commons-runtime", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "istack-commons-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 5321 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "istack-commons-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3570 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jackson", +"repository": "rhel7-base" +} +], +"set_id": 3572 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-annotations", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-core", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-databind", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-jaxrs-json-provider", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-jaxrs-providers", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-jaxrs-providers-datatypes", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-module-jaxb-annotations", +"repository": "rhel8-AppStream" +} +], +"set_id": 3573 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jackson-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 3574 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-annotations-javadoc", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-core-javadoc", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-databind-javadoc", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-jaxrs-providers-javadoc", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-module-jaxb-annotations-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 3575 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-annotations-1.1-api", +"repository": "rhel7-base" +} +], +"set_id": 3576 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-annotations-1.2-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 3577 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-annotations-1.1-api-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 3578 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "json-c", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3580 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libestr", +"repository": "rhel7-base" +} +], +"set_id": 3581 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libestr", +"repository": "rhel8-AppStream" +} +], +"set_id": 3582 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfastjson-devel", +"repository": "rhel7-base" +} +], +"set_id": 3583 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sudo-devel", +"repository": "rhel7-base" +} +], +"set_id": 3585 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbguard-devel", +"repository": "rhel7-base" +} +], +"set_id": 3587 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "policycoreutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3589 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libestr-devel", +"repository": "rhel7-base" +} +], +"set_id": 3593 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog-libdbi", +"repository": "rhel7-base" +} +], +"set_id": 3595 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog-libdbi", +"repository": "rhel7-base" +} +], +"set_id": 3595 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "json-c-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3596 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "json-c-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7531 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "json-c-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3598 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "json-c-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 7677 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libee-devel", +"repository": "rhel7-base" +} +], +"set_id": 3606 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libee-utils", +"repository": "rhel7-base" +} +], +"set_id": 3607 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblognorm-devel", +"repository": "rhel7-base" +} +], +"set_id": 3603 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libee-utils", +"repository": "rhel7-base" +} +], +"set_id": 3607 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl098e", +"repository": "rhel7-base" +} +], +"set_id": 3608 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librelp-devel", +"repository": "rhel7-base" +} +], +"set_id": 3609 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblognorm-doc", +"repository": "rhel7-base" +} +], +"set_id": 3614 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblognorm-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 3615 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblognorm-utils", +"repository": "rhel7-base" +} +], +"set_id": 3616 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblognorm-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 3617 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo", +"repository": "rhel7-base" +} +], +"set_id": 10097 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-createrepo_c", +"repository": "rhel8-AppStream" +} +], +"set_id": 10098 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "deltarpm", +"repository": "rhel7-base" +} +], +"set_id": 5443 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "drpm", +"repository": "rhel8-AppStream" +} +], +"set_id": 5444 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbguard-tools", +"repository": "rhel7-base" +} +], +"set_id": 3621 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbguard-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 3622 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbguard-dbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 3623 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libselinux-static", +"repository": "rhel7-optional" +} +], +"set_id": 3633 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-urlgrabber", +"repository": "rhel7-base" +} +], +"set_id": 5411 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsemanage-static", +"repository": "rhel7-optional" +} +], +"set_id": 3636 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsepol-static", +"repository": "rhel7-optional" +} +], +"set_id": 3638 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsepol-static", +"repository": "rhel8-CRB" +} +], +"set_id": 7544 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setools-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3640 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-python", +"repository": "rhel7-base" +} +], +"set_id": 3641 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rpm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3642 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-cron", +"repository": "rhel7-base" +} +], +"set_id": 3644 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-automatic", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3645 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-metadata-parser", +"repository": "rhel7-base" +} +], +"set_id": 3646 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dnf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5359 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libseccomp-devel", +"repository": "rhel7-base" +} +], +"set_id": 3647 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libseccomp-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7530 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-NetworkManager-dispatcher", +"repository": "rhel7-optional" +} +], +"set_id": 3649 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setools", +"repository": "rhel7-optional" +} +], +"set_id": 3650 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setools", +"repository": "rhel8-AppStream" +} +], +"set_id": 3651 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsemanage-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3652 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-versionlock", +"repository": "rhel7-base" +} +], +"set_id": 3654 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dnf-plugin-versionlock", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3655 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-servlet-2.5-api", +"repository": "rhel7-base" +} +], +"set_id": 3656 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-servlet-2.5-api-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3657 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-servlet-3.0-api", +"repository": "rhel7-base" +} +], +"set_id": 3658 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-servlet-3.0-api-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3659 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-specs-parent", +"repository": "rhel7-base" +} +], +"set_id": 3660 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsr-311", +"repository": "rhel7-base" +} +], +"set_id": 3661 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsr-311-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3662 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3663 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "relaxngcc", +"repository": "rhel7-optional" +} +], +"set_id": 3664 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base", +"repository": "rhel7-optional" +} +], +"set_id": 3666 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3667 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-atom-provider", +"repository": "rhel7-base" +} +], +"set_id": 3668 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3669 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-client", +"repository": "rhel7-base" +} +], +"set_id": 3670 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3671 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-jackson-provider", +"repository": "rhel7-base" +} +], +"set_id": 3672 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3673 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 3674 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 3675 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-jaxb-provider", +"repository": "rhel7-base" +} +], +"set_id": 3676 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3677 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-jaxrs", +"repository": "rhel7-base" +} +], +"set_id": 3678 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3679 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-jaxrs-all", +"repository": "rhel7-optional" +} +], +"set_id": 3680 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3681 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-jaxrs-api", +"repository": "rhel7-base" +} +], +"set_id": 3682 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3683 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-jettison-provider", +"repository": "rhel7-base" +} +], +"set_id": 3684 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-providers-pom", +"repository": "rhel7-optional" +} +], +"set_id": 3685 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3686 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-resteasy-pom", +"repository": "rhel7-optional" +} +], +"set_id": 3687 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 3688 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resteasy-base-tjws", +"repository": "rhel7-base" +} +], +"set_id": 3689 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "txw2", +"repository": "rhel7-base" +} +], +"set_id": 3690 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "txw2-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 3691 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-base", +"repository": "rhel7-base" +} +], +"set_id": 3694 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-base", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "python3-pki", +"repository": "rhel8-AppStream" +} +], +"set_id": 3695 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpwquality-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3696 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpwquality-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7541 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-gconfig-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3698 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-glib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3700 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-gobject-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3702 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-python", +"repository": "rhel7-base" +} +], +"set_id": 3704 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libvirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 3705 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-lxc", +"repository": "rhel7-base" +} +], +"set_id": 3706 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-lxc", +"repository": "rhel7-base" +} +], +"set_id": 3707 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-login-shell", +"repository": "rhel7-base" +} +], +"set_id": 3708 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-servers", +"repository": "rhel7-base" +} +], +"set_id": 3709 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam_krb5", +"repository": "rhel7-base" +} +], +"set_id": 3711 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-kerberos", +"repository": "rhel7-base" +} +], +"set_id": 3712 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-krbV", +"repository": "rhel7-base" +} +], +"set_id": 3713 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_nss", +"repository": "rhel7-base" +} +], +"set_id": 3714 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon", +"repository": "rhel7-base" +} +], +"set_id": 3715 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-filesystem", +"repository": "rhel7-base" +} +], +"set_id": 3716 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-base", +"repository": "rhel7-base" +} +], +"set_id": 3717 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-client", +"repository": "rhel7-base" +} +], +"set_id": 3718 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-authldap", +"repository": "rhel7-base" +} +], +"set_id": 3719 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-saml2-base", +"repository": "rhel7-base" +} +], +"set_id": 3720 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-infosssd", +"repository": "rhel7-base" +} +], +"set_id": 3721 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-authform", +"repository": "rhel7-base" +} +], +"set_id": 3722 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-persona", +"repository": "rhel7-base" +} +], +"set_id": 3723 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-saml2", +"repository": "rhel7-base" +} +], +"set_id": 3724 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-tools-ipa", +"repository": "rhel7-base" +} +], +"set_id": 3725 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipsilon-authgssapi", +"repository": "rhel7-base" +} +], +"set_id": 3726 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-verify", +"repository": "rhel7-base" +} +], +"set_id": 3727 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-upgrade-helper", +"repository": "rhel7-optional" +} +], +"set_id": 3728 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libi2c", +"repository": "rhel8-AppStream" +} +], +"set_id": 3735 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PackageKit", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "PackageKit-yum", +"repository": "rhel7-base" +} +], +"set_id": 9275 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PackageKit", +"repository": "rhel8-AppStream" +} +], +"set_id": 9276 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-ovl", +"repository": "rhel7-base" +} +], +"set_id": 3738 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-filter-data", +"repository": "rhel7-optional" +} +], +"set_id": 3739 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-fs-snapshot", +"repository": "rhel7-optional" +} +], +"set_id": 3740 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-keys", +"repository": "rhel7-optional" +} +], +"set_id": 3741 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-list-data", +"repository": "rhel7-optional" +} +], +"set_id": 3742 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-local", +"repository": "rhel7-optional" +} +], +"set_id": 3743 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-merge-conf", +"repository": "rhel7-optional" +} +], +"set_id": 3744 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-post-transaction-actions", +"repository": "rhel7-optional" +} +], +"set_id": 3745 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-pre-transaction-actions", +"repository": "rhel7-optional" +} +], +"set_id": 3746 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-protectbase", +"repository": "rhel7-optional" +} +], +"set_id": 3747 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-ps", +"repository": "rhel7-optional" +} +], +"set_id": 3748 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-rpm-warm-cache", +"repository": "rhel7-optional" +} +], +"set_id": 3749 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-show-leaves", +"repository": "rhel7-optional" +} +], +"set_id": 3750 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-updateonboot", +"repository": "rhel7-optional" +} +], +"set_id": 3751 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-auto-update-debug-info", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "yum-plugin-changelog", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "yum-plugin-copr", +"repository": "rhel7-optional" +} +], +"set_id": 3754 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-plugins-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3755 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_compat_ossl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3758 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_compat_ossl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3758 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3759 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10108 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-static", +"repository": "rhel7-optional" +} +], +"set_id": 3761 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "popt-static", +"repository": "rhel7-optional" +} +], +"set_id": 3763 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpd-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 3765 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "popt-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3766 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_wsgi", +"repository": "rhel7-base" +} +], +"set_id": 3768 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-mod_wsgi", +"repository": "rhel8-AppStream" +} +], +"set_id": 3769 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kabi-dw", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3774 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3775 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oscap-anaconda-addon", +"repository": "rhel7-base" +} +], +"set_id": 3776 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oscap-anaconda-addon", +"repository": "rhel8-AppStream" +} +], +"set_id": 3777 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-glib", +"repository": "rhel7-optional" +} +], +"set_id": 3778 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-tevent", +"repository": "rhel7-optional" +} +], +"set_id": 3780 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-tevent-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3781 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_auth_mellon-diagnostics", +"repository": "rhel7-optional" +} +], +"set_id": 3782 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bogofilter-bogoupgrade", +"repository": "rhel7-optional" +} +], +"set_id": 3784 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "meanwhile-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3786 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-nss-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "python-nss-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 3789 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audispd-plugins-zos", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3790 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audit-libs-python", +"repository": "rhel7-base" +} +], +"set_id": 3791 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hesiod", +"repository": "rhel7-base" +} +], +"set_id": 3792 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hesiod-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3793 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hesiod-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3794 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "coolkey-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cracklib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3798 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cracklib-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7549 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cracklib-python", +"repository": "rhel7-base" +} +], +"set_id": 3801 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fipscheck-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fipscheck-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7550 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libassuan-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libassuan-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7551 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libksba-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libksba-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7552 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-389-ds", +"repository": "rhel8-AppStream" +} +], +"set_id": 3808 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-deltarpm", +"repository": "rhel7-base" +} +], +"set_id": 4849 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-utils", +"repository": "rhel7-base" +} +], +"set_id": 10113 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10114 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-isodate", +"repository": "rhel7-highavailability" +} +], +"set_id": 3813 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "python3", +"repository": "rhel7-base" +} +], +"set_id": 3815 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5476 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 3818 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3819 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xterm", +"repository": "rhel7-base" +} +], +"set_id": 3820 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xterm", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "xterm-resize", +"repository": "rhel8-AppStream" +} +], +"set_id": 3821 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m2crypto", +"repository": "rhel7-base" +} +], +"set_id": 3822 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m2crypto", +"repository": "rhel7-base" +} +], +"set_id": 3822 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssh-server-sysvinit", +"repository": "rhel7-base" +} +], +"set_id": 3823 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssh-server-sysvinit", +"repository": "rhel7-base" +} +], +"set_id": 3823 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-static", +"repository": "rhel7-optional" +} +], +"set_id": 3824 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyOpenSSL", +"repository": "rhel7-base" +} +], +"set_id": 3826 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyOpenSSL", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3827 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyOpenSSL-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3828 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PyPAM", +"repository": "rhel7-base" +} +], +"set_id": 3830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PyPAM", +"repository": "rhel7-base" +} +], +"set_id": 3830 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pwquality", +"repository": "rhel7-base" +} +], +"set_id": 3831 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pwquality", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3832 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcp_wrappers-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3833 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcp_wrappers-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3833 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcp_wrappers-libs", +"repository": "rhel7-optional" +} +], +"set_id": 3834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcp_wrappers-libs", +"repository": "rhel7-optional" +} +], +"set_id": 3834 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libssh-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3835 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-imapd-vzic", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3836 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freetype-demos", +"repository": "rhel7-optional" +} +], +"set_id": 3837 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-cpp", +"repository": "rhel7-optional" +} +], +"set_id": 3838 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-cpp", +"repository": "rhel8-CRB" +} +], +"set_id": 7537 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-qt", +"repository": "rhel7-base" +} +], +"set_id": 3839 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-demos", +"repository": "rhel7-optional" +} +], +"set_id": 3840 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgxps-tools", +"repository": "rhel7-optional" +} +], +"set_id": 3841 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-common", +"repository": "rhel7-base" +} +], +"set_id": 3842 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-common", +"repository": "rhel8-CRB" +} +], +"set_id": 7538 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtnc", +"repository": "rhel7-base" +} +], +"set_id": 3843 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtnc-devel", +"repository": "rhel7-base" +} +], +"set_id": 3844 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4cxx", +"repository": "rhel7-base" +} +], +"set_id": 3845 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4cxx-devel", +"repository": "rhel7-base" +} +], +"set_id": 3846 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "strongimcv", +"repository": "rhel7-base" +} +], +"set_id": 3847 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tncfhh", +"repository": "rhel7-base" +} +], +"set_id": 3848 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tncfhh-devel", +"repository": "rhel7-base" +} +], +"set_id": 3849 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tncfhh-examples", +"repository": "rhel7-base" +} +], +"set_id": 3850 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tncfhh-libs", +"repository": "rhel7-base" +} +], +"set_id": 3851 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tncfhh-utils", +"repository": "rhel7-base" +} +], +"set_id": 3852 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libev", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3853 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nghttp2", +"repository": "rhel8-CRB" +} +], +"set_id": 3854 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brltty-espeak-ng", +"repository": "rhel8-AppStream" +} +], +"set_id": 3855 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix", +"repository": "rhel7-base" +} +], +"set_id": 3856 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "postfix-mysql", +"repository": "rhel8-AppStream" +} +], +"set_id": 3857 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcl", +"repository": "rhel7-base" +} +], +"set_id": 3862 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcl", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "tcl-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3863 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-pkcs11-devel", +"repository": "rhel7-base" +} +], +"set_id": 3867 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "p11-kit-doc", +"repository": "rhel7-base" +} +], +"set_id": 3868 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "p11-kit-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3869 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "p11-kit-server", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3870 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-awesomebox", +"repository": "rhel8-AppStream" +} +], +"set_id": 3871 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3872 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authselect", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3873 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-build-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3874 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authselect-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3875 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lasso-python", +"repository": "rhel7-base" +} +], +"set_id": 3876 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-anyfontsize", +"repository": "rhel8-AppStream" +} +], +"set_id": 3878 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3879 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-build", +"repository": "rhel7-base" +} +], +"set_id": 3880 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-build", +"repository": "rhel8-AppStream" +} +], +"set_id": 3881 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-sign", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3882 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-babel-english", +"repository": "rhel8-AppStream" +} +], +"set_id": 3883 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-breqn", +"repository": "rhel8-AppStream" +} +], +"set_id": 3884 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-capt-of", +"repository": "rhel8-AppStream" +} +], +"set_id": 3885 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-classpack", +"repository": "rhel8-AppStream" +} +], +"set_id": 3886 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ctablestack", +"repository": "rhel8-AppStream" +} +], +"set_id": 3887 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dvisvgm", +"repository": "rhel8-AppStream" +} +], +"set_id": 3888 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-environ", +"repository": "rhel8-AppStream" +} +], +"set_id": 3889 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-eqparbox", +"repository": "rhel8-AppStream" +} +], +"set_id": 3890 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-finstrut", +"repository": "rhel8-AppStream" +} +], +"set_id": 3891 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontawesome", +"repository": "rhel8-AppStream" +} +], +"set_id": 3892 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fonts-tlwg", +"repository": "rhel8-AppStream" +} +], +"set_id": 3893 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-graphics-cfg", +"repository": "rhel8-AppStream" +} +], +"set_id": 3894 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-import", +"repository": "rhel8-AppStream" +} +], +"set_id": 3896 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-knuth-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 3897 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-knuth-local", +"repository": "rhel8-AppStream" +} +], +"set_id": 3898 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-latex2man", +"repository": "rhel8-AppStream" +} +], +"set_id": 3899 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-linegoal", +"repository": "rhel8-AppStream" +} +], +"set_id": 3901 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lineno", +"repository": "rhel8-AppStream" +} +], +"set_id": 3902 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ltabptch", +"repository": "rhel8-AppStream" +} +], +"set_id": 3903 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lualibs", +"repository": "rhel8-AppStream" +} +], +"set_id": 3904 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-luatex85", +"repository": "rhel8-AppStream" +} +], +"set_id": 3905 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-manfnt-font", +"repository": "rhel8-AppStream" +} +], +"set_id": 3906 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mathtools", +"repository": "rhel8-AppStream" +} +], +"set_id": 3907 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mflogo-font", +"repository": "rhel8-AppStream" +} +], +"set_id": 3908 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-needspace", +"repository": "rhel8-AppStream" +} +], +"set_id": 3909 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tabu", +"repository": "rhel8-AppStream" +} +], +"set_id": 3910 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tabulary", +"repository": "rhel8-AppStream" +} +], +"set_id": 3911 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex-ini-files", +"repository": "rhel8-AppStream" +} +], +"set_id": 3912 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive-common-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 3913 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive-docindex", +"repository": "rhel8-AppStream" +} +], +"set_id": 3914 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 3915 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive-msg-translations", +"repository": "rhel8-AppStream" +} +], +"set_id": 3916 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive-scripts", +"repository": "rhel8-AppStream" +} +], +"set_id": 3917 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-trimspaces", +"repository": "rhel8-AppStream" +} +], +"set_id": 3918 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-unicode-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 3919 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-updmap-map", +"repository": "rhel8-AppStream" +} +], +"set_id": 3920 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-upquote", +"repository": "rhel8-AppStream" +} +], +"set_id": 3921 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wasy2-ps", +"repository": "rhel8-AppStream" +} +], +"set_id": 3922 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xmltexconfig", +"repository": "rhel8-AppStream" +} +], +"set_id": 3923 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-libidn", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "libidn", +"repository": "rhel7-base" +} +], +"set_id": 3924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3925 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "doxygen", +"repository": "rhel7-base" +} +], +"set_id": 3926 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "doxygen", +"repository": "rhel8-AppStream" +} +], +"set_id": 3927 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "doxygen-doxywizard", +"repository": "rhel7-base" +} +], +"set_id": 3928 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "doxygen-doxywizard", +"repository": "rhel8-AppStream" +} +], +"set_id": 3929 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "doxygen-latex", +"repository": "rhel7-base" +} +], +"set_id": 3930 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "doxygen-latex", +"repository": "rhel8-AppStream" +} +], +"set_id": 3931 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnetfilter_cthelper", +"repository": "rhel7-base" +} +], +"set_id": 3932 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnetfilter_cthelper", +"repository": "rhel8-AppStream" +} +], +"set_id": 3933 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnetfilter_cttimeout", +"repository": "rhel7-base" +} +], +"set_id": 3934 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnetfilter_cttimeout", +"repository": "rhel8-AppStream" +} +], +"set_id": 3935 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-apidocs", +"repository": "rhel7-optional" +} +], +"set_id": 3936 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-apidocs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3937 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-cron", +"repository": "rhel7-optional" +} +], +"set_id": 3938 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-cron", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3939 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-selinux", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3940 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-prioreset", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3941 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-syslog", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3942 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-ima", +"repository": "rhel8-BaseOS" +} +], +"set_id": 3943 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnetfilter_cttimeout-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3944 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnetfilter_cthelper-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3946 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-thailatex", +"repository": "rhel7-optional" +} +], +"set_id": 3948 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-thailatex-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3949 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-java-connector", +"repository": "rhel7-base" +} +], +"set_id": 3950 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-java-connector", +"repository": "rhel8-AppStream" +} +], +"set_id": 3951 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-newt", +"repository": "rhel7-base" +} +], +"set_id": 3952 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-newt", +"repository": "rhel8-AppStream" +} +], +"set_id": 3953 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-kerneloops", +"repository": "rhel7-base" +} +], +"set_id": 3954 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-kerneloops", +"repository": "rhel8-AppStream" +} +], +"set_id": 3955 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-logger", +"repository": "rhel7-base" +} +], +"set_id": 3956 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-logger", +"repository": "rhel8-AppStream" +} +], +"set_id": 3957 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-misc", +"repository": "rhel7-optional" +} +], +"set_id": 3958 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mh", +"repository": "rhel7-optional" +} +], +"set_id": 3959 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mh-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3960 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-collection-documentation-base", +"repository": "rhel7-optional" +} +], +"set_id": 3961 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libical-glib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3962 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libical-glib-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3963 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bibtex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-bibtex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4774 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bibtex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4775 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-upload-watch", +"repository": "rhel7-optional" +} +], +"set_id": 3966 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3968 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-gui-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3970 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-retrace-client", +"repository": "rhel7-optional" +} +], +"set_id": 3972 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "asciidoc-doc", +"repository": "rhel7-optional" +} +], +"set_id": 3974 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "asciidoc-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 3975 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "asciidoc-latex", +"repository": "rhel7-optional" +} +], +"set_id": 3976 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "babl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3978 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "babl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3979 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "babl-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 3980 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "babl-devel-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 3981 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bacula-console-bat", +"repository": "rhel7-optional" +} +], +"set_id": 3982 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bacula-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3984 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bacula-traymonitor", +"repository": "rhel7-optional" +} +], +"set_id": 3986 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bmc-snmp-proxy", +"repository": "rhel7-optional" +} +], +"set_id": 3988 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cim-schema-docs", +"repository": "rhel7-optional" +} +], +"set_id": 3990 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook5-style-xsl-extensions", +"repository": "rhel7-optional" +} +], +"set_id": 3992 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dovecot-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3994 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dovecot-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 3995 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "expect-devel", +"repository": "rhel7-optional" +} +], +"set_id": 3996 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "expectk", +"repository": "rhel7-optional" +} +], +"set_id": 3998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "filesystem-content", +"repository": "rhel7-optional" +} +], +"set_id": 4000 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeipmi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeipmi-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4003 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gegl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gpgme-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gpgme-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4007 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gpm-static", +"repository": "rhel7-optional" +} +], +"set_id": 4008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "help2man", +"repository": "rhel7-optional" +} +], +"set_id": 4010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "help2man", +"repository": "rhel8-CRB" +} +], +"set_id": 4011 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jasper", +"repository": "rhel7-optional" +} +], +"set_id": 4012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jasper-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jasper-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4015 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jasper-utils", +"repository": "rhel7-optional" +} +], +"set_id": 4016 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "latex2html", +"repository": "rhel7-optional" +} +], +"set_id": 4018 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "latex2html", +"repository": "rhel8-CRB" +} +], +"set_id": 4019 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgphoto2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4020 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgphoto2-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4021 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librabbitmq-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librabbitmq-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4023 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librepo-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4024 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-compat", +"repository": "rhel7-optional" +} +], +"set_id": 4026 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4028 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-gtk-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4030 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-web-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4032 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsmi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsndfile-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4036 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsndfile-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4037 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsndfile-utils", +"repository": "rhel7-optional" +} +], +"set_id": 4038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwsman-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwsman-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10187 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "linuxdoc-tools", +"repository": "rhel7-optional" +} +], +"set_id": 4042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "linuxdoc-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 4043 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lockdev-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4044 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lockdev-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4045 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "netpbm-doc", +"repository": "rhel7-optional" +} +], +"set_id": 4046 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "netpbm-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 4047 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "net-snmp-gui", +"repository": "rhel7-optional" +} +], +"set_id": 4048 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "net-snmp-perl", +"repository": "rhel7-optional" +} +], +"set_id": 4050 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv", +"repository": "rhel7-optional" +} +], +"set_id": 4052 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "opencv-contrib", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "opencv-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 4053 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4054 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4055 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openhpi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4056 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenIPMI-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4058 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenIPMI-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4059 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openslp-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4060 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opensp-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4062 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opensp-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 4063 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openwsman-perl", +"repository": "rhel7-optional" +} +], +"set_id": 4064 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pciutils-devel-static", +"repository": "rhel7-optional" +} +], +"set_id": 4066 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "psutils", +"repository": "rhel7-optional" +} +], +"set_id": 4068 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "psutils-perl", +"repository": "rhel7-optional" +} +], +"set_id": 4070 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "recode-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4072 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "recode-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4073 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-sfcc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4074 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-sfcc-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4075 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texi2html", +"repository": "rhel7-optional" +} +], +"set_id": 4076 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texi2html", +"repository": "rhel8-CRB" +} +], +"set_id": 4077 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texinfo-tex", +"repository": "rhel7-optional" +} +], +"set_id": 4078 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texinfo-tex", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4079 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tix-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4080 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tix-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 4081 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tix-doc", +"repository": "rhel7-optional" +} +], +"set_id": 4082 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tog-pegasus-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4084 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tog-pegasus-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4085 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tog-pegasus-test", +"repository": "rhel7-optional" +} +], +"set_id": 4086 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-c++", +"repository": "rhel7-optional" +} +], +"set_id": 4088 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-c++-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4090 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-dce", +"repository": "rhel7-optional" +} +], +"set_id": 4092 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-dce-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4094 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4096 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4097 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-perl", +"repository": "rhel7-optional" +} +], +"set_id": 4098 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlto-xhtml", +"repository": "rhel7-optional" +} +], +"set_id": 4100 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook5-schemas", +"repository": "rhel7-base" +} +], +"set_id": 4102 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook5-schemas", +"repository": "rhel8-CRB" +} +], +"set_id": 4103 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook5-style-xsl", +"repository": "rhel7-base" +} +], +"set_id": 4104 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook-style-dsssl", +"repository": "rhel7-base" +} +], +"set_id": 4106 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook-style-dsssl", +"repository": "rhel8-CRB" +} +], +"set_id": 4107 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook-utils", +"repository": "rhel7-base" +} +], +"set_id": 4108 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook-utils", +"repository": "rhel8-CRB" +} +], +"set_id": 4109 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook-utils-pdf", +"repository": "rhel7-base" +} +], +"set_id": 4110 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dovecot-pigeonhole", +"repository": "rhel7-base" +} +], +"set_id": 4112 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "netpbm-devel", +"repository": "rhel7-base" +} +], +"set_id": 4114 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "netpbm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4115 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjade", +"repository": "rhel7-base" +} +], +"set_id": 4118 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openjade", +"repository": "rhel8-CRB" +} +], +"set_id": 4119 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openslp-server", +"repository": "rhel7-base" +} +], +"set_id": 4120 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opensp", +"repository": "rhel7-base" +} +], +"set_id": 4122 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opensp", +"repository": "rhel8-CRB" +} +], +"set_id": 4123 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "passivetex", +"repository": "rhel7-base" +} +], +"set_id": 4124 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-SGMLSpm", +"repository": "rhel7-base" +} +], +"set_id": 4126 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-SGMLSpm", +"repository": "rhel8-CRB" +} +], +"set_id": 4127 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "screen", +"repository": "rhel7-base" +} +], +"set_id": 4128 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tog-pegasus-libs", +"repository": "rhel7-base" +} +], +"set_id": 4130 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tog-pegasus-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 4131 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmltoman", +"repository": "rhel7-base" +} +], +"set_id": 4132 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmltoman", +"repository": "rhel8-CRB" +} +], +"set_id": 4133 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlto-tex", +"repository": "rhel7-base" +} +], +"set_id": 4134 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "enchant-aspell", +"repository": "rhel7-optional" +} +], +"set_id": 4136 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "enchant-voikko", +"repository": "rhel7-optional" +} +], +"set_id": 4137 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-doc", +"repository": "rhel7-optional" +} +], +"set_id": 4138 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 10195 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-perl", +"repository": "rhel7-optional" +} +], +"set_id": 4139 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-perl", +"repository": "rhel8-CRB" +} +], +"set_id": 10194 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-tests", +"repository": "rhel7-optional" +} +], +"set_id": 4140 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-tests", +"repository": "rhel8-CRB" +} +], +"set_id": 10193 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi", +"repository": "rhel7-base" +} +], +"set_id": 4141 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-account", +"repository": "rhel7-base" +} +], +"set_id": 4142 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-account-doc", +"repository": "rhel7-base" +} +], +"set_id": 4143 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-fan", +"repository": "rhel7-base" +} +], +"set_id": 4144 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-fan-doc", +"repository": "rhel7-base" +} +], +"set_id": 4145 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-hardware", +"repository": "rhel7-base" +} +], +"set_id": 4146 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-hardware-doc", +"repository": "rhel7-base" +} +], +"set_id": 4147 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-indicationmanager-libs", +"repository": "rhel7-base" +} +], +"set_id": 4148 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-logicalfile", +"repository": "rhel7-base" +} +], +"set_id": 4149 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-logicalfile-doc", +"repository": "rhel7-base" +} +], +"set_id": 4150 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-networking-doc", +"repository": "rhel7-base" +} +], +"set_id": 4151 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-powermanagement", +"repository": "rhel7-base" +} +], +"set_id": 4152 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-powermanagement-doc", +"repository": "rhel7-base" +} +], +"set_id": 4153 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-providers-devel", +"repository": "rhel7-base" +} +], +"set_id": 4154 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-python-base", +"repository": "rhel7-base" +} +], +"set_id": 4155 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-python-providers", +"repository": "rhel7-base" +} +], +"set_id": 4156 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-realmd", +"repository": "rhel7-base" +} +], +"set_id": 4157 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-realmd-doc", +"repository": "rhel7-base" +} +], +"set_id": 4158 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-service", +"repository": "rhel7-base" +} +], +"set_id": 4159 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-service-doc", +"repository": "rhel7-base" +} +], +"set_id": 4160 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-software", +"repository": "rhel7-base" +} +], +"set_id": 4161 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-software-doc", +"repository": "rhel7-base" +} +], +"set_id": 4162 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-storage", +"repository": "rhel7-base" +} +], +"set_id": 4163 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-storage-doc", +"repository": "rhel7-base" +} +], +"set_id": 4164 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-tools", +"repository": "rhel7-base" +} +], +"set_id": 4165 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4190 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10192 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 4192 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-tests", +"repository": "rhel7-optional" +} +], +"set_id": 4193 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-indicationmanager-libs-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4194 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-journald", +"repository": "rhel7-optional" +} +], +"set_id": 4195 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-journald-doc", +"repository": "rhel7-optional" +} +], +"set_id": 4196 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-pcp", +"repository": "rhel7-optional" +} +], +"set_id": 4197 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-python-test", +"repository": "rhel7-optional" +} +], +"set_id": 4198 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkhtml3", +"repository": "rhel7-base" +} +], +"set_id": 4204 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkhtml3-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4205 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "highlight-gui", +"repository": "rhel7-optional" +} +], +"set_id": 4206 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "highlight-gui", +"repository": "rhel8-AppStream" +} +], +"set_id": 10197 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openchange-client", +"repository": "rhel7-optional" +} +], +"set_id": 4207 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openchange-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 4208 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openchange-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4209 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-linux-procfs", +"repository": "rhel7-base" +} +], +"set_id": 4211 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-linux-procfs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4212 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-schedutils", +"repository": "rhel7-base" +} +], +"set_id": 4213 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-schedutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4214 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dvipdfmx-def", +"repository": "rhel7-optional" +} +], +"set_id": 4219 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-graphics-def", +"repository": "rhel8-AppStream" +} +], +"set_id": 4220 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdftex-def", +"repository": "rhel7-optional" +} +], +"set_id": 4221 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-graphics-def", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4222 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-def", +"repository": "rhel7-optional" +} +], +"set_id": 4223 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-graphics-def", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4224 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dvipdfm", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvipdfm-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvipdfm-doc", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvipdfmx", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvipdfmx-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvipdfmx-doc", +"repository": "rhel7-base" +} +], +"set_id": 4225 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dvipdfmx", +"repository": "rhel8-AppStream" +} +], +"set_id": 4226 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dvipng", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvipng-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvipng-doc", +"repository": "rhel7-base" +} +], +"set_id": 4227 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dvipng", +"repository": "rhel8-AppStream" +} +], +"set_id": 4228 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dvips", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvips-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-dvips-doc", +"repository": "rhel7-base" +} +], +"set_id": 4229 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dvips", +"repository": "rhel8-AppStream" +} +], +"set_id": 4230 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-epstopdf", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-epstopdf-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-epstopdf-doc", +"repository": "rhel7-base" +} +], +"set_id": 4231 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-epstopdf", +"repository": "rhel8-AppStream" +} +], +"set_id": 4232 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontware", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fontware-bin", +"repository": "rhel7-base" +} +], +"set_id": 4233 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4234 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-gsftopk", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-gsftopk-bin", +"repository": "rhel7-base" +} +], +"set_id": 4235 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-gsftopk", +"repository": "rhel8-AppStream" +} +], +"set_id": 4236 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-jadetex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-jadetex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-jadetex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4237 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-jadetex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4238 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kpathsea", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-kpathsea-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-kpathsea-doc", +"repository": "rhel7-base" +} +], +"set_id": 4239 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kpathsea", +"repository": "rhel8-AppStream" +} +], +"set_id": 4240 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kpathsea-lib", +"repository": "rhel7-optional" +} +], +"set_id": 4241 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 4242 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kpathsea-lib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4243 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lib-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4244 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-latex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-latex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-latex-bin-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-latex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4245 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-latex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4246 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-latex-fonts", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-latex-fonts-doc", +"repository": "rhel7-base" +} +], +"set_id": 4247 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-latex-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 4248 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-luaotfload", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-luaotfload-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-luaotfload-doc", +"repository": "rhel7-base" +} +], +"set_id": 4249 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-luaotfload", +"repository": "rhel8-AppStream" +} +], +"set_id": 4250 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-luatex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-luatex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-luatex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4251 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-luatex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4252 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-makeindex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-makeindex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-makeindex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4253 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-makeindex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4254 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-metafont", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-metafont-bin", +"repository": "rhel7-base" +} +], +"set_id": 4257 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-metafont", +"repository": "rhel8-AppStream" +} +], +"set_id": 4258 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-metapost", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-metapost-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-metapost-doc", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-metapost-examples-doc", +"repository": "rhel7-base" +} +], +"set_id": 4259 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-metapost", +"repository": "rhel8-AppStream" +} +], +"set_id": 4260 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mfware", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mfware-bin", +"repository": "rhel7-base" +} +], +"set_id": 4261 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mfware", +"repository": "rhel8-AppStream" +} +], +"set_id": 4262 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mptopdf", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mptopdf-bin", +"repository": "rhel7-base" +} +], +"set_id": 4263 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mptopdf", +"repository": "rhel8-AppStream" +} +], +"set_id": 4264 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdftex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pdftex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pdftex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4265 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdftex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4266 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-graphics", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-graphics-doc", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-rotating", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-rotating-doc", +"repository": "rhel7-base" +} +], +"set_id": 4267 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-graphics", +"repository": "rhel8-AppStream" +} +], +"set_id": 4268 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tetex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tetex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tetex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4269 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tetex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4270 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex4ht", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tex4ht-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tex4ht-doc", +"repository": "rhel7-base" +} +], +"set_id": 4271 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex4ht", +"repository": "rhel8-AppStream" +} +], +"set_id": 4272 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tex-bin", +"repository": "rhel7-base" +} +], +"set_id": 4273 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4274 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texconfig", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-texconfig-bin", +"repository": "rhel7-base" +} +], +"set_id": 4275 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texconfig", +"repository": "rhel8-AppStream" +} +], +"set_id": 4276 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive.infra", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-texlive.infra-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-texlive.infra-doc", +"repository": "rhel7-base" +} +], +"set_id": 4279 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive.infra", +"repository": "rhel8-AppStream" +} +], +"set_id": 4280 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-thumbpdf", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-thumbpdf-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-thumbpdf-doc", +"repository": "rhel7-base" +} +], +"set_id": 4281 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-thumbpdf", +"repository": "rhel8-AppStream" +} +], +"set_id": 4282 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xdvi", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xdvi-bin", +"repository": "rhel7-base" +} +], +"set_id": 4283 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xdvi", +"repository": "rhel8-AppStream" +} +], +"set_id": 4284 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4285 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4286 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xmltex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xmltex-bin", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xmltex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4287 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xmltex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4288 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-adjustbox", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-adjustbox-doc", +"repository": "rhel7-base" +} +], +"set_id": 4289 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-adjustbox", +"repository": "rhel8-AppStream" +} +], +"set_id": 4290 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ae", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ae-doc", +"repository": "rhel7-base" +} +], +"set_id": 4291 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ae", +"repository": "rhel8-AppStream" +} +], +"set_id": 4292 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-algorithms", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-algorithms-doc", +"repository": "rhel7-base" +} +], +"set_id": 4293 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-algorithms", +"repository": "rhel8-AppStream" +} +], +"set_id": 4294 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-amscls", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-amscls-doc", +"repository": "rhel7-base" +} +], +"set_id": 4295 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-amscls", +"repository": "rhel8-AppStream" +} +], +"set_id": 4296 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-amsfonts", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-amsfonts-doc", +"repository": "rhel7-base" +} +], +"set_id": 4297 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-amsfonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 4298 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-amsmath", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-amsmath-doc", +"repository": "rhel7-base" +} +], +"set_id": 4299 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-amsmath", +"repository": "rhel8-AppStream" +} +], +"set_id": 4300 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-anysize", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-anysize-doc", +"repository": "rhel7-base" +} +], +"set_id": 4301 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-anysize", +"repository": "rhel8-AppStream" +} +], +"set_id": 4302 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-appendix", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-appendix-doc", +"repository": "rhel7-base" +} +], +"set_id": 4303 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-appendix", +"repository": "rhel8-AppStream" +} +], +"set_id": 4304 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-arabxetex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-arabxetex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4305 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-arabxetex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4306 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-arphic", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-arphic-doc", +"repository": "rhel7-base" +} +], +"set_id": 4307 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-arphic", +"repository": "rhel8-AppStream" +} +], +"set_id": 4308 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-attachfile", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-attachfile-doc", +"repository": "rhel7-base" +} +], +"set_id": 4309 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-attachfile", +"repository": "rhel8-AppStream" +} +], +"set_id": 4310 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-babelbib", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-babelbib-doc", +"repository": "rhel7-base" +} +], +"set_id": 4311 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-babelbib", +"repository": "rhel8-AppStream" +} +], +"set_id": 4312 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-babel", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-babel-doc", +"repository": "rhel7-base" +} +], +"set_id": 4313 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-babel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4314 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-beamer", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-beamer-doc", +"repository": "rhel7-base" +} +], +"set_id": 4315 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-beamer", +"repository": "rhel8-AppStream" +} +], +"set_id": 4316 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bera", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-bera-doc", +"repository": "rhel7-base" +} +], +"set_id": 4317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bera", +"repository": "rhel8-AppStream" +} +], +"set_id": 4318 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-beton", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-beton-doc", +"repository": "rhel7-base" +} +], +"set_id": 4319 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-beton", +"repository": "rhel8-AppStream" +} +], +"set_id": 4320 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bibtopic", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-bibtopic-doc", +"repository": "rhel7-base" +} +], +"set_id": 4321 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bibtopic", +"repository": "rhel8-AppStream" +} +], +"set_id": 4322 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bidi", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-bidi-doc", +"repository": "rhel7-base" +} +], +"set_id": 4323 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bidi", +"repository": "rhel8-AppStream" +} +], +"set_id": 4324 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bigfoot", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-bigfoot-doc", +"repository": "rhel7-base" +} +], +"set_id": 4325 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bigfoot", +"repository": "rhel8-AppStream" +} +], +"set_id": 4326 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-booktabs", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-booktabs-doc", +"repository": "rhel7-base" +} +], +"set_id": 4327 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-booktabs", +"repository": "rhel8-AppStream" +} +], +"set_id": 4328 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-breakurl", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-breakurl-doc", +"repository": "rhel7-base" +} +], +"set_id": 4329 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-breakurl", +"repository": "rhel8-AppStream" +} +], +"set_id": 4330 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-caption", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-caption-doc", +"repository": "rhel7-base" +} +], +"set_id": 4331 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-caption", +"repository": "rhel8-AppStream" +} +], +"set_id": 4332 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-carlisle", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-carlisle-doc", +"repository": "rhel7-base" +} +], +"set_id": 4333 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-carlisle", +"repository": "rhel8-AppStream" +} +], +"set_id": 4334 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-changebar", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-changebar-doc", +"repository": "rhel7-base" +} +], +"set_id": 4335 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-changebar", +"repository": "rhel8-AppStream" +} +], +"set_id": 4336 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-changepage", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-changepage-doc", +"repository": "rhel7-base" +} +], +"set_id": 4337 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-changepage", +"repository": "rhel8-AppStream" +} +], +"set_id": 4338 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-charter", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-charter-doc", +"repository": "rhel7-base" +} +], +"set_id": 4339 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-charter", +"repository": "rhel8-AppStream" +} +], +"set_id": 4340 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-chngcntr", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-chngcntr-doc", +"repository": "rhel7-base" +} +], +"set_id": 4341 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-chngcntr", +"repository": "rhel8-AppStream" +} +], +"set_id": 4342 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cite", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-cite-doc", +"repository": "rhel7-base" +} +], +"set_id": 4343 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cite", +"repository": "rhel8-AppStream" +} +], +"set_id": 4344 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cjk", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-cjk-doc", +"repository": "rhel7-base" +} +], +"set_id": 4345 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cjk", +"repository": "rhel8-AppStream" +} +], +"set_id": 4346 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cmap", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-cmap-doc", +"repository": "rhel7-base" +} +], +"set_id": 4347 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cmap", +"repository": "rhel8-AppStream" +} +], +"set_id": 4348 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cm", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-cm-doc", +"repository": "rhel7-base" +} +], +"set_id": 4349 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cm", +"repository": "rhel8-AppStream" +} +], +"set_id": 4350 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cns", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-cns-doc", +"repository": "rhel7-base" +} +], +"set_id": 4355 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cns", +"repository": "rhel8-AppStream" +} +], +"set_id": 4356 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-collectbox", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-collectbox-doc", +"repository": "rhel7-base" +} +], +"set_id": 4357 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-collectbox", +"repository": "rhel8-AppStream" +} +], +"set_id": 4358 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-colortbl", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-colortbl-doc", +"repository": "rhel7-base" +} +], +"set_id": 4359 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-colortbl", +"repository": "rhel8-AppStream" +} +], +"set_id": 4360 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-crop", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-crop-doc", +"repository": "rhel7-base" +} +], +"set_id": 4361 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-crop", +"repository": "rhel8-AppStream" +} +], +"set_id": 4362 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-csquotes", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-csquotes-doc", +"repository": "rhel7-base" +} +], +"set_id": 4363 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-csquotes", +"repository": "rhel8-AppStream" +} +], +"set_id": 4364 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ctable", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ctable-doc", +"repository": "rhel7-base" +} +], +"set_id": 4365 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ctable", +"repository": "rhel8-AppStream" +} +], +"set_id": 4366 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-currfile", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-currfile-doc", +"repository": "rhel7-base" +} +], +"set_id": 4367 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-currfile", +"repository": "rhel8-AppStream" +} +], +"set_id": 4368 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-datetime", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-datetime-doc", +"repository": "rhel7-base" +} +], +"set_id": 4369 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-datetime", +"repository": "rhel8-AppStream" +} +], +"set_id": 4370 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ec", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ec-doc", +"repository": "rhel7-base" +} +], +"set_id": 4371 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ec", +"repository": "rhel8-AppStream" +} +], +"set_id": 4372 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-eepic", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-eepic-doc", +"repository": "rhel7-base" +} +], +"set_id": 4373 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-eepic", +"repository": "rhel8-AppStream" +} +], +"set_id": 4374 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-enctex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-enctex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4375 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-enctex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4376 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-enumitem", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-enumitem-doc", +"repository": "rhel7-base" +} +], +"set_id": 4377 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-enumitem", +"repository": "rhel8-AppStream" +} +], +"set_id": 4378 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-epsf", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-epsf-doc", +"repository": "rhel7-base" +} +], +"set_id": 4379 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-epsf", +"repository": "rhel8-AppStream" +} +], +"set_id": 4380 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-eso-pic", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-eso-pic-doc", +"repository": "rhel7-base" +} +], +"set_id": 4381 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-eso-pic", +"repository": "rhel8-AppStream" +} +], +"set_id": 4382 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-etex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-etex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4383 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-etex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4384 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-etoolbox", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-etoolbox-doc", +"repository": "rhel7-base" +} +], +"set_id": 4387 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-etoolbox", +"repository": "rhel8-AppStream" +} +], +"set_id": 4388 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-euenc", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-euenc-doc", +"repository": "rhel7-base" +} +], +"set_id": 4389 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-euenc", +"repository": "rhel8-AppStream" +} +], +"set_id": 4390 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-euler", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-euler-doc", +"repository": "rhel7-base" +} +], +"set_id": 4391 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-euler", +"repository": "rhel8-AppStream" +} +], +"set_id": 4392 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-euro", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-euro-doc", +"repository": "rhel7-base" +} +], +"set_id": 4393 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-euro", +"repository": "rhel8-AppStream" +} +], +"set_id": 4394 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-eurosym", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-eurosym-doc", +"repository": "rhel7-base" +} +], +"set_id": 4395 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-eurosym", +"repository": "rhel8-AppStream" +} +], +"set_id": 4396 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-extsizes", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-extsizes-doc", +"repository": "rhel7-base" +} +], +"set_id": 4397 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-extsizes", +"repository": "rhel8-AppStream" +} +], +"set_id": 4398 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fancybox", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fancybox-doc", +"repository": "rhel7-base" +} +], +"set_id": 4399 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fancybox", +"repository": "rhel8-AppStream" +} +], +"set_id": 4400 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fancyhdr", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fancyhdr-doc", +"repository": "rhel7-base" +} +], +"set_id": 4401 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fancyhdr", +"repository": "rhel8-AppStream" +} +], +"set_id": 4402 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fancyref", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fancyref-doc", +"repository": "rhel7-base" +} +], +"set_id": 4403 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fancyref", +"repository": "rhel8-AppStream" +} +], +"set_id": 4404 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fancyvrb", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fancyvrb-doc", +"repository": "rhel7-base" +} +], +"set_id": 4405 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fancyvrb", +"repository": "rhel8-AppStream" +} +], +"set_id": 4406 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-filecontents", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-filecontents-doc", +"repository": "rhel7-base" +} +], +"set_id": 4407 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-filecontents", +"repository": "rhel8-AppStream" +} +], +"set_id": 4408 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-filehook", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-filehook-doc", +"repository": "rhel7-base" +} +], +"set_id": 4409 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-filehook", +"repository": "rhel8-AppStream" +} +], +"set_id": 4410 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fix2col", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fix2col-doc", +"repository": "rhel7-base" +} +], +"set_id": 4411 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fix2col", +"repository": "rhel8-AppStream" +} +], +"set_id": 4412 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fixlatvian", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fixlatvian-doc", +"repository": "rhel7-base" +} +], +"set_id": 4413 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fixlatvian", +"repository": "rhel8-AppStream" +} +], +"set_id": 4414 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-float", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-float-doc", +"repository": "rhel7-base" +} +], +"set_id": 4415 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-float", +"repository": "rhel8-AppStream" +} +], +"set_id": 4416 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fmtcount", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fmtcount-doc", +"repository": "rhel7-base" +} +], +"set_id": 4417 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fmtcount", +"repository": "rhel8-AppStream" +} +], +"set_id": 4418 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fncychap", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fncychap-doc", +"repository": "rhel7-base" +} +], +"set_id": 4419 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fncychap", +"repository": "rhel8-AppStream" +} +], +"set_id": 4420 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontbook", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fontbook-doc", +"repository": "rhel7-base" +} +], +"set_id": 4421 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontbook", +"repository": "rhel8-AppStream" +} +], +"set_id": 4422 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontspec", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fontspec-doc", +"repository": "rhel7-base" +} +], +"set_id": 4423 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontspec", +"repository": "rhel8-AppStream" +} +], +"set_id": 4424 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontwrap", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fontwrap-doc", +"repository": "rhel7-base" +} +], +"set_id": 4425 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fontwrap", +"repository": "rhel8-AppStream" +} +], +"set_id": 4426 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-footmisc", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-footmisc-doc", +"repository": "rhel7-base" +} +], +"set_id": 4427 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-footmisc", +"repository": "rhel8-AppStream" +} +], +"set_id": 4428 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fp", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fp-doc", +"repository": "rhel7-base" +} +], +"set_id": 4429 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fp", +"repository": "rhel8-AppStream" +} +], +"set_id": 4430 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fpl", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-fpl-doc", +"repository": "rhel7-base" +} +], +"set_id": 4431 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-fpl", +"repository": "rhel8-AppStream" +} +], +"set_id": 4432 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-framed", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-framed-doc", +"repository": "rhel7-base" +} +], +"set_id": 4433 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-framed", +"repository": "rhel8-AppStream" +} +], +"set_id": 4434 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-geometry", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-geometry-doc", +"repository": "rhel7-base" +} +], +"set_id": 4435 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-geometry", +"repository": "rhel8-AppStream" +} +], +"set_id": 4436 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hyperref", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-hyperref-doc", +"repository": "rhel7-base" +} +], +"set_id": 4437 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hyperref", +"repository": "rhel8-AppStream" +} +], +"set_id": 4438 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hyphenat", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-hyphenat-doc", +"repository": "rhel7-base" +} +], +"set_id": 4439 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hyphenat", +"repository": "rhel8-AppStream" +} +], +"set_id": 4440 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hyph-utf8", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-hyph-utf8-doc", +"repository": "rhel7-base" +} +], +"set_id": 4441 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hyph-utf8", +"repository": "rhel8-AppStream" +} +], +"set_id": 4442 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifetex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ifetex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4443 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifetex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4444 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifluatex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ifluatex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4445 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifluatex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4446 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifmtarg", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ifmtarg-doc", +"repository": "rhel7-base" +} +], +"set_id": 4447 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifmtarg", +"repository": "rhel8-AppStream" +} +], +"set_id": 4448 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifoddpage", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ifoddpage-doc", +"repository": "rhel7-base" +} +], +"set_id": 4449 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifoddpage", +"repository": "rhel8-AppStream" +} +], +"set_id": 4450 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-iftex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-iftex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4451 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-iftex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4452 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifxetex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ifxetex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4453 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifxetex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4454 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-index", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-index-doc", +"repository": "rhel7-base" +} +], +"set_id": 4455 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-index", +"repository": "rhel8-AppStream" +} +], +"set_id": 4456 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-jknapltx", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-jknapltx-doc", +"repository": "rhel7-base" +} +], +"set_id": 4457 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-jknapltx", +"repository": "rhel8-AppStream" +} +], +"set_id": 4458 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kastrup", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-kastrup-doc", +"repository": "rhel7-base" +} +], +"set_id": 4459 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kastrup", +"repository": "rhel8-AppStream" +} +], +"set_id": 4460 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kerkis", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-kerkis-doc", +"repository": "rhel7-base" +} +], +"set_id": 4461 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kerkis", +"repository": "rhel8-AppStream" +} +], +"set_id": 4462 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-l3experimental", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-l3experimental-doc", +"repository": "rhel7-base" +} +], +"set_id": 4463 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-l3experimental", +"repository": "rhel8-AppStream" +} +], +"set_id": 4464 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-l3kernel", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-l3kernel-doc", +"repository": "rhel7-base" +} +], +"set_id": 4465 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-l3kernel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4466 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-l3packages", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-l3packages-doc", +"repository": "rhel7-base" +} +], +"set_id": 4467 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-l3packages", +"repository": "rhel8-AppStream" +} +], +"set_id": 4468 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lastpage", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-lastpage-doc", +"repository": "rhel7-base" +} +], +"set_id": 4469 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lastpage", +"repository": "rhel8-AppStream" +} +], +"set_id": 4470 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lettrine", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-lettrine-doc", +"repository": "rhel7-base" +} +], +"set_id": 4471 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lettrine", +"repository": "rhel8-AppStream" +} +], +"set_id": 4472 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-listings", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-listings-doc", +"repository": "rhel7-base" +} +], +"set_id": 4473 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-listings", +"repository": "rhel8-AppStream" +} +], +"set_id": 4474 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lm", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-lm-doc", +"repository": "rhel7-base" +} +], +"set_id": 4475 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lm", +"repository": "rhel8-AppStream" +} +], +"set_id": 4476 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lua-alt-getopt", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-lua-alt-getopt-doc", +"repository": "rhel7-base" +} +], +"set_id": 4479 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lua-alt-getopt", +"repository": "rhel8-AppStream" +} +], +"set_id": 4480 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lualatex-math", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-lualatex-math-doc", +"repository": "rhel7-base" +} +], +"set_id": 4481 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lualatex-math", +"repository": "rhel8-AppStream" +} +], +"set_id": 4482 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-luatexbase", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-luatexbase-doc", +"repository": "rhel7-base" +} +], +"set_id": 4483 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-luatexbase", +"repository": "rhel8-AppStream" +} +], +"set_id": 4484 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-makecmds", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-makecmds-doc", +"repository": "rhel7-base" +} +], +"set_id": 4485 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-makecmds", +"repository": "rhel8-AppStream" +} +], +"set_id": 4486 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-marginnote", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-marginnote-doc", +"repository": "rhel7-base" +} +], +"set_id": 4487 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-marginnote", +"repository": "rhel8-AppStream" +} +], +"set_id": 4488 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-marvosym", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-marvosym-doc", +"repository": "rhel7-base" +} +], +"set_id": 4489 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-marvosym", +"repository": "rhel8-AppStream" +} +], +"set_id": 4490 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mathpazo", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mathpazo-doc", +"repository": "rhel7-base" +} +], +"set_id": 4491 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mathpazo", +"repository": "rhel8-AppStream" +} +], +"set_id": 4492 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mathspec", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mathspec-doc", +"repository": "rhel7-base" +} +], +"set_id": 4493 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mathspec", +"repository": "rhel8-AppStream" +} +], +"set_id": 4494 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mdwtools", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mdwtools-doc", +"repository": "rhel7-base" +} +], +"set_id": 4495 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mdwtools", +"repository": "rhel8-AppStream" +} +], +"set_id": 4496 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-memoir", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-memoir-doc", +"repository": "rhel7-base" +} +], +"set_id": 4497 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-memoir", +"repository": "rhel8-AppStream" +} +], +"set_id": 4498 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-metalogo", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-metalogo-doc", +"repository": "rhel7-base" +} +], +"set_id": 4499 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-metalogo", +"repository": "rhel8-AppStream" +} +], +"set_id": 4500 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mflogo", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mflogo-doc", +"repository": "rhel7-base" +} +], +"set_id": 4501 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mflogo", +"repository": "rhel8-AppStream" +} +], +"set_id": 4502 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mfnfss", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mfnfss-doc", +"repository": "rhel7-base" +} +], +"set_id": 4503 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mfnfss", +"repository": "rhel8-AppStream" +} +], +"set_id": 4504 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-microtype", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-microtype-doc", +"repository": "rhel7-base" +} +], +"set_id": 4505 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-microtype", +"repository": "rhel8-AppStream" +} +], +"set_id": 4506 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mnsymbol", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mnsymbol-doc", +"repository": "rhel7-base" +} +], +"set_id": 4507 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mnsymbol", +"repository": "rhel8-AppStream" +} +], +"set_id": 4508 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mparhack", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-mparhack-doc", +"repository": "rhel7-base" +} +], +"set_id": 4509 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-mparhack", +"repository": "rhel8-AppStream" +} +], +"set_id": 4510 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ms", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ms-doc", +"repository": "rhel7-base" +} +], +"set_id": 4511 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ms", +"repository": "rhel8-AppStream" +} +], +"set_id": 4512 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-multido", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-multido-doc", +"repository": "rhel7-base" +} +], +"set_id": 4513 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-multido", +"repository": "rhel8-AppStream" +} +], +"set_id": 4514 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-multirow", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-multirow-doc", +"repository": "rhel7-base" +} +], +"set_id": 4515 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-multirow", +"repository": "rhel8-AppStream" +} +], +"set_id": 4516 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-natbib", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-natbib-doc", +"repository": "rhel7-base" +} +], +"set_id": 4517 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-natbib", +"repository": "rhel8-AppStream" +} +], +"set_id": 4518 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ncctools", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ncctools-doc", +"repository": "rhel7-base" +} +], +"set_id": 4519 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ncctools", +"repository": "rhel8-AppStream" +} +], +"set_id": 4520 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ntgclass", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ntgclass-doc", +"repository": "rhel7-base" +} +], +"set_id": 4521 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ntgclass", +"repository": "rhel8-AppStream" +} +], +"set_id": 4522 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-oberdiek", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-oberdiek-doc", +"repository": "rhel7-base" +} +], +"set_id": 4523 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-oberdiek", +"repository": "rhel8-AppStream" +} +], +"set_id": 4524 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-overpic", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-overpic-doc", +"repository": "rhel7-base" +} +], +"set_id": 4525 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-overpic", +"repository": "rhel8-AppStream" +} +], +"set_id": 4526 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-paralist", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-paralist-doc", +"repository": "rhel7-base" +} +], +"set_id": 4527 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-paralist", +"repository": "rhel8-AppStream" +} +], +"set_id": 4528 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-parallel", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-parallel-doc", +"repository": "rhel7-base" +} +], +"set_id": 4529 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-parallel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4530 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-parskip", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-parskip-doc", +"repository": "rhel7-base" +} +], +"set_id": 4531 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-parskip", +"repository": "rhel8-AppStream" +} +], +"set_id": 4532 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdfpages", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pdfpages-doc", +"repository": "rhel7-base" +} +], +"set_id": 4533 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdfpages", +"repository": "rhel8-AppStream" +} +], +"set_id": 4534 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pgf", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pgf-doc", +"repository": "rhel7-base" +} +], +"set_id": 4535 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pgf", +"repository": "rhel8-AppStream" +} +], +"set_id": 4536 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-philokalia", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-philokalia-doc", +"repository": "rhel7-base" +} +], +"set_id": 4537 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-philokalia", +"repository": "rhel8-AppStream" +} +], +"set_id": 4538 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-placeins", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-placeins-doc", +"repository": "rhel7-base" +} +], +"set_id": 4539 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-placeins", +"repository": "rhel8-AppStream" +} +], +"set_id": 4540 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-polyglossia", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-polyglossia-doc", +"repository": "rhel7-base" +} +], +"set_id": 4541 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-polyglossia", +"repository": "rhel8-AppStream" +} +], +"set_id": 4542 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-powerdot", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-powerdot-doc", +"repository": "rhel7-base" +} +], +"set_id": 4543 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-powerdot", +"repository": "rhel8-AppStream" +} +], +"set_id": 4544 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-preprint", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-preprint-doc", +"repository": "rhel7-base" +} +], +"set_id": 4545 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-preprint", +"repository": "rhel8-AppStream" +} +], +"set_id": 4546 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-psfrag", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-psfrag-doc", +"repository": "rhel7-base" +} +], +"set_id": 4547 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-psfrag", +"repository": "rhel8-AppStream" +} +], +"set_id": 4548 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-psnfss", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-psnfss-doc", +"repository": "rhel7-base" +} +], +"set_id": 4549 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-psnfss", +"repository": "rhel8-AppStream" +} +], +"set_id": 4550 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pspicture", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pspicture-doc", +"repository": "rhel7-base" +} +], +"set_id": 4551 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pspicture", +"repository": "rhel8-AppStream" +} +], +"set_id": 4552 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-3d", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-3d-doc", +"repository": "rhel7-base" +} +], +"set_id": 4553 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-3d", +"repository": "rhel8-AppStream" +} +], +"set_id": 4554 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pstricks", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pstricks-doc", +"repository": "rhel7-base" +} +], +"set_id": 4571 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pstricks", +"repository": "rhel8-AppStream" +} +], +"set_id": 4572 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ptext", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ptext-doc", +"repository": "rhel7-base" +} +], +"set_id": 4581 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ptext", +"repository": "rhel8-AppStream" +} +], +"set_id": 4582 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pxfonts", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pxfonts-doc", +"repository": "rhel7-base" +} +], +"set_id": 4583 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pxfonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 4584 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-qstest", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-qstest-doc", +"repository": "rhel7-base" +} +], +"set_id": 4585 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-qstest", +"repository": "rhel8-AppStream" +} +], +"set_id": 4586 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-rcs", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-rcs-doc", +"repository": "rhel7-base" +} +], +"set_id": 4587 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-rcs", +"repository": "rhel8-AppStream" +} +], +"set_id": 4588 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-realscripts", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-realscripts-doc", +"repository": "rhel7-base" +} +], +"set_id": 4589 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-realscripts", +"repository": "rhel8-AppStream" +} +], +"set_id": 4590 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-rsfs", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-rsfs-doc", +"repository": "rhel7-base" +} +], +"set_id": 4591 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-rsfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 4592 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sansmath", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-sansmath-doc", +"repository": "rhel7-base" +} +], +"set_id": 4593 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sansmath", +"repository": "rhel8-AppStream" +} +], +"set_id": 4594 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sauerj", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-sauerj-doc", +"repository": "rhel7-base" +} +], +"set_id": 4595 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sauerj", +"repository": "rhel8-AppStream" +} +], +"set_id": 4596 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-section", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-section-doc", +"repository": "rhel7-base" +} +], +"set_id": 4597 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-section", +"repository": "rhel8-AppStream" +} +], +"set_id": 4598 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sectsty", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-sectsty-doc", +"repository": "rhel7-base" +} +], +"set_id": 4599 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sectsty", +"repository": "rhel8-AppStream" +} +], +"set_id": 4600 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-seminar", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-seminar-doc", +"repository": "rhel7-base" +} +], +"set_id": 4601 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-seminar", +"repository": "rhel8-AppStream" +} +], +"set_id": 4602 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sepnum", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-sepnum-doc", +"repository": "rhel7-base" +} +], +"set_id": 4603 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sepnum", +"repository": "rhel8-AppStream" +} +], +"set_id": 4604 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-setspace", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-setspace-doc", +"repository": "rhel7-base" +} +], +"set_id": 4605 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-setspace", +"repository": "rhel8-AppStream" +} +], +"set_id": 4606 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-showexpl", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-showexpl-doc", +"repository": "rhel7-base" +} +], +"set_id": 4607 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-showexpl", +"repository": "rhel8-AppStream" +} +], +"set_id": 4608 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-soul", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-soul-doc", +"repository": "rhel7-base" +} +], +"set_id": 4609 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-soul", +"repository": "rhel8-AppStream" +} +], +"set_id": 4610 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-stmaryrd", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-stmaryrd-doc", +"repository": "rhel7-base" +} +], +"set_id": 4611 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-stmaryrd", +"repository": "rhel8-AppStream" +} +], +"set_id": 4612 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-subfig", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-subfig-doc", +"repository": "rhel7-base" +} +], +"set_id": 4613 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-subfig", +"repository": "rhel8-AppStream" +} +], +"set_id": 4614 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-subfigure", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-subfigure-doc", +"repository": "rhel7-base" +} +], +"set_id": 4615 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-subfigure", +"repository": "rhel8-AppStream" +} +], +"set_id": 4616 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-svn-prov", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-svn-prov-doc", +"repository": "rhel7-base" +} +], +"set_id": 4617 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-svn-prov", +"repository": "rhel8-AppStream" +} +], +"set_id": 4618 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-t2", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-t2-doc", +"repository": "rhel7-base" +} +], +"set_id": 4619 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-t2", +"repository": "rhel8-AppStream" +} +], +"set_id": 4620 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-textcase", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-textcase-doc", +"repository": "rhel7-base" +} +], +"set_id": 4625 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-textcase", +"repository": "rhel8-AppStream" +} +], +"set_id": 4626 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-textpos", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-textpos-doc", +"repository": "rhel7-base" +} +], +"set_id": 4627 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-textpos", +"repository": "rhel8-AppStream" +} +], +"set_id": 4628 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-threeparttable", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-threeparttable-doc", +"repository": "rhel7-base" +} +], +"set_id": 4629 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-threeparttable", +"repository": "rhel8-AppStream" +} +], +"set_id": 4630 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tipa", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tipa-doc", +"repository": "rhel7-base" +} +], +"set_id": 4631 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tipa", +"repository": "rhel8-AppStream" +} +], +"set_id": 4632 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-titlesec", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-titlesec-doc", +"repository": "rhel7-base" +} +], +"set_id": 4633 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-titlesec", +"repository": "rhel8-AppStream" +} +], +"set_id": 4634 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-titling", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-titling-doc", +"repository": "rhel7-base" +} +], +"set_id": 4635 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-titling", +"repository": "rhel8-AppStream" +} +], +"set_id": 4636 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tocloft", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tocloft-doc", +"repository": "rhel7-base" +} +], +"set_id": 4637 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tocloft", +"repository": "rhel8-AppStream" +} +], +"set_id": 4638 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2770, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tools", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tools-doc", +"repository": "rhel7-base" +} +], +"set_id": 4639 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 4640 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-txfonts", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-txfonts-doc", +"repository": "rhel7-base" +} +], +"set_id": 4641 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-txfonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 4642 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-type1cm", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-type1cm-doc", +"repository": "rhel7-base" +} +], +"set_id": 4643 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-type1cm", +"repository": "rhel8-AppStream" +} +], +"set_id": 4644 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-typehtml", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-typehtml-doc", +"repository": "rhel7-base" +} +], +"set_id": 4645 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-typehtml", +"repository": "rhel8-AppStream" +} +], +"set_id": 4646 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ucharclasses", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ucharclasses-doc", +"repository": "rhel7-base" +} +], +"set_id": 4647 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ucharclasses", +"repository": "rhel8-AppStream" +} +], +"set_id": 4648 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ucs", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ucs-doc", +"repository": "rhel7-base" +} +], +"set_id": 4649 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ucs", +"repository": "rhel8-AppStream" +} +], +"set_id": 4650 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-uhc", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-uhc-doc", +"repository": "rhel7-base" +} +], +"set_id": 4651 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-uhc", +"repository": "rhel8-AppStream" +} +], +"set_id": 4652 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ulem", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ulem-doc", +"repository": "rhel7-base" +} +], +"set_id": 4653 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ulem", +"repository": "rhel8-AppStream" +} +], +"set_id": 4654 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-underscore", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-underscore-doc", +"repository": "rhel7-base" +} +], +"set_id": 4655 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-underscore", +"repository": "rhel8-AppStream" +} +], +"set_id": 4656 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-unicode-math", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-unicode-math-doc", +"repository": "rhel7-base" +} +], +"set_id": 4657 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-unicode-math", +"repository": "rhel8-AppStream" +} +], +"set_id": 4658 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-unisugar", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-unisugar-doc", +"repository": "rhel7-base" +} +], +"set_id": 4659 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-unisugar", +"repository": "rhel8-AppStream" +} +], +"set_id": 4660 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-url", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-url-doc", +"repository": "rhel7-base" +} +], +"set_id": 4661 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-url", +"repository": "rhel8-AppStream" +} +], +"set_id": 4662 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-utopia", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-utopia-doc", +"repository": "rhel7-base" +} +], +"set_id": 4663 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-utopia", +"repository": "rhel8-AppStream" +} +], +"set_id": 4664 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-varwidth", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-varwidth-doc", +"repository": "rhel7-base" +} +], +"set_id": 4665 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-varwidth", +"repository": "rhel8-AppStream" +} +], +"set_id": 4666 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wadalab", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-wadalab-doc", +"repository": "rhel7-base" +} +], +"set_id": 4667 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wadalab", +"repository": "rhel8-AppStream" +} +], +"set_id": 4668 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-was", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-was-doc", +"repository": "rhel7-base" +} +], +"set_id": 4669 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-was", +"repository": "rhel8-AppStream" +} +], +"set_id": 4670 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wasy", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-wasy-doc", +"repository": "rhel7-base" +} +], +"set_id": 4671 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 4672 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wasysym", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-wasysym-doc", +"repository": "rhel7-base" +} +], +"set_id": 4673 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wasysym", +"repository": "rhel8-AppStream" +} +], +"set_id": 4674 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wrapfig", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-wrapfig-doc", +"repository": "rhel7-base" +} +], +"set_id": 4675 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wrapfig", +"repository": "rhel8-AppStream" +} +], +"set_id": 4676 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xcolor", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xcolor-doc", +"repository": "rhel7-base" +} +], +"set_id": 4677 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xcolor", +"repository": "rhel8-AppStream" +} +], +"set_id": 4678 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xecjk", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xecjk-doc", +"repository": "rhel7-base" +} +], +"set_id": 4679 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xecjk", +"repository": "rhel8-AppStream" +} +], +"set_id": 4680 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xecolor", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xecolor-doc", +"repository": "rhel7-base" +} +], +"set_id": 4681 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xecolor", +"repository": "rhel8-AppStream" +} +], +"set_id": 4682 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xecyr", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xecyr-doc", +"repository": "rhel7-base" +} +], +"set_id": 4683 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xecyr", +"repository": "rhel8-AppStream" +} +], +"set_id": 4684 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xeindex", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xeindex-doc", +"repository": "rhel7-base" +} +], +"set_id": 4685 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xeindex", +"repository": "rhel8-AppStream" +} +], +"set_id": 4686 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xepersian", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xepersian-doc", +"repository": "rhel7-base" +} +], +"set_id": 4687 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xepersian", +"repository": "rhel8-AppStream" +} +], +"set_id": 4688 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xesearch", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xesearch-doc", +"repository": "rhel7-base" +} +], +"set_id": 4689 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xesearch", +"repository": "rhel8-AppStream" +} +], +"set_id": 4690 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetexfontinfo", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xetexfontinfo-doc", +"repository": "rhel7-base" +} +], +"set_id": 4691 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetexfontinfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 4692 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xifthen", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xifthen-doc", +"repository": "rhel7-base" +} +], +"set_id": 4699 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xifthen", +"repository": "rhel8-AppStream" +} +], +"set_id": 4700 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xkeyval", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xkeyval-doc", +"repository": "rhel7-base" +} +], +"set_id": 4701 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xkeyval", +"repository": "rhel8-AppStream" +} +], +"set_id": 4702 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xltxtra", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xltxtra-doc", +"repository": "rhel7-base" +} +], +"set_id": 4703 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xltxtra", +"repository": "rhel8-AppStream" +} +], +"set_id": 4704 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xstring", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xstring-doc", +"repository": "rhel7-base" +} +], +"set_id": 4705 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xstring", +"repository": "rhel8-AppStream" +} +], +"set_id": 4706 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xtab", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xtab-doc", +"repository": "rhel7-base" +} +], +"set_id": 4707 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xtab", +"repository": "rhel8-AppStream" +} +], +"set_id": 4708 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xunicode", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xunicode-doc", +"repository": "rhel7-base" +} +], +"set_id": 4709 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xunicode", +"repository": "rhel8-AppStream" +} +], +"set_id": 4710 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kmod", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4711 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kmod-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4712 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcsc-lite-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4713 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcsc-lite-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7542 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nautilus-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4716 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nautilus-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4717 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cm-lgc", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-cm-lgc-doc", +"repository": "rhel7-base" +} +], +"set_id": 4718 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cm-lgc", +"repository": "rhel8-AppStream" +} +], +"set_id": 4719 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2809, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cm-super", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-cm-super-doc", +"repository": "rhel7-base" +} +], +"set_id": 4720 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-cm-super", +"repository": "rhel8-AppStream" +} +], +"set_id": 4721 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-etex-pkg", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-etex-pkg-doc", +"repository": "rhel7-base" +} +], +"set_id": 4724 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-etex-pkg", +"repository": "rhel8-AppStream" +} +], +"set_id": 4725 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lm-math", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-lm-math-doc", +"repository": "rhel7-base" +} +], +"set_id": 4728 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lm-math", +"repository": "rhel8-AppStream" +} +], +"set_id": 4729 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-blur", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-blur-doc", +"repository": "rhel7-base" +} +], +"set_id": 4736 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-blur", +"repository": "rhel8-AppStream" +} +], +"set_id": 4737 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-coil", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-coil-doc", +"repository": "rhel7-base" +} +], +"set_id": 4738 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-coil", +"repository": "rhel8-AppStream" +} +], +"set_id": 4739 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-eps", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-eps-doc", +"repository": "rhel7-base" +} +], +"set_id": 4740 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-eps", +"repository": "rhel8-AppStream" +} +], +"set_id": 4741 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-fill", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-fill-doc", +"repository": "rhel7-base" +} +], +"set_id": 4742 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-fill", +"repository": "rhel8-AppStream" +} +], +"set_id": 4743 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-grad", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-grad-doc", +"repository": "rhel7-base" +} +], +"set_id": 4744 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-grad", +"repository": "rhel8-AppStream" +} +], +"set_id": 4745 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-math", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-math-doc", +"repository": "rhel7-base" +} +], +"set_id": 4746 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-math", +"repository": "rhel8-AppStream" +} +], +"set_id": 4747 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-node", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-node-doc", +"repository": "rhel7-base" +} +], +"set_id": 4748 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-node", +"repository": "rhel8-AppStream" +} +], +"set_id": 4749 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2824, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-plot", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-plot-doc", +"repository": "rhel7-base" +} +], +"set_id": 4750 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-plot", +"repository": "rhel8-AppStream" +} +], +"set_id": 4751 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2825, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pstricks-add", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pstricks-add-doc", +"repository": "rhel7-base" +} +], +"set_id": 4752 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pstricks-add", +"repository": "rhel8-AppStream" +} +], +"set_id": 4753 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2826, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-slpe", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-slpe-doc", +"repository": "rhel7-base" +} +], +"set_id": 4754 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-slpe", +"repository": "rhel8-AppStream" +} +], +"set_id": 4755 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-text", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-text-doc", +"repository": "rhel7-base" +} +], +"set_id": 4756 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-text", +"repository": "rhel8-AppStream" +} +], +"set_id": 4757 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2828, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-tree", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-pst-tree-doc", +"repository": "rhel7-base" +} +], +"set_id": 4758 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pst-tree", +"repository": "rhel8-AppStream" +} +], +"set_id": 4759 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex-gyre", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tex-gyre-doc", +"repository": "rhel7-base" +} +], +"set_id": 4762 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex-gyre", +"repository": "rhel8-AppStream" +} +], +"set_id": 4763 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex-gyre-math", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-tex-gyre-math-doc", +"repository": "rhel7-base" +} +], +"set_id": 4764 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tex-gyre-math", +"repository": "rhel8-AppStream" +} +], +"set_id": 4765 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-itrans", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-itrans-doc", +"repository": "rhel7-base" +} +], +"set_id": 4768 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-itrans", +"repository": "rhel8-AppStream" +} +], +"set_id": 4769 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-pstricks", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-pstricks-doc", +"repository": "rhel7-base" +} +], +"set_id": 4770 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-pstricks", +"repository": "rhel8-AppStream" +} +], +"set_id": 4771 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-tibetan", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-tibetan-doc", +"repository": "rhel7-base" +} +], +"set_id": 4772 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-xetex-tibetan", +"repository": "rhel8-AppStream" +} +], +"set_id": 4773 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2836, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-kdump", +"repository": "rhel7-base" +} +], +"set_id": 4776 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-system", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4777 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 2837, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sapconf", +"repository": "rhel7-sap" +} +], +"set_id": 4778 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-users", +"repository": "rhel7-base" +} +], +"set_id": 4779 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4780 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "latrace", +"repository": "rhel7-extras" +} +], +"set_id": 4783 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook-slides", +"repository": "rhel7-base" +} +], +"set_id": 4784 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook-simple", +"repository": "rhel7-base" +} +], +"set_id": 4785 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xhtml2fo-style-xsl", +"repository": "rhel7-base" +} +], +"set_id": 4786 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2844, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help", +"repository": "rhel7-base" +} +], +"set_id": 4787 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2845, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-ca", +"repository": "rhel7-optional" +} +], +"set_id": 4789 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-da", +"repository": "rhel7-optional" +} +], +"set_id": 4790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-de", +"repository": "rhel7-optional" +} +], +"set_id": 4791 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2848, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-el", +"repository": "rhel7-optional" +} +], +"set_id": 4792 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2849, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-en_GB", +"repository": "rhel7-optional" +} +], +"set_id": 4793 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-es", +"repository": "rhel7-optional" +} +], +"set_id": 4794 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-fr", +"repository": "rhel7-optional" +} +], +"set_id": 4795 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2852, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-it", +"repository": "rhel7-optional" +} +], +"set_id": 4796 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2853, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-ja", +"repository": "rhel7-optional" +} +], +"set_id": 4797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-ko", +"repository": "rhel7-optional" +} +], +"set_id": 4798 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-nl", +"repository": "rhel7-optional" +} +], +"set_id": 4799 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2856, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-nn", +"repository": "rhel7-optional" +} +], +"set_id": 4800 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-pt_BR", +"repository": "rhel7-optional" +} +], +"set_id": 4801 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2858, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-ru", +"repository": "rhel7-optional" +} +], +"set_id": 4802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2859, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libev-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4803 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2860, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libev-source", +"repository": "rhel8-AppStream" +} +], +"set_id": 4804 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2861, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libev-libevent-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 4805 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-sl", +"repository": "rhel7-optional" +} +], +"set_id": 4806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-sv", +"repository": "rhel7-optional" +} +], +"set_id": 4807 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2865, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-help-zh_CN", +"repository": "rhel7-optional" +} +], +"set_id": 4826 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnghttp2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4827 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp-data-extras", +"repository": "rhel7-base" +} +], +"set_id": 4828 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2868, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cmpi-bindings-pywbem", +"repository": "rhel7-base" +} +], +"set_id": 4829 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2869, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isdn4k-utils", +"repository": "rhel7-base" +} +], +"set_id": 4830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isdn4k-utils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4831 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isdn4k-utils-doc", +"repository": "rhel7-optional" +} +], +"set_id": 4832 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isdn4k-utils-static", +"repository": "rhel7-optional" +} +], +"set_id": 4833 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isdn4k-utils-vboxgetty", +"repository": "rhel7-optional" +} +], +"set_id": 4834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmusicbrainz", +"repository": "rhel7-base" +} +], +"set_id": 4835 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmusicbrainz5", +"repository": "rhel8-AppStream" +} +], +"set_id": 4836 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmusicbrainz-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4837 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmusicbrainz5-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 4838 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kbd-legacy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4839 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sox-devel", +"repository": "rhel7-optional" +} +], +"set_id": 4840 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sox", +"repository": "rhel7-base" +} +], +"set_id": 4841 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kbd-misc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4842 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "drpmsync", +"repository": "rhel7-optional" +} +], +"set_id": 4850 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "deltaiso", +"repository": "rhel7-optional" +} +], +"set_id": 4851 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Business-ISBN", +"repository": "rhel7-base" +} +], +"set_id": 4852 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Business-ISBN-Data", +"repository": "rhel7-base" +} +], +"set_id": 4853 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Load", +"repository": "rhel7-base" +} +], +"set_id": 4854 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPANPLUS", +"repository": "rhel7-base" +} +], +"set_id": 4855 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-OpenSSL-Bignum", +"repository": "rhel7-base" +} +], +"set_id": 4856 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-OpenSSL-Bignum", +"repository": "rhel8-AppStream" +} +], +"set_id": 10077 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-OpenSSL-Random", +"repository": "rhel7-base" +} +], +"set_id": 4857 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-OpenSSL-Random", +"repository": "rhel8-AppStream" +} +], +"set_id": 10078 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-OpenSSL-RSA", +"repository": "rhel7-base" +} +], +"set_id": 4858 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-OpenSSL-RSA", +"repository": "rhel8-AppStream" +} +], +"set_id": 10076 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-SSLeay", +"repository": "rhel7-base" +} +], +"set_id": 4859 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBIx-Simple", +"repository": "rhel7-base" +} +], +"set_id": 4860 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-FCGI", +"repository": "rhel7-base" +} +], +"set_id": 4861 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-FCGI", +"stream": "0.78" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-FCGI", +"stream": "0.78" +} +], +"name": "perl-FCGI", +"repository": "rhel8-AppStream" +} +], +"set_id": 16809 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-FreezeThaw", +"repository": "rhel7-base" +} +], +"set_id": 4862 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-GD", +"repository": "rhel7-base" +} +], +"set_id": 4863 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Log-Message", +"repository": "rhel7-base" +} +], +"set_id": 4864 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Log-Message-Simple", +"repository": "rhel7-base" +} +], +"set_id": 4865 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mail-DKIM", +"repository": "rhel7-base" +} +], +"set_id": 4866 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mail-DKIM", +"repository": "rhel8-AppStream" +} +], +"set_id": 10075 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Signature", +"repository": "rhel7-base" +} +], +"set_id": 4867 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Object-Accessor", +"repository": "rhel7-base" +} +], +"set_id": 4868 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-Constants", +"repository": "rhel7-base" +} +], +"set_id": 4869 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PAR-Dist", +"repository": "rhel7-base" +} +], +"set_id": 4870 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Perl4-CoreLibs", +"repository": "rhel7-base" +} +], +"set_id": 4871 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-UI", +"repository": "rhel7-base" +} +], +"set_id": 4872 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-Dumper", +"repository": "rhel7-base" +} +], +"set_id": 4873 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-Writer", +"repository": "rhel7-base" +} +], +"set_id": 4874 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-AppConfig", +"repository": "rhel7-optional" +} +], +"set_id": 4879 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-B-Keywords", +"repository": "rhel7-optional" +} +], +"set_id": 4880 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Load-XS", +"repository": "rhel7-optional" +} +], +"set_id": 4881 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Config-Tiny", +"repository": "rhel7-optional" +} +], +"set_id": 4882 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-CBC", +"repository": "rhel7-optional" +} +], +"set_id": 4883 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-DES", +"repository": "rhel7-optional" +} +], +"set_id": 4884 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Cycle", +"repository": "rhel7-optional" +} +], +"set_id": 4885 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-EnforceEncapsulation", +"repository": "rhel7-optional" +} +], +"set_id": 4886 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Leak", +"repository": "rhel7-optional" +} +], +"set_id": 4887 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Email-Address", +"repository": "rhel7-optional" +} +], +"set_id": 4888 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Find-Rule-Perl", +"repository": "rhel7-optional" +} +], +"set_id": 4889 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-GD-Barcode", +"repository": "rhel7-optional" +} +], +"set_id": 4890 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Hook-LexWrap", +"repository": "rhel7-optional" +} +], +"set_id": 4891 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Inline", +"repository": "rhel7-optional" +} +], +"set_id": 4892 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Inline-Files", +"repository": "rhel7-optional" +} +], +"set_id": 4893 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mixin-Linewise", +"repository": "rhel7-optional" +} +], +"set_id": 4894 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Manifest", +"repository": "rhel7-optional" +} +], +"set_id": 4895 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Parse-RecDescent", +"repository": "rhel7-optional" +} +], +"set_id": 4896 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Perl-Critic", +"repository": "rhel7-optional" +} +], +"set_id": 4897 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Perl-Critic-More", +"repository": "rhel7-optional" +} +], +"set_id": 4898 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Perl-MinimumVersion", +"repository": "rhel7-optional" +} +], +"set_id": 4899 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Coverage-TrustPod", +"repository": "rhel7-optional" +} +], +"set_id": 4900 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Eventual", +"repository": "rhel7-optional" +} +], +"set_id": 4901 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Spell", +"repository": "rhel7-optional" +} +], +"set_id": 4902 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2930, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PPI", +"repository": "rhel7-optional" +} +], +"set_id": 4903 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PPIx-Regexp", +"repository": "rhel7-optional" +} +], +"set_id": 4904 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PPIx-Utilities", +"repository": "rhel7-optional" +} +], +"set_id": 4905 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Probe-Perl", +"repository": "rhel7-optional" +} +], +"set_id": 4906 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Readonly-XS", +"repository": "rhel7-optional" +} +], +"set_id": 4907 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-String-Format", +"repository": "rhel7-optional" +} +], +"set_id": 4908 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Task-Weaken", +"repository": "rhel7-optional" +} +], +"set_id": 4909 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-ClassAPI", +"repository": "rhel7-optional" +} +], +"set_id": 4910 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-CPAN-Meta", +"repository": "rhel7-optional" +} +], +"set_id": 4911 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-DistManifest", +"repository": "rhel7-optional" +} +], +"set_id": 4912 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-EOL", +"repository": "rhel7-optional" +} +], +"set_id": 4913 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-HasVersion", +"repository": "rhel7-optional" +} +], +"set_id": 4914 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Manifest", +"repository": "rhel7-optional" +} +], +"set_id": 4915 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Memory-Cycle", +"repository": "rhel7-optional" +} +], +"set_id": 4916 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-MinimumVersion", +"repository": "rhel7-optional" +} +], +"set_id": 4917 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-NoTabs", +"repository": "rhel7-optional" +} +], +"set_id": 4918 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Object", +"repository": "rhel7-optional" +} +], +"set_id": 4919 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Output", +"repository": "rhel7-optional" +} +], +"set_id": 4920 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Perl-Critic", +"repository": "rhel7-optional" +} +], +"set_id": 4921 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Portability-Files", +"repository": "rhel7-optional" +} +], +"set_id": 4922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Script", +"repository": "rhel7-optional" +} +], +"set_id": 4923 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Spelling", +"repository": "rhel7-optional" +} +], +"set_id": 4924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-SubCalls", +"repository": "rhel7-optional" +} +], +"set_id": 4925 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Synopsis", +"repository": "rhel7-optional" +} +], +"set_id": 4926 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Vars", +"repository": "rhel7-optional" +} +], +"set_id": 4927 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Iconv", +"repository": "rhel7-optional" +} +], +"set_id": 4928 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-Map8", +"repository": "rhel7-optional" +} +], +"set_id": 4929 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-String", +"repository": "rhel7-optional" +} +], +"set_id": 4930 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-Handler-YAWriter", +"repository": "rhel7-optional" +} +], +"set_id": 4931 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librhsm", +"repository": "rhel7-extras" +} +], +"set_id": 10090 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librhsm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10091 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua", +"repository": "rhel7-base" +} +], +"set_id": 4933 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "lua-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4934 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "microdnf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4935 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-productmd", +"repository": "rhel8-AppStream" +} +], +"set_id": 7564 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-rpm-config", +"repository": "rhel7-base" +} +], +"set_id": 5526 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rpm-macros", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "redhat-rpm-config", +"repository": "rhel8-AppStream" +} +], +"set_id": 5527 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PyQt4", +"repository": "rhel7-base" +} +], +"set_id": 4940 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PyQt4-devel", +"repository": "rhel7-base" +} +], +"set_id": 4941 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xisdnload", +"repository": "rhel7-base" +} +], +"set_id": 4942 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xsettings-kde", +"repository": "rhel7-base" +} +], +"set_id": 4943 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "svgpart", +"repository": "rhel7-base" +} +], +"set_id": 4944 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sweeper", +"repository": "rhel7-base" +} +], +"set_id": 4945 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rp-pppoe", +"repository": "rhel7-base" +} +], +"set_id": 4946 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pykde4", +"repository": "rhel7-base" +} +], +"set_id": 4947 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pykde4-akonadi", +"repository": "rhel7-base" +} +], +"set_id": 4948 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pykde4-devel", +"repository": "rhel7-base" +} +], +"set_id": 4949 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shared-desktop-ontologies", +"repository": "rhel7-base" +} +], +"set_id": 4950 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shared-desktop-ontologies-devel", +"repository": "rhel7-base" +} +], +"set_id": 4951 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-systemd-inhibit", +"repository": "rhel7-optional" +} +], +"set_id": 4952 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-systemd-inhibit", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4953 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4954 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librabbitmq-examples", +"repository": "rhel7-optional" +} +], +"set_id": 4955 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librabbitmq-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4956 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 2980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-hawkey", +"repository": "rhel7-base" +} +], +"set_id": 4957 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-hawkey", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4958 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-librepo", +"repository": "rhel7-optional" +} +], +"set_id": 4963 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-librepo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 4964 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librepo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5441 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsolv-tools", +"repository": "rhel7-optional" +} +], +"set_id": 7625 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsolv-demo", +"repository": "rhel7-optional" +} +], +"set_id": 7624 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-solv", +"repository": "rhel7-optional" +} +], +"set_id": 10112 +}, +"initial_release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsolv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5442 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scl-utils", +"repository": "rhel7-base" +} +], +"set_id": 4970 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scl-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 4971 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scl-utils-build", +"repository": "rhel7-optional" +} +], +"set_id": 4972 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scl-utils-build", +"repository": "rhel8-AppStream" +} +], +"set_id": 4973 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kactivities", +"repository": "rhel7-base" +} +], +"set_id": 4974 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kactivities-devel", +"repository": "rhel7-base" +} +], +"set_id": 4975 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kamera", +"repository": "rhel7-base" +} +], +"set_id": 4976 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kcalc", +"repository": "rhel7-base" +} +], +"set_id": 4977 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kcharselect", +"repository": "rhel7-base" +} +], +"set_id": 4978 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kcm-gtk", +"repository": "rhel7-base" +} +], +"set_id": 4979 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kcolorchooser", +"repository": "rhel7-base" +} +], +"set_id": 4980 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdf", +"repository": "rhel7-base" +} +], +"set_id": 4981 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 2999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kgamma", +"repository": "rhel7-base" +} +], +"set_id": 4982 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kmag", +"repository": "rhel7-base" +} +], +"set_id": 4983 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kolourpaint", +"repository": "rhel7-base" +} +], +"set_id": 4984 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kolourpaint-libs", +"repository": "rhel7-base" +} +], +"set_id": 4985 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kross-interpreters", +"repository": "rhel7-base" +} +], +"set_id": 4986 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kross-python", +"repository": "rhel7-base" +} +], +"set_id": 4987 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kross-ruby", +"repository": "rhel7-base" +} +], +"set_id": 4988 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kruler", +"repository": "rhel7-base" +} +], +"set_id": 4989 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksaneplugin", +"repository": "rhel7-base" +} +], +"set_id": 4990 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksnapshot", +"repository": "rhel7-base" +} +], +"set_id": 4991 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ktimer", +"repository": "rhel7-base" +} +], +"set_id": 4992 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kwallet", +"repository": "rhel7-base" +} +], +"set_id": 4993 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkcddb", +"repository": "rhel7-base" +} +], +"set_id": 4994 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkcddb-devel", +"repository": "rhel7-base" +} +], +"set_id": 4995 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkcompactdisc", +"repository": "rhel7-base" +} +], +"set_id": 4996 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkcompactdisc-devel", +"repository": "rhel7-base" +} +], +"set_id": 4997 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkdcraw", +"repository": "rhel7-base" +} +], +"set_id": 4998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkdcraw-devel", +"repository": "rhel7-base" +} +], +"set_id": 4999 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkexiv2", +"repository": "rhel7-base" +} +], +"set_id": 5000 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkexiv2-devel", +"repository": "rhel7-base" +} +], +"set_id": 5001 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkipi", +"repository": "rhel7-base" +} +], +"set_id": 5002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkipi-devel", +"repository": "rhel7-base" +} +], +"set_id": 5003 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libksane", +"repository": "rhel7-base" +} +], +"set_id": 5004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libksane-devel", +"repository": "rhel7-base" +} +], +"set_id": 5005 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ark", +"repository": "rhel7-base" +} +], +"set_id": 5006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ark-libs", +"repository": "rhel7-base" +} +], +"set_id": 5007 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "attica", +"repository": "rhel7-base" +} +], +"set_id": 5008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "attica-devel", +"repository": "rhel7-base" +} +], +"set_id": 5009 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qjson-devel", +"repository": "rhel7-base" +} +], +"set_id": 5010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qjson", +"repository": "rhel7-base" +} +], +"set_id": 5011 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "efax", +"repository": "rhel7-base" +} +], +"set_id": 5012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authd", +"repository": "rhel7-base" +} +], +"set_id": 5013 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "conman", +"repository": "rhel7-base" +} +], +"set_id": 5014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Xaw3d", +"repository": "rhel8-AppStream" +} +], +"set_id": 9748 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pngcrush", +"repository": "rhel7-optional" +} +], +"set_id": 5017 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pngnq", +"repository": "rhel7-optional" +} +], +"set_id": 5018 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiodbc", +"repository": "rhel7-base" +} +], +"set_id": 5019 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiodbc-devel", +"repository": "rhel7-base" +} +], +"set_id": 5020 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "migrationtools", +"repository": "rhel7-base" +} +], +"set_id": 5021 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-users-docs", +"repository": "rhel7-base" +} +], +"set_id": 5022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-libs", +"repository": "rhel7-base" +} +], +"set_id": 5023 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-c++-libs", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "ncurses-compat-libs", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "ncurses-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5024 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "newt-python", +"repository": "rhel7-base" +} +], +"set_id": 5027 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-newt", +"repository": "rhel8-AppStream" +} +], +"set_id": 5028 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rngom", +"repository": "rhel7-base" +} +], +"set_id": 5029 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rngom-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 5030 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scannotation", +"repository": "rhel7-base" +} +], +"set_id": 5031 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scannotation-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 5032 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jandex", +"repository": "rhel7-base" +} +], +"set_id": 5033 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jandex-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 5034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-istack-commons-plugin", +"repository": "rhel7-base" +} +], +"set_id": 5035 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-core", +"repository": "rhel7-base" +} +], +"set_id": 5036 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 5037 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl", +"repository": "rhel7-base" +} +], +"set_id": 5038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Attribute-Handlers", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-B-Debug", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-bignum", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Peek", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Devel-PPPort", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Devel-SelfStubber", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Errno", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Command", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Miniperl", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Filter-Simple", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-interpreter", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-IO", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-IPC-SysV", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-libnet", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-libs", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Math-BigInt", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Math-BigInt-FastCalc", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Math-BigRat", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Math-Complex", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Memoize", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-MIME-Base64", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Net-Ping", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-open", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-perlfaq", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-PerlIO-via-QuotedPrint", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Html", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-SelfLoader", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Term-ANSIColor", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Term-Cap", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Test", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Text-Balanced", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Text-Tabs+Wrap", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-Collate", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-Normalize", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "perl-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 5039 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cim-client2-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 5040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cim-client2-manual", +"repository": "rhel7-optional" +} +], +"set_id": 5041 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-base-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-base-test", +"repository": "rhel7-optional" +} +], +"set_id": 5043 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-fsvol-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5044 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-fsvol-test", +"repository": "rhel7-optional" +} +], +"set_id": 5045 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-network-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5046 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-network-test", +"repository": "rhel7-optional" +} +], +"set_id": 5047 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CGI-Session", +"repository": "rhel7-base" +} +], +"set_id": 5048 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Convert-ASN1", +"repository": "rhel7-base" +} +], +"set_id": 5049 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPANPLUS-Dist-Build", +"repository": "rhel7-base" +} +], +"set_id": 5050 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libintl", +"repository": "rhel7-base" +} +], +"set_id": 5051 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libintl-perl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9164 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-Daemon", +"repository": "rhel7-base" +} +], +"set_id": 5052 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Newt", +"repository": "rhel7-base" +} +], +"set_id": 5053 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Parse-CPAN-Meta", +"repository": "rhel7-base" +} +], +"set_id": 5054 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PlRPC", +"repository": "rhel7-base" +} +], +"set_id": 5055 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Version-Requirements", +"repository": "rhel7-base" +} +], +"set_id": 5056 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-Grove", +"repository": "rhel7-base" +} +], +"set_id": 5057 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-Peek", +"repository": "rhel7-optional" +} +], +"set_id": 5058 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBD-Pg-tests", +"repository": "rhel7-optional" +} +], +"set_id": 5059 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Perl-Critic-Policy", +"repository": "rhel7-optional" +} +], +"set_id": 5060 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Tester", +"repository": "rhel7-optional" +} +], +"set_id": 5061 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tree-DAG_Node", +"repository": "rhel7-optional" +} +], +"set_id": 5062 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-WWW-Curl", +"repository": "rhel7-optional" +} +], +"set_id": 5063 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-nfsv3-test", +"repository": "rhel7-optional" +} +], +"set_id": 5064 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-nfsv4-test", +"repository": "rhel7-optional" +} +], +"set_id": 5065 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-params-test", +"repository": "rhel7-optional" +} +], +"set_id": 5066 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-sysfs-test", +"repository": "rhel7-optional" +} +], +"set_id": 5067 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-syslog-test", +"repository": "rhel7-optional" +} +], +"set_id": 5068 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-gather-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5069 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-gather-provider", +"repository": "rhel7-base" +} +], +"set_id": 5070 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-gather-test", +"repository": "rhel7-optional" +} +], +"set_id": 5071 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-indication_helper-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5072 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "weld-parent", +"repository": "rhel7-base" +} +], +"set_id": 5073 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "weld-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 7548 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-B-Lint", +"repository": "rhel7-base" +} +], +"set_id": 5074 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-B-Lint", +"repository": "rhel8-AppStream" +} +], +"set_id": 5075 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-ISA", +"repository": "rhel7-base" +} +], +"set_id": 5076 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-ISA", +"repository": "rhel8-AppStream" +} +], +"set_id": 5077 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBD-Pg", +"repository": "rhel7-base" +} +], +"set_id": 5078 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-DBD-Pg", +"stream": "3.7" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBD-Pg", +"stream": "3.7" +} +], +"name": "perl-DBD-Pg", +"repository": "rhel8-AppStream" +} +], +"set_id": 5079 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-CheckTree", +"repository": "rhel7-base" +} +], +"set_id": 5080 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-CheckTree", +"repository": "rhel8-AppStream" +} +], +"set_id": 5081 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mail-SPF", +"repository": "rhel7-base" +} +], +"set_id": 5082 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mail-SPF", +"repository": "rhel8-AppStream" +} +], +"set_id": 5083 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Pluggable", +"repository": "rhel7-base" +} +], +"set_id": 5084 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Pluggable", +"repository": "rhel8-AppStream" +} +], +"set_id": 5085 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Runtime", +"repository": "rhel7-base" +} +], +"set_id": 5086 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 5087 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-DNS", +"repository": "rhel7-base" +} +], +"set_id": 5088 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-DNS", +"repository": "rhel8-AppStream" +} +], +"set_id": 5089 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-LaTeX", +"repository": "rhel7-base" +} +], +"set_id": 5090 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-LaTeX", +"repository": "rhel8-AppStream" +} +], +"set_id": 5091 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Plainer", +"repository": "rhel7-base" +} +], +"set_id": 5092 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Plainer", +"repository": "rhel8-AppStream" +} +], +"set_id": 5093 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Soundex", +"repository": "rhel7-base" +} +], +"set_id": 5094 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Soundex", +"repository": "rhel8-AppStream" +} +], +"set_id": 5095 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Archive-Extract", +"repository": "rhel7-base" +} +], +"set_id": 5100 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Singleton", +"repository": "rhel7-base" +} +], +"set_id": 5102 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Singleton", +"repository": "rhel8-CRB" +} +], +"set_id": 5103 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime", +"repository": "rhel7-base" +} +], +"set_id": 5104 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime", +"repository": "rhel8-CRB" +} +], +"set_id": 5105 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Locale", +"repository": "rhel7-base" +} +], +"set_id": 5106 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Locale", +"repository": "rhel8-CRB" +} +], +"set_id": 5107 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-TimeZone", +"repository": "rhel7-base" +} +], +"set_id": 5108 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-TimeZone", +"repository": "rhel8-CRB" +} +], +"set_id": 5109 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Symdump", +"repository": "rhel7-base" +} +], +"set_id": 5110 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Symdump", +"repository": "rhel8-CRB" +} +], +"set_id": 5111 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-SHA1", +"repository": "rhel7-base" +} +], +"set_id": 5112 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-SHA1", +"repository": "rhel8-CRB" +} +], +"set_id": 5113 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Font-AFM", +"repository": "rhel7-base" +} +], +"set_id": 5114 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-homedir", +"repository": "rhel7-base" +} +], +"set_id": 5116 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-homedir", +"repository": "rhel8-AppStream" +} +], +"set_id": 5117 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Tree", +"repository": "rhel7-base" +} +], +"set_id": 5118 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Tree", +"repository": "rhel8-CRB" +} +], +"set_id": 5119 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Daemon", +"repository": "rhel7-base" +} +], +"set_id": 5120 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Daemon", +"repository": "rhel8-CRB" +} +], +"set_id": 5121 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-stringy", +"repository": "rhel7-base" +} +], +"set_id": 5122 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-stringy", +"repository": "rhel8-CRB" +} +], +"set_id": 5123 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libxml-perl", +"repository": "rhel7-base" +} +], +"set_id": 5124 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-List-MoreUtils", +"repository": "rhel7-base" +} +], +"set_id": 5126 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-List-MoreUtils", +"repository": "rhel8-CRB" +} +], +"set_id": 5127 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Implementation", +"repository": "rhel7-base" +} +], +"set_id": 5128 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Implementation", +"repository": "rhel8-CRB" +} +], +"set_id": 5129 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-LibIDN", +"repository": "rhel7-base" +} +], +"set_id": 5130 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-DeprecationManager", +"repository": "rhel7-base" +} +], +"set_id": 5132 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-DeprecationManager", +"repository": "rhel8-CRB" +} +], +"set_id": 5133 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-Stash", +"repository": "rhel7-base" +} +], +"set_id": 5134 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-Stash", +"repository": "rhel8-CRB" +} +], +"set_id": 5135 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-Stash-XS", +"repository": "rhel7-base" +} +], +"set_id": 5136 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-Stash-XS", +"repository": "rhel8-CRB" +} +], +"set_id": 5137 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Params-Validate", +"repository": "rhel7-base" +} +], +"set_id": 5138 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Params-Validate", +"repository": "rhel8-CRB" +} +], +"set_id": 5139 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Coverage", +"repository": "rhel7-base" +} +], +"set_id": 5140 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Coverage", +"repository": "rhel8-CRB" +} +], +"set_id": 5141 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Pod", +"repository": "rhel7-base" +} +], +"set_id": 5142 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Pod", +"repository": "rhel8-CRB" +} +], +"set_id": 5143 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Pod-Coverage", +"repository": "rhel7-base" +} +], +"set_id": 5144 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Pod-Coverage", +"repository": "rhel8-CRB" +} +], +"set_id": 5145 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perltidy", +"repository": "rhel7-base" +} +], +"set_id": 5146 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perltidy", +"repository": "rhel8-CRB" +} +], +"set_id": 5147 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-Filter-BufferText", +"repository": "rhel7-base" +} +], +"set_id": 5148 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-SAX-Writer", +"repository": "rhel7-base" +} +], +"set_id": 5150 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-Twig", +"repository": "rhel7-base" +} +], +"set_id": 5152 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-Twig", +"repository": "rhel8-CRB" +} +], +"set_id": 5153 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-YAML-Tiny", +"repository": "rhel7-base" +} +], +"set_id": 5154 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-YAML-Tiny", +"repository": "rhel8-CRB" +} +], +"set_id": 5155 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdi-api-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 5156 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdi-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7546 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-ejb-3.1-api", +"repository": "rhel7-base" +} +], +"set_id": 5157 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Inspector", +"repository": "rhel7-optional" +} +], +"set_id": 5158 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Inspector", +"repository": "rhel8-AppStream" +} +], +"set_id": 5159 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-ShareDir", +"repository": "rhel7-optional" +} +], +"set_id": 5160 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-ShareDir", +"repository": "rhel8-AppStream" +} +], +"set_id": 5161 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-gettext", +"repository": "rhel7-optional" +} +], +"set_id": 5162 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Locale-gettext", +"repository": "rhel8-CRB" +} +], +"set_id": 5163 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Format", +"repository": "rhel7-base" +} +], +"set_id": 5164 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Capture-Tiny", +"repository": "rhel7-optional" +} +], +"set_id": 5166 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Capture-Tiny", +"repository": "rhel8-CRB" +} +], +"set_id": 5167 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Data-Inheritable", +"repository": "rhel7-optional" +} +], +"set_id": 5168 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Data-Inheritable", +"repository": "rhel8-CRB" +} +], +"set_id": 5169 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Clone", +"repository": "rhel7-optional" +} +], +"set_id": 5170 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Clone", +"repository": "rhel8-CRB" +} +], +"set_id": 5171 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPAN-Changes", +"repository": "rhel7-optional" +} +], +"set_id": 5172 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Crypt-PasswdMD5", +"repository": "rhel7-optional" +} +], +"set_id": 5174 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-CheckLib", +"repository": "rhel7-optional" +} +], +"set_id": 5176 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-CheckLib", +"repository": "rhel8-CRB" +} +], +"set_id": 5177 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-StackTrace", +"repository": "rhel7-optional" +} +], +"set_id": 5178 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-StackTrace", +"repository": "rhel8-CRB" +} +], +"set_id": 5179 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Dist-CheckConflicts", +"repository": "rhel7-optional" +} +], +"set_id": 5180 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Dist-CheckConflicts", +"repository": "rhel8-CRB" +} +], +"set_id": 5181 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Encode-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5182 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Encode-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5183 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Exception-Class", +"repository": "rhel7-optional" +} +], +"set_id": 5184 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Exception-Class", +"repository": "rhel8-CRB" +} +], +"set_id": 5185 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Copy-Recursive", +"repository": "rhel7-optional" +} +], +"set_id": 5186 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Copy-Recursive", +"repository": "rhel8-CRB" +} +], +"set_id": 5187 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Find-Rule", +"repository": "rhel7-optional" +} +], +"set_id": 5188 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Find-Rule", +"repository": "rhel8-CRB" +} +], +"set_id": 5189 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Remove", +"repository": "rhel7-optional" +} +], +"set_id": 5190 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Remove", +"repository": "rhel8-CRB" +} +], +"set_id": 5191 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Font-TTF", +"repository": "rhel7-optional" +} +], +"set_id": 5192 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-CaptureOutput", +"repository": "rhel7-optional" +} +], +"set_id": 5194 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-String", +"repository": "rhel7-optional" +} +], +"set_id": 5196 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-String", +"repository": "rhel8-CRB" +} +], +"set_id": 5197 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Tty", +"repository": "rhel7-optional" +} +], +"set_id": 5198 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Tty", +"repository": "rhel8-CRB" +} +], +"set_id": 5199 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IPC-Run", +"repository": "rhel7-optional" +} +], +"set_id": 5200 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IPC-Run", +"repository": "rhel8-CRB" +} +], +"set_id": 5201 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IPC-Run3", +"repository": "rhel7-optional" +} +], +"set_id": 5202 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IPC-Run3", +"repository": "rhel8-CRB" +} +], +"set_id": 5203 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-JSON-tests", +"repository": "rhel7-optional" +} +], +"set_id": 5204 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Install", +"repository": "rhel7-optional" +} +], +"set_id": 5206 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Install", +"repository": "rhel8-CRB" +} +], +"set_id": 5207 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-ScanDeps", +"repository": "rhel7-optional" +} +], +"set_id": 5208 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-ScanDeps", +"repository": "rhel8-CRB" +} +], +"set_id": 5209 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-DNS-Nameserver", +"repository": "rhel7-optional" +} +], +"set_id": 5210 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-DNS-Resolver-Programmable", +"repository": "rhel7-optional" +} +], +"set_id": 5212 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Number-Compare", +"repository": "rhel7-optional" +} +], +"set_id": 5214 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Number-Compare", +"repository": "rhel8-CRB" +} +], +"set_id": 5215 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Object-Deadly", +"repository": "rhel7-optional" +} +], +"set_id": 5216 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PadWalker", +"repository": "rhel7-optional" +} +], +"set_id": 5218 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PadWalker", +"repository": "rhel8-CRB" +} +], +"set_id": 5219 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-prefork", +"repository": "rhel7-optional" +} +], +"set_id": 5220 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-prefork", +"repository": "rhel8-CRB" +} +], +"set_id": 5221 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Readonly", +"repository": "rhel7-optional" +} +], +"set_id": 5222 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Readonly", +"repository": "rhel8-CRB" +} +], +"set_id": 5223 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sub-Uplevel", +"repository": "rhel7-optional" +} +], +"set_id": 5224 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sub-Uplevel", +"repository": "rhel8-CRB" +} +], +"set_id": 5225 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Switch", +"repository": "rhel7-optional" +} +], +"set_id": 5226 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Switch", +"repository": "rhel8-CRB" +} +], +"set_id": 5227 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Taint-Runtime", +"repository": "rhel7-optional" +} +], +"set_id": 5228 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Taint-Runtime", +"repository": "rhel8-CRB" +} +], +"set_id": 5229 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Deep", +"repository": "rhel7-optional" +} +], +"set_id": 5230 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Deep", +"repository": "rhel8-CRB" +} +], +"set_id": 5231 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Exception", +"repository": "rhel7-optional" +} +], +"set_id": 5232 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Exception", +"repository": "rhel8-CRB" +} +], +"set_id": 5233 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Fatal", +"repository": "rhel7-optional" +} +], +"set_id": 5234 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Fatal", +"repository": "rhel8-CRB" +} +], +"set_id": 5235 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Inter", +"repository": "rhel7-optional" +} +], +"set_id": 5236 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-NoWarnings", +"repository": "rhel7-optional" +} +], +"set_id": 5238 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-NoWarnings", +"repository": "rhel8-CRB" +} +], +"set_id": 5239 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Requires", +"repository": "rhel7-optional" +} +], +"set_id": 5240 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Requires", +"repository": "rhel8-CRB" +} +], +"set_id": 5241 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Taint", +"repository": "rhel7-optional" +} +], +"set_id": 5242 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Taint", +"repository": "rhel8-CRB" +} +], +"set_id": 5243 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Warn", +"repository": "rhel7-optional" +} +], +"set_id": 5244 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Warn", +"repository": "rhel8-CRB" +} +], +"set_id": 5245 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Without-Module", +"repository": "rhel7-optional" +} +], +"set_id": 5246 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-CharWidth", +"repository": "rhel7-optional" +} +], +"set_id": 5248 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-CharWidth", +"repository": "rhel8-CRB" +} +], +"set_id": 5249 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-WrapI18N", +"repository": "rhel7-optional" +} +], +"set_id": 5250 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-WrapI18N", +"repository": "rhel8-CRB" +} +], +"set_id": 5251 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tie-IxHash", +"repository": "rhel7-optional" +} +], +"set_id": 5252 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tie-IxHash", +"repository": "rhel8-CRB" +} +], +"set_id": 5253 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tk", +"repository": "rhel7-optional" +} +], +"set_id": 5254 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tk", +"repository": "rhel8-CRB" +} +], +"set_id": 5255 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tk-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5256 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tk-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 5257 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-DOM", +"repository": "rhel7-optional" +} +], +"set_id": 5258 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-DOM", +"repository": "rhel8-CRB" +} +], +"set_id": 5259 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-RegExp", +"repository": "rhel7-optional" +} +], +"set_id": 5260 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-RegExp", +"repository": "rhel8-CRB" +} +], +"set_id": 5261 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-XPathEngine", +"repository": "rhel7-optional" +} +], +"set_id": 5262 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-YAML-Syck", +"repository": "rhel7-optional" +} +], +"set_id": 5264 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-YAML-Syck", +"repository": "rhel8-CRB" +} +], +"set_id": 5265 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-libnetcfg", +"repository": "rhel8-AppStream" +} +], +"set_id": 5270 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-ExtUtils-MM-Utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 5281 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-BSD-Resource", +"repository": "rhel8-AppStream" +} +], +"set_id": 5282 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-encoding", +"repository": "rhel8-AppStream" +} +], +"set_id": 5283 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Multiplex", +"repository": "rhel8-AppStream" +} +], +"set_id": 5284 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-MRO-Compat", +"repository": "rhel8-AppStream" +} +], +"set_id": 5286 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-Server", +"repository": "rhel8-AppStream" +} +], +"set_id": 5287 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 5288 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-static", +"repository": "rhel7-optional" +} +], +"set_id": 5289 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-tools", +"repository": "rhel7-optional" +} +], +"set_id": 5290 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-static", +"repository": "rhel7-optional" +} +], +"set_id": 5291 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-static", +"repository": "rhel8-CRB" +} +], +"set_id": 7532 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-tools", +"repository": "rhel7-optional" +} +], +"set_id": 5292 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkcapi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5294 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "devhelp-devel", +"repository": "rhel7-base" +} +], +"set_id": 5299 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "devhelp-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5300 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-appindicator", +"repository": "rhel7-base" +} +], +"set_id": 5301 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk4-devel", +"repository": "rhel7-base" +} +], +"set_id": 5302 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkit2gtk3-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5303 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk4-doc", +"repository": "rhel7-base" +} +], +"set_id": 5304 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk4-jsc", +"repository": "rhel7-base" +} +], +"set_id": 5306 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkit2gtk3-jsc", +"repository": "rhel8-AppStream" +} +], +"set_id": 5307 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk4-jsc-devel", +"repository": "rhel7-base" +} +], +"set_id": 5308 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkit2gtk3-jsc-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5309 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkitgtk4-plugin-process-gtk2", +"repository": "rhel7-base" +} +], +"set_id": 5310 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkit2gtk3-plugin-process-gtk2", +"repository": "rhel8-AppStream" +} +], +"set_id": 5311 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yelp-devel", +"repository": "rhel7-base" +} +], +"set_id": 5312 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yelp-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 5313 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yelp-xsl-devel", +"repository": "rhel7-base" +} +], +"set_id": 5314 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openwsman-python", +"repository": "rhel7-base" +} +], +"set_id": 5318 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openwsman-python3", +"repository": "rhel8-AppStream" +} +], +"set_id": 5319 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openwsman-ruby", +"repository": "rhel7-optional" +} +], +"set_id": 5322 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "konkretcmpi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5323 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "konkretcmpi-python", +"repository": "rhel7-base" +} +], +"set_id": 5324 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openlmi-tools-doc", +"repository": "rhel7-base" +} +], +"set_id": 5325 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "talk-server", +"repository": "rhel7-base" +} +], +"set_id": 5326 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtasn1-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 5327 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "prefixdevname", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5328 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-ng-python", +"repository": "rhel7-base" +} +], +"set_id": 5354 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-audit", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5355 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "popt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5358 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhif-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7621 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dmraid", +"repository": "rhel7-base" +} +], +"set_id": 5413 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audit-libs-static", +"repository": "rhel7-optional" +} +], +"set_id": 5414 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5417 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5418 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-ng", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5419 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-ng-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5420 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audit-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5423 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audit-libs-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5424 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audispd-plugins", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5425 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hawkey", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "libhif", +"repository": "rhel7-base" +} +], +"set_id": 5435 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5436 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "drpm-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10109 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "snapper", +"repository": "rhel7-base" +} +], +"set_id": 5470 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-plugin-aliases", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "yum-plugin-fastestmirror", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "yum-plugin-priorities", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "yum-plugin-remove-with-leaves", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "yum-plugin-tmprepo", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "yum-plugin-tsflags", +"repository": "rhel7-optional" +} +], +"set_id": 5478 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5479 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crit", +"repository": "rhel7-optional" +} +], +"set_id": 5480 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c-compiler", +"repository": "rhel7-optional" +} +], +"set_id": 5481 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c-compiler", +"repository": "rhel8-CRB" +} +], +"set_id": 7529 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5482 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7528 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-compiler", +"repository": "rhel7-optional" +} +], +"set_id": 5483 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-compiler", +"repository": "rhel8-CRB" +} +], +"set_id": 7527 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5484 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7526 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-criu", +"repository": "rhel7-optional" +} +], +"set_id": 5485 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "criu-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5486 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-emacs", +"repository": "rhel7-optional" +} +], +"set_id": 5487 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-emacs-el", +"repository": "rhel7-optional" +} +], +"set_id": 5488 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-lite-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5489 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-lite-static", +"repository": "rhel7-optional" +} +], +"set_id": 5490 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-static", +"repository": "rhel7-optional" +} +], +"set_id": 5491 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-vim", +"repository": "rhel7-optional" +} +], +"set_id": 5492 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-container", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5493 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-coroutine", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5494 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-fiber", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5495 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-log", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5496 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-stacktrace", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5497 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-type_erasure", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5498 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-python", +"repository": "rhel7-base" +} +], +"set_id": 5499 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-python3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5500 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgccjit", +"repository": "rhel7-base" +} +], +"set_id": 5502 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-offload-nvptx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5503 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgomp-offload-nvptx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5504 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-gdb-plugin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5506 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libubsan", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5507 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmudflap", +"repository": "rhel7-base" +} +], +"set_id": 5508 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmudflap-devel", +"repository": "rhel7-base" +} +], +"set_id": 5509 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmudflap-static", +"repository": "rhel7-base" +} +], +"set_id": 5510 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmcpp", +"repository": "rhel8-AppStream" +} +], +"set_id": 5558 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "make", +"repository": "rhel7-base" +} +], +"set_id": 6102 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "make", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "make-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6103 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsolv-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7623 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemtap-stap-exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 5534 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "advancecomp", +"repository": "rhel7-base" +} +], +"set_id": 5547 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-glibc-headers", +"repository": "rhel7-base" +} +], +"set_id": 5551 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyxattr", +"repository": "rhel7-base" +} +], +"set_id": 5554 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyxattr", +"repository": "rhel8-CRB" +} +], +"set_id": 5555 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pkgconfig", +"repository": "rhel7-base" +} +], +"set_id": 5556 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pkgconf-pkg-config", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5557 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ustr", +"repository": "rhel7-base" +} +], +"set_id": 5560 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ustr", +"repository": "rhel8-CRB" +} +], +"set_id": 5561 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgudev1", +"repository": "rhel7-base" +} +], +"set_id": 5562 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgudev", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5563 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hardlink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5564 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs17", +"repository": "rhel7-base" +} +], +"set_id": 5565 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyliblzma", +"repository": "rhel7-base" +} +], +"set_id": 5566 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "btrfs-progs", +"repository": "rhel7-base" +} +], +"set_id": 5568 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ebtables", +"repository": "rhel7-base" +} +], +"set_id": 5569 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-ebtables", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5570 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grub2", +"repository": "rhel7-base" +} +], +"set_id": 5571 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ayc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5572 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-nb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5573 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-kl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5574 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-af", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5575 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-lij", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5576 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-cs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5577 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-pa", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5578 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-my", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5579 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-fr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5580 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-wa", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5581 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-gv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5582 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sgs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5583 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-the", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5584 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5585 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-en", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5586 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ku", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5587 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-km", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5588 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ml", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5589 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ha", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5590 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-kn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5591 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-bn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5592 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-miq", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5593 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ar", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5594 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mni", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5595 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ia", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5596 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-fy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5597 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-kok", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5598 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mfe", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5599 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-si", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5600 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-nan", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5601 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5602 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5603 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-quz", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5604 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-hi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5605 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-kab", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5606 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sah", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5607 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-he", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5608 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-crh", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5609 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-lv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5610 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ja", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5611 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-bho", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5612 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-bo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5613 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-fa", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5614 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-lt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5615 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-fil", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5616 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ne", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5617 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-eu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5618 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ig", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5619 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-cv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5620 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-szl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5621 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-br", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5622 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-th", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5623 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-pl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5624 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mg", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5625 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mhr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5626 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5627 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-zh", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5628 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-nr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5629 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ca", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5630 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ga", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5631 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tpi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5632 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ss", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5633 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tg", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5634 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-yue", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5635 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-agr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5636 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5637 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-lzh", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5638 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ur", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5639 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-id", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5640 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-am", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5641 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-nn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5642 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-be", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5643 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-bhb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5644 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-nl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5645 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-lb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5646 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-gez", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5647 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-uk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5648 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tcy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5649 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sat", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5650 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-gd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5651 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-bg", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5652 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ber", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5653 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-yo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5654 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-yuw", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5655 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-se", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5656 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5657 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-yi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5658 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-cmn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5659 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-om", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5660 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5661 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-dsb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5662 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-hak", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5663 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sa", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5664 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-os", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5665 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-dz", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5666 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-csb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5667 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-pt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5668 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ky", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5669 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-hsb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5670 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-pap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5671 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-to", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5672 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5673 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-az", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5674 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mag", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5675 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-gu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5676 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-rw", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5677 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5678 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-nds", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5679 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-li", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5680 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-kk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5681 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-el", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5683 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5684 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ce", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5685 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ps", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5686 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-shs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5687 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-da", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5688 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tig", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5689 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5690 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-hr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5691 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-nhn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5692 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ff", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5693 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-te", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5694 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ak", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5695 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-hne", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5696 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5697 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-wae", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5698 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ve", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5699 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-as", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5700 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-so", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5701 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-it", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5702 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-nso", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5703 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-dv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5704 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ta", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5705 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-vi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5706 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-st", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5707 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-an", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5708 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5709 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ik", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5710 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-bem", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5711 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sw", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5712 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5713 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-fur", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5714 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5715 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ko", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5716 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-or", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5717 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-kw", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5718 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-lg", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5719 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-wo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5720 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-doi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5721 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-lo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5722 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-anp", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5723 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-fo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5724 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mjw", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5725 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-brx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5726 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sq", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5727 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-gl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5728 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-aa", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5729 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-hy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5730 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-byn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5731 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5732 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-de", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5733 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5734 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ti", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5735 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ht", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5736 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-raj", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5737 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-shn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5738 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-niu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5739 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-uz", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5740 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5741 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ast", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5742 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-oc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5743 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-xh", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5744 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-wal", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5745 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ro", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5746 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-bs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5747 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ka", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5748 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-unm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5749 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-iu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5750 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mai", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5751 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ms", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5752 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ru", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5753 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-es", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5754 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-bi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5755 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-hu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5756 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ln", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5757 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-chr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5758 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-et", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5759 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-tr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5760 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-zu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5761 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-sid", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5762 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-fi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5763 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-eo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5764 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-sysv", +"repository": "rhel7-base" +} +], +"set_id": 5766 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ks", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5769 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-cy", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5770 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-is", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5771 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-hif", +"repository": "rhel8-BaseOS" +} +], +"set_id": 5772 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rrdtool-python", +"repository": "rhel7-base" +} +], +"set_id": 5773 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rrdtool", +"repository": "rhel8-CRB" +} +], +"set_id": 5774 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "i2c-tools", +"repository": "rhel7-base" +} +], +"set_id": 5777 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "i2c-tools", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "i2c-tools-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 5778 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-verifier-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 5783 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-verifier-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 5785 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm4", +"repository": "rhel7-optional" +} +], +"set_id": 5787 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm", +"repository": "rhel8-CRB" +} +], +"set_id": 5788 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm4-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 5789 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 5790 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adwaita-qt4", +"repository": "rhel7-base" +} +], +"set_id": 5791 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adwaita-qt-common", +"repository": "rhel7-base" +} +], +"set_id": 5794 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "akonadi", +"repository": "rhel7-base" +} +], +"set_id": 5795 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "akonadi-devel", +"repository": "rhel7-base" +} +], +"set_id": 5796 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "akonadi-mysql", +"repository": "rhel7-base" +} +], +"set_id": 5797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audiocd-kio", +"repository": "rhel7-base" +} +], +"set_id": 5798 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audiocd-kio-devel", +"repository": "rhel7-base" +} +], +"set_id": 5799 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audiocd-kio-libs", +"repository": "rhel7-base" +} +], +"set_id": 5800 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "automoc", +"repository": "rhel7-base" +} +], +"set_id": 5801 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bluedevil", +"repository": "rhel7-base" +} +], +"set_id": 5802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bluedevil-autostart", +"repository": "rhel7-base" +} +], +"set_id": 5803 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "colord-kde", +"repository": "rhel7-base" +} +], +"set_id": 5804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbusmenu-qt", +"repository": "rhel7-base" +} +], +"set_id": 5805 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbusmenu-qt-devel", +"repository": "rhel7-base" +} +], +"set_id": 5806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbusmenu-qt-devel-docs", +"repository": "rhel7-base" +} +], +"set_id": 5814 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dragon", +"repository": "rhel7-base" +} +], +"set_id": 5808 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grantlee", +"repository": "rhel7-base" +} +], +"set_id": 5809 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grantlee-apidocs", +"repository": "rhel7-base" +} +], +"set_id": 5810 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grantlee-devel", +"repository": "rhel7-base" +} +], +"set_id": 5811 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gwenview", +"repository": "rhel7-base" +} +], +"set_id": 5812 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gwenview-libs", +"repository": "rhel7-base" +} +], +"set_id": 5813 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "highcontrast-qt", +"repository": "rhel7-base" +} +], +"set_id": 5815 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "highcontrast-qt4", +"repository": "rhel7-base" +} +], +"set_id": 5816 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "highcontrast-qt5", +"repository": "rhel7-base" +} +], +"set_id": 5817 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "juk", +"repository": "rhel7-base" +} +], +"set_id": 5818 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "k3b", +"repository": "rhel7-base" +} +], +"set_id": 5819 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "k3b-common", +"repository": "rhel7-base" +} +], +"set_id": 5820 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "k3b-devel", +"repository": "rhel7-base" +} +], +"set_id": 5821 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "k3b-libs", +"repository": "rhel7-base" +} +], +"set_id": 5822 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kaccessible", +"repository": "rhel7-base" +} +], +"set_id": 5823 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kaccessible-libs", +"repository": "rhel7-base" +} +], +"set_id": 5824 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kate", +"repository": "rhel7-base" +} +], +"set_id": 5825 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kate-devel", +"repository": "rhel7-base" +} +], +"set_id": 5826 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kate-libs", +"repository": "rhel7-base" +} +], +"set_id": 5827 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kate-part", +"repository": "rhel7-base" +} +], +"set_id": 5828 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kcm_colors", +"repository": "rhel7-base" +} +], +"set_id": 5829 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kcm_touchpad", +"repository": "rhel7-base" +} +], +"set_id": 5830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kcoloredit", +"repository": "rhel7-base" +} +], +"set_id": 5831 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeaccessibility", +"repository": "rhel7-base" +} +], +"set_id": 5832 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeadmin", +"repository": "rhel7-base" +} +], +"set_id": 5833 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeartwork", +"repository": "rhel7-base" +} +], +"set_id": 5834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeartwork-screensavers", +"repository": "rhel7-base" +} +], +"set_id": 5835 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeartwork-sounds", +"repository": "rhel7-base" +} +], +"set_id": 5836 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeartwork-wallpapers", +"repository": "rhel7-base" +} +], +"set_id": 5837 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-baseapps", +"repository": "rhel7-base" +} +], +"set_id": 5838 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-baseapps-devel", +"repository": "rhel7-base" +} +], +"set_id": 5839 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-baseapps-libs", +"repository": "rhel7-base" +} +], +"set_id": 5840 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-base-artwork", +"repository": "rhel7-base" +} +], +"set_id": 5841 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeclassic-cursor-theme", +"repository": "rhel7-base" +} +], +"set_id": 5842 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-filesystem", +"repository": "rhel7-base" +} +], +"set_id": 5843 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdegraphics", +"repository": "rhel7-base" +} +], +"set_id": 5844 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdegraphics-devel", +"repository": "rhel7-base" +} +], +"set_id": 5845 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdegraphics-libs", +"repository": "rhel7-base" +} +], +"set_id": 5846 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdegraphics-strigi-analyzer", +"repository": "rhel7-base" +} +], +"set_id": 5847 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdegraphics-thumbnailers", +"repository": "rhel7-base" +} +], +"set_id": 5850 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdelibs", +"repository": "rhel7-base" +} +], +"set_id": 5849 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdelibs-apidocs", +"repository": "rhel7-base" +} +], +"set_id": 5851 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdelibs-common", +"repository": "rhel7-base" +} +], +"set_id": 5852 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdelibs-devel", +"repository": "rhel7-base" +} +], +"set_id": 5854 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdelibs-ktexteditor", +"repository": "rhel7-base" +} +], +"set_id": 5855 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdemultimedia", +"repository": "rhel7-base" +} +], +"set_id": 5856 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdemultimedia-common", +"repository": "rhel7-base" +} +], +"set_id": 5857 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdemultimedia-devel", +"repository": "rhel7-base" +} +], +"set_id": 5858 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdemultimedia-libs", +"repository": "rhel7-base" +} +], +"set_id": 5859 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork", +"repository": "rhel7-base" +} +], +"set_id": 5860 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-common", +"repository": "rhel7-base" +} +], +"set_id": 5861 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-devel", +"repository": "rhel7-base" +} +], +"set_id": 5862 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-fileshare-samba", +"repository": "rhel7-base" +} +], +"set_id": 5863 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-kdnssd", +"repository": "rhel7-base" +} +], +"set_id": 5864 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-kget", +"repository": "rhel7-base" +} +], +"set_id": 5865 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-kget-libs", +"repository": "rhel7-base" +} +], +"set_id": 5866 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-kopete", +"repository": "rhel7-base" +} +], +"set_id": 5867 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-kopete-devel", +"repository": "rhel7-base" +} +], +"set_id": 5868 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-kopete-libs", +"repository": "rhel7-base" +} +], +"set_id": 5869 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-krdc", +"repository": "rhel7-base" +} +], +"set_id": 5870 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-krdc-devel", +"repository": "rhel7-base" +} +], +"set_id": 5871 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-krdc-libs", +"repository": "rhel7-base" +} +], +"set_id": 5872 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-krfb", +"repository": "rhel7-base" +} +], +"set_id": 5873 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdenetwork-krfb-libs", +"repository": "rhel7-base" +} +], +"set_id": 5874 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepim", +"repository": "rhel7-base" +} +], +"set_id": 5875 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepim-devel", +"repository": "rhel7-base" +} +], +"set_id": 5876 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepimlibs", +"repository": "rhel7-base" +} +], +"set_id": 5877 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepim-libs", +"repository": "rhel7-base" +} +], +"set_id": 5878 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepimlibs-akonadi", +"repository": "rhel7-base" +} +], +"set_id": 5879 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepimlibs-apidocs", +"repository": "rhel7-base" +} +], +"set_id": 5880 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepimlibs-devel", +"repository": "rhel7-base" +} +], +"set_id": 5881 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepimlibs-kxmlrpcclient", +"repository": "rhel7-base" +} +], +"set_id": 5882 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepim-runtime", +"repository": "rhel7-base" +} +], +"set_id": 5883 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdepim-runtime-libs", +"repository": "rhel7-base" +} +], +"set_id": 5884 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeplasma-addons", +"repository": "rhel7-base" +} +], +"set_id": 5885 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeplasma-addons-devel", +"repository": "rhel7-base" +} +], +"set_id": 5886 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeplasma-addons-libs", +"repository": "rhel7-base" +} +], +"set_id": 5887 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-plasma-networkmanagement", +"repository": "rhel7-base" +} +], +"set_id": 5888 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-plasma-networkmanagement-libreswan", +"repository": "rhel7-base" +} +], +"set_id": 5889 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-plasma-networkmanagement-libs", +"repository": "rhel7-base" +} +], +"set_id": 5890 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-plasma-networkmanagement-mobile", +"repository": "rhel7-base" +} +], +"set_id": 5891 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-print-manager", +"repository": "rhel7-base" +} +], +"set_id": 5892 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-runtime", +"repository": "rhel7-base" +} +], +"set_id": 5893 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-runtime-devel", +"repository": "rhel7-base" +} +], +"set_id": 5894 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-runtime-drkonqi", +"repository": "rhel7-base" +} +], +"set_id": 5895 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-runtime-libs", +"repository": "rhel7-base" +} +], +"set_id": 5896 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk", +"repository": "rhel7-base" +} +], +"set_id": 6078 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-settings", +"repository": "rhel7-base" +} +], +"set_id": 5898 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-settings-ksplash", +"repository": "rhel7-base" +} +], +"set_id": 5899 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-settings-minimal", +"repository": "rhel7-base" +} +], +"set_id": 5900 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-settings-plasma", +"repository": "rhel7-base" +} +], +"set_id": 5901 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-settings-pulseaudio", +"repository": "rhel7-base" +} +], +"set_id": 5902 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-style-oxygen", +"repository": "rhel7-base" +} +], +"set_id": 5903 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-style-phase", +"repository": "rhel7-base" +} +], +"set_id": 5904 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeutils", +"repository": "rhel7-base" +} +], +"set_id": 5905 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeutils-common", +"repository": "rhel7-base" +} +], +"set_id": 5906 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdeutils-minimal", +"repository": "rhel7-base" +} +], +"set_id": 5907 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-wallpapers", +"repository": "rhel7-base" +} +], +"set_id": 5908 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-workspace", +"repository": "rhel7-base" +} +], +"set_id": 5909 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-workspace-devel", +"repository": "rhel7-base" +} +], +"set_id": 5910 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-workspace-ksplash-themes", +"repository": "rhel7-base" +} +], +"set_id": 5911 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-workspace-libs", +"repository": "rhel7-base" +} +], +"set_id": 5912 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kgpg", +"repository": "rhel7-base" +} +], +"set_id": 5913 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kgreeter-plugins", +"repository": "rhel7-base" +} +], +"set_id": 5914 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khotkeys", +"repository": "rhel7-base" +} +], +"set_id": 5915 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khotkeys-libs", +"repository": "rhel7-base" +} +], +"set_id": 5916 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kiconedit", +"repository": "rhel7-base" +} +], +"set_id": 5917 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kio_sysinfo", +"repository": "rhel7-base" +} +], +"set_id": 5918 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kmenuedit", +"repository": "rhel7-base" +} +], +"set_id": 5919 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kmix", +"repository": "rhel7-base" +} +], +"set_id": 5920 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "konsole", +"repository": "rhel7-base" +} +], +"set_id": 5921 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kinfocenter", +"repository": "rhel7-base" +} +], +"set_id": 5922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "konsole-part", +"repository": "rhel7-base" +} +], +"set_id": 5923 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kscreen", +"repository": "rhel7-base" +} +], +"set_id": 5924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksshaskpass", +"repository": "rhel7-base" +} +], +"set_id": 5925 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksysguard", +"repository": "rhel7-base" +} +], +"set_id": 5926 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksysguardd", +"repository": "rhel7-base" +} +], +"set_id": 5927 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksysguard-libs", +"repository": "rhel7-base" +} +], +"set_id": 5928 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kwin", +"repository": "rhel7-base" +} +], +"set_id": 5929 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kwin-gles", +"repository": "rhel7-base" +} +], +"set_id": 5930 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kwin-gles-libs", +"repository": "rhel7-base" +} +], +"set_id": 5931 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kwin-libs", +"repository": "rhel7-base" +} +], +"set_id": 5932 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kwrite", +"repository": "rhel7-base" +} +], +"set_id": 5933 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbluedevil", +"repository": "rhel7-base" +} +], +"set_id": 5934 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbluedevil-devel", +"repository": "rhel7-base" +} +], +"set_id": 5935 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkscreen", +"repository": "rhel7-base" +} +], +"set_id": 5936 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkscreen-devel", +"repository": "rhel7-base" +} +], +"set_id": 5937 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkworkspace", +"repository": "rhel7-base" +} +], +"set_id": 5938 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nepomuk-core", +"repository": "rhel7-base" +} +], +"set_id": 5939 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nepomuk-core-devel", +"repository": "rhel7-base" +} +], +"set_id": 5940 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nepomuk-core-libs", +"repository": "rhel7-base" +} +], +"set_id": 5941 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nepomuk-widgets", +"repository": "rhel7-base" +} +], +"set_id": 5942 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nepomuk-widgets-devel", +"repository": "rhel7-base" +} +], +"set_id": 5943 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "okular", +"repository": "rhel7-base" +} +], +"set_id": 5944 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "okular-devel", +"repository": "rhel7-base" +} +], +"set_id": 5945 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "okular-libs", +"repository": "rhel7-base" +} +], +"set_id": 5946 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "okular-part", +"repository": "rhel7-base" +} +], +"set_id": 5947 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ortp", +"repository": "rhel7-base" +} +], +"set_id": 5948 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ortp-devel", +"repository": "rhel7-base" +} +], +"set_id": 5949 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oxygen-cursor-themes", +"repository": "rhel7-base" +} +], +"set_id": 5950 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oxygen-gtk", +"repository": "rhel7-base" +} +], +"set_id": 5951 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oxygen-gtk2", +"repository": "rhel7-base" +} +], +"set_id": 5952 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oxygen-gtk3", +"repository": "rhel7-base" +} +], +"set_id": 5953 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oxygen-icon-theme", +"repository": "rhel7-base" +} +], +"set_id": 5954 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "phonon", +"repository": "rhel7-base" +} +], +"set_id": 5955 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "phonon-backend-gstreamer", +"repository": "rhel7-base" +} +], +"set_id": 5956 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plasma-scriptengine-python", +"repository": "rhel7-base" +} +], +"set_id": 5957 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plasma-scriptengine-ruby", +"repository": "rhel7-base" +} +], +"set_id": 5958 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "polkit-kde", +"repository": "rhel7-base" +} +], +"set_id": 5959 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "polkit-qt", +"repository": "rhel7-base" +} +], +"set_id": 5960 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "polkit-qt-devel", +"repository": "rhel7-base" +} +], +"set_id": 5961 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "polkit-qt-doc", +"repository": "rhel7-base" +} +], +"set_id": 5962 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qca2", +"repository": "rhel7-base" +} +], +"set_id": 5963 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qca2-devel", +"repository": "rhel7-base" +} +], +"set_id": 5964 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qca-ossl", +"repository": "rhel7-base" +} +], +"set_id": 5966 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qimageblitz", +"repository": "rhel7-base" +} +], +"set_id": 5967 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qimageblitz-devel", +"repository": "rhel7-base" +} +], +"set_id": 5968 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qimageblitz-examples", +"repository": "rhel7-base" +} +], +"set_id": 5969 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sip-devel", +"repository": "rhel7-base" +} +], +"set_id": 5970 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sip-devel", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "sip", +"repository": "rhel8-CRB" +} +], +"set_id": 5971 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sip-macros", +"repository": "rhel7-base" +} +], +"set_id": 5972 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sip", +"repository": "rhel8-CRB" +} +], +"set_id": 5973 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "strigi", +"repository": "rhel7-base" +} +], +"set_id": 5974 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "strigi-devel", +"repository": "rhel7-base" +} +], +"set_id": 5975 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "strigi-libs", +"repository": "rhel7-base" +} +], +"set_id": 5976 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virtuoso-opensource", +"repository": "rhel7-base" +} +], +"set_id": 5977 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virtuoso-opensource-utils", +"repository": "rhel7-base" +} +], +"set_id": 5978 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "soprano", +"repository": "rhel7-base" +} +], +"set_id": 5981 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "soprano-apidocs", +"repository": "rhel7-base" +} +], +"set_id": 5982 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "soprano-devel", +"repository": "rhel7-base" +} +], +"set_id": 5983 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "t1utils", +"repository": "rhel7-base" +} +], +"set_id": 5984 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "phonon-devel", +"repository": "rhel7-base" +} +], +"set_id": 5985 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 5986 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-postgresql", +"repository": "rhel7-optional" +} +], +"set_id": 5987 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-qdbusviewer", +"repository": "rhel7-optional" +} +], +"set_id": 5988 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-mysql", +"repository": "rhel7-optional" +} +], +"set_id": 5989 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-config", +"repository": "rhel7-optional" +} +], +"set_id": 5990 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-assistant", +"repository": "rhel7-optional" +} +], +"set_id": 5991 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-devel-private", +"repository": "rhel7-optional" +} +], +"set_id": 5992 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt", +"repository": "rhel7-optional" +} +], +"set_id": 5993 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-odbc", +"repository": "rhel7-optional" +} +], +"set_id": 5994 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-qvfb", +"repository": "rhel7-optional" +} +], +"set_id": 5995 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-doc", +"repository": "rhel7-optional" +} +], +"set_id": 5996 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-x11", +"repository": "rhel7-optional" +} +], +"set_id": 5997 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-examples", +"repository": "rhel7-optional" +} +], +"set_id": 5998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-demos", +"repository": "rhel7-optional" +} +], +"set_id": 5999 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt3-config", +"repository": "rhel7-optional" +} +], +"set_id": 6000 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt3-devel", +"repository": "rhel7-optional" +} +], +"set_id": 6001 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt3-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 6002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt3-PostgreSQL", +"repository": "rhel7-optional" +} +], +"set_id": 6003 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt3", +"repository": "rhel7-optional" +} +], +"set_id": 6004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt3-designer", +"repository": "rhel7-optional" +} +], +"set_id": 6005 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt3-ODBC", +"repository": "rhel7-optional" +} +], +"set_id": 6006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt3-MySQL", +"repository": "rhel7-optional" +} +], +"set_id": 6007 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt-settings", +"repository": "rhel7-base" +} +], +"set_id": 6008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Farsi", +"repository": "rhel7-optional" +} +], +"set_id": 6009 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Serbian", +"repository": "rhel7-optional" +} +], +"set_id": 6010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Slovak", +"repository": "rhel7-optional" +} +], +"set_id": 6011 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Polish", +"repository": "rhel7-optional" +} +], +"set_id": 6012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Khmer", +"repository": "rhel7-optional" +} +], +"set_id": 6013 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Finnish", +"repository": "rhel7-optional" +} +], +"set_id": 6014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Arabic", +"repository": "rhel7-optional" +} +], +"set_id": 6015 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Kazakh", +"repository": "rhel7-optional" +} +], +"set_id": 6016 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Swedish", +"repository": "rhel7-optional" +} +], +"set_id": 6017 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Catalan-Valencian", +"repository": "rhel7-optional" +} +], +"set_id": 6018 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Vietnamese", +"repository": "rhel7-optional" +} +], +"set_id": 6019 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Irish", +"repository": "rhel7-optional" +} +], +"set_id": 6020 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-LowSaxon", +"repository": "rhel7-optional" +} +], +"set_id": 6021 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Czech", +"repository": "rhel7-optional" +} +], +"set_id": 6022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Norwegian-Nynorsk", +"repository": "rhel7-optional" +} +], +"set_id": 6023 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Croatian", +"repository": "rhel7-optional" +} +], +"set_id": 6024 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Basque", +"repository": "rhel7-optional" +} +], +"set_id": 6025 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Bosnian", +"repository": "rhel7-optional" +} +], +"set_id": 6026 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Hungarian", +"repository": "rhel7-optional" +} +], +"set_id": 6027 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Galician", +"repository": "rhel7-optional" +} +], +"set_id": 6028 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Turkish", +"repository": "rhel7-optional" +} +], +"set_id": 6029 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Portuguese", +"repository": "rhel7-optional" +} +], +"set_id": 6030 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Tajik", +"repository": "rhel7-optional" +} +], +"set_id": 6031 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Estonian", +"repository": "rhel7-optional" +} +], +"set_id": 6032 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Walloon", +"repository": "rhel7-optional" +} +], +"set_id": 6033 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Hebrew", +"repository": "rhel7-optional" +} +], +"set_id": 6034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n", +"repository": "rhel7-optional" +} +], +"set_id": 6035 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Slovenian", +"repository": "rhel7-optional" +} +], +"set_id": 6036 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Interlingua", +"repository": "rhel7-optional" +} +], +"set_id": 6037 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Danish", +"repository": "rhel7-optional" +} +], +"set_id": 6038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Greek", +"repository": "rhel7-optional" +} +], +"set_id": 6039 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Uyghur", +"repository": "rhel7-optional" +} +], +"set_id": 6040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Romanian", +"repository": "rhel7-optional" +} +], +"set_id": 6041 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Ukrainian", +"repository": "rhel7-optional" +} +], +"set_id": 6042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Catalan", +"repository": "rhel7-optional" +} +], +"set_id": 6043 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Dutch", +"repository": "rhel7-optional" +} +], +"set_id": 6044 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Thai", +"repository": "rhel7-optional" +} +], +"set_id": 6045 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Icelandic", +"repository": "rhel7-optional" +} +], +"set_id": 6046 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Bulgarian", +"repository": "rhel7-optional" +} +], +"set_id": 6047 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Lithuanian", +"repository": "rhel7-optional" +} +], +"set_id": 6048 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Norwegian", +"repository": "rhel7-optional" +} +], +"set_id": 6049 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-British", +"repository": "rhel7-optional" +} +], +"set_id": 6050 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Latvian", +"repository": "rhel7-optional" +} +], +"set_id": 6051 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-strigi-analyzer", +"repository": "rhel7-base" +} +], +"set_id": 6052 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kmtrace-devel", +"repository": "rhel7-base" +} +], +"set_id": 6053 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-umbrello", +"repository": "rhel7-base" +} +], +"set_id": 6054 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kuiviewer", +"repository": "rhel7-base" +} +], +"set_id": 6055 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-poxml", +"repository": "rhel7-base" +} +], +"set_id": 6056 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-lokalize", +"repository": "rhel7-base" +} +], +"set_id": 6057 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kmtrace-libs", +"repository": "rhel7-base" +} +], +"set_id": 6058 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kapptemplate-template", +"repository": "rhel7-base" +} +], +"set_id": 6059 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kompare-libs", +"repository": "rhel7-base" +} +], +"set_id": 6060 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kompare-devel", +"repository": "rhel7-base" +} +], +"set_id": 6061 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kmtrace", +"repository": "rhel7-base" +} +], +"set_id": 6062 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-okteta-devel", +"repository": "rhel7-base" +} +], +"set_id": 6063 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-scripts", +"repository": "rhel7-base" +} +], +"set_id": 6064 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kcachegrind", +"repository": "rhel7-base" +} +], +"set_id": 6065 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-thumbnailers", +"repository": "rhel7-base" +} +], +"set_id": 6066 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-common", +"repository": "rhel7-base" +} +], +"set_id": 6067 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kompare", +"repository": "rhel7-base" +} +], +"set_id": 6068 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kpartloader", +"repository": "rhel7-base" +} +], +"set_id": 6069 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-dolphin-plugins", +"repository": "rhel7-base" +} +], +"set_id": 6070 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kioslave", +"repository": "rhel7-base" +} +], +"set_id": 6071 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3770, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-okteta-libs", +"repository": "rhel7-base" +} +], +"set_id": 6072 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kapptemplate", +"repository": "rhel7-base" +} +], +"set_id": 6073 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-cervisia", +"repository": "rhel7-base" +} +], +"set_id": 6074 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-okteta", +"repository": "rhel7-base" +} +], +"set_id": 6075 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-devel", +"repository": "rhel7-base" +} +], +"set_id": 6076 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdesdk-kstartperf", +"repository": "rhel7-base" +} +], +"set_id": 6077 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fros-recordmydesktop", +"repository": "rhel7-optional" +} +], +"set_id": 6081 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fros", +"repository": "rhel7-optional" +} +], +"set_id": 6082 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fros-gnome", +"repository": "rhel7-optional" +} +], +"set_id": 6083 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-python", +"repository": "rhel7-base" +} +], +"set_id": 6084 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-abrt-addon", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6089 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-cli-ng", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6085 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-python", +"repository": "rhel7-base" +} +], +"set_id": 6086 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-abrt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6088 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-python-doc", +"repository": "rhel7-base" +} +], +"set_id": 6087 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-abrt-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6090 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-plugin-sosreport", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6091 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-plugin-machine-id", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6092 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-inotify", +"repository": "rhel7-base" +} +], +"set_id": 6093 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-inotify", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6094 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-inotify-examples", +"repository": "rhel7-base" +} +], +"set_id": 6095 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-python", +"repository": "rhel7-base" +} +], +"set_id": 6096 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libreport", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6097 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-coredump-helper", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6099 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dracut", +"repository": "rhel7-base" +} +], +"set_id": 9147 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dracut", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "dracut-live", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "dracut-squash", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9148 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-private", +"repository": "rhel7-base" +} +], +"set_id": 6105 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 6106 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-private-devel", +"repository": "rhel7-base" +} +], +"set_id": 6107 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 6108 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-private-llvm", +"repository": "rhel7-base" +} +], +"set_id": 6109 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-private-llvm-devel", +"repository": "rhel7-base" +} +], +"set_id": 6110 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cmake-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 6111 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cmake-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6112 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cmake-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 6113 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cmake-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 6114 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openwsman-client", +"repository": "rhel7-base" +} +], +"set_id": 6131 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openwsman-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 6132 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openwsman-server", +"repository": "rhel7-base" +} +], +"set_id": 6133 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openwsman-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 6134 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwsman1", +"repository": "rhel7-base" +} +], +"set_id": 6135 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwsman1", +"repository": "rhel8-AppStream" +} +], +"set_id": 6136 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tagsoup", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6158 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icedtea-web", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6159 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icedtea-web-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6160 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_md", +"repository": "rhel8-AppStream" +} +], +"set_id": 6161 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-numpy3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6163 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-devel", +"repository": "rhel7-base" +} +], +"set_id": 6164 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-devel", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "boost-python3-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6165 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3812, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-mpich-python", +"repository": "rhel7-base" +} +], +"set_id": 6166 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-mpich-python3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6167 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-openmpi-python", +"repository": "rhel7-base" +} +], +"set_id": 6168 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-openmpi-python3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6169 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion-kde", +"repository": "rhel7-optional" +} +], +"set_id": 6170 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apr-util", +"repository": "rhel7-base" +} +], +"set_id": 6171 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apr-util", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "apr-util-bdb", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "apr-util-openssl", +"repository": "rhel8-AppStream" +} +], +"set_id": 6172 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3816, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apr-util-nss", +"repository": "rhel7-base" +} +], +"set_id": 6173 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cvs", +"repository": "rhel7-base" +} +], +"set_id": 6180 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cvs-inetd", +"repository": "rhel7-optional" +} +], +"set_id": 6175 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cvs-doc", +"repository": "rhel7-optional" +} +], +"set_id": 6176 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cvs-contrib", +"repository": "rhel7-optional" +} +], +"set_id": 6177 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "expat-static", +"repository": "rhel7-base" +} +], +"set_id": 6181 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-mysql", +"repository": "rhel7-base" +} +], +"set_id": 6182 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-mysqlnd", +"repository": "rhel8-AppStream" +} +], +"set_id": 6251 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3832, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-rawcode", +"repository": "rhel7-base" +} +], +"set_id": 6202 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pothana2000-fonts", +"repository": "rhel7-base" +} +], +"set_id": 6203 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vemana2000-fonts", +"repository": "rhel7-base" +} +], +"set_id": 6204 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libvoikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 6209 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3836, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cjk-fonts", +"repository": "rhel7-optional" +} +], +"set_id": 6210 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-cjk-ttc-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 6211 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3837, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libcap1", +"repository": "rhel7-base" +} +], +"set_id": 6212 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcryptui", +"repository": "rhel7-base" +} +], +"set_id": 6214 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libntlm", +"repository": "rhel7-base" +} +], +"set_id": 6215 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libyami", +"repository": "rhel7-base" +} +], +"set_id": 6216 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libyami", +"repository": "rhel8-AppStream" +} +], +"set_id": 6217 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpst-devel-doc", +"repository": "rhel7-optional" +} +], +"set_id": 6218 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpst", +"repository": "rhel7-optional" +} +], +"set_id": 6220 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpst-doc", +"repository": "rhel7-optional" +} +], +"set_id": 6222 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3844, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpst-devel", +"repository": "rhel7-optional" +} +], +"set_id": 6224 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3845, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpst-libs", +"repository": "rhel7-optional" +} +], +"set_id": 6226 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpst-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 6228 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpst-python", +"repository": "rhel7-optional" +} +], +"set_id": 6227 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota", +"repository": "rhel7-base" +} +], +"set_id": 6229 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "quota-rpc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6230 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3848, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota-devel", +"repository": "rhel7-optional" +} +], +"set_id": 6231 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3849, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota-doc", +"repository": "rhel7-optional" +} +], +"set_id": 6233 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6234 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota-nld", +"repository": "rhel7-optional" +} +], +"set_id": 6235 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota-nld", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6236 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota-warnquota", +"repository": "rhel7-optional" +} +], +"set_id": 6237 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota-warnquota", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6238 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3852, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "whois", +"repository": "rhel7-base" +} +], +"set_id": 6239 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3853, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "indent", +"repository": "rhel7-base" +} +], +"set_id": 6240 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wordnet", +"repository": "rhel7-optional" +} +], +"set_id": 6241 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wordnet-devel", +"repository": "rhel7-optional" +} +], +"set_id": 6242 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3856, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wordnet-doc", +"repository": "rhel7-optional" +} +], +"set_id": 6243 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wordnet-browser", +"repository": "rhel7-optional" +} +], +"set_id": 6244 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3860, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nextgen-yum4", +"repository": "rhel7-extras" +} +], +"set_id": 6247 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6248 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3861, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre", +"repository": "rhel7-base" +} +], +"set_id": 6249 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "pcre-cpp", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "pcre-utf16", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "pcre-utf32", +"repository": "rhel8-BaseOS" +} +], +"set_id": 6250 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-common", +"repository": "rhel7-base" +} +], +"set_id": 6252 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-common", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "php-gmp", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "php-json", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "php-pecl-zip", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "php-xml", +"repository": "rhel8-AppStream" +} +], +"set_id": 6253 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-dbg", +"repository": "rhel8-AppStream" +} +], +"set_id": 6254 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pecl-memcache", +"repository": "rhel7-base" +} +], +"set_id": 6260 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-opcache", +"repository": "rhel8-AppStream" +} +], +"set_id": 6264 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pspell", +"repository": "rhel7-base" +} +], +"set_id": 6265 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-dc", +"repository": "rhel7-base" +} +], +"set_id": 6266 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-talloc", +"repository": "rhel8-CRB" +} +], +"set_id": 6267 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-cffi-doc", +"repository": "rhel7-optional" +} +], +"set_id": 6268 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "squid-migration-script", +"repository": "rhel7-base" +} +], +"set_id": 6270 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "squid-sysvinit", +"repository": "rhel7-base" +} +], +"set_id": 6271 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resolver-connector-basic", +"repository": "rhel8-AppStream" +} +], +"set_id": 6272 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resolver-transport-classpath", +"repository": "rhel8-CRB" +} +], +"set_id": 6273 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resolver-transport-http", +"repository": "rhel8-CRB" +} +], +"set_id": 6274 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant", +"repository": "rhel7-base" +} +], +"set_id": 6275 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant", +"repository": "rhel8-AppStream" +} +], +"set_id": 6276 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-antlr", +"repository": "rhel7-optional" +} +], +"set_id": 6277 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-antlr", +"repository": "rhel8-CRB" +} +], +"set_id": 6278 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-bcel", +"repository": "rhel7-optional" +} +], +"set_id": 6279 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-bcel", +"repository": "rhel8-CRB" +} +], +"set_id": 6280 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-bsf", +"repository": "rhel7-optional" +} +], +"set_id": 6281 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-bsf", +"repository": "rhel8-CRB" +} +], +"set_id": 6282 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-log4j", +"repository": "rhel7-optional" +} +], +"set_id": 6283 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-log4j", +"repository": "rhel8-CRB" +} +], +"set_id": 6284 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-oro", +"repository": "rhel7-optional" +} +], +"set_id": 6285 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-oro", +"repository": "rhel8-CRB" +} +], +"set_id": 6286 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-regexp", +"repository": "rhel7-optional" +} +], +"set_id": 6287 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-regexp", +"repository": "rhel8-CRB" +} +], +"set_id": 6288 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-resolver", +"repository": "rhel7-optional" +} +], +"set_id": 6289 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-resolver", +"repository": "rhel8-CRB" +} +], +"set_id": 6290 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-xalan2", +"repository": "rhel7-optional" +} +], +"set_id": 6291 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-xalan2", +"repository": "rhel8-CRB" +} +], +"set_id": 6292 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-commons-logging", +"repository": "rhel7-optional" +} +], +"set_id": 6293 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-commons-logging", +"repository": "rhel8-CRB" +} +], +"set_id": 6294 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-commons-net", +"repository": "rhel7-optional" +} +], +"set_id": 6295 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-commons-net", +"repository": "rhel8-CRB" +} +], +"set_id": 6296 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6297 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6298 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-javamail", +"repository": "rhel7-optional" +} +], +"set_id": 6299 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-javamail", +"repository": "rhel8-CRB" +} +], +"set_id": 6300 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jdepend", +"repository": "rhel7-optional" +} +], +"set_id": 6301 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jdepend", +"repository": "rhel8-CRB" +} +], +"set_id": 6302 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jmf", +"repository": "rhel7-optional" +} +], +"set_id": 6303 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jmf", +"repository": "rhel8-CRB" +} +], +"set_id": 6304 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jsch", +"repository": "rhel7-optional" +} +], +"set_id": 6305 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jsch", +"repository": "rhel8-CRB" +} +], +"set_id": 6306 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-junit", +"repository": "rhel7-optional" +} +], +"set_id": 6307 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-junit", +"repository": "rhel8-CRB" +} +], +"set_id": 6308 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6309 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 6310 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-swing", +"repository": "rhel7-optional" +} +], +"set_id": 6311 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-swing", +"repository": "rhel8-CRB" +} +], +"set_id": 6312 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-testutil", +"repository": "rhel7-optional" +} +], +"set_id": 6313 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-testutil", +"repository": "rhel8-CRB" +} +], +"set_id": 6314 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 6315 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-xz", +"repository": "rhel8-CRB" +} +], +"set_id": 6316 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-antunit", +"repository": "rhel7-optional" +} +], +"set_id": 6317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-antunit-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6318 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-contrib", +"repository": "rhel7-optional" +} +], +"set_id": 6319 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-contrib", +"repository": "rhel8-CRB" +} +], +"set_id": 6320 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-contrib-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6321 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-contrib-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6322 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-C++", +"repository": "rhel7-optional" +} +], +"set_id": 6323 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-C++", +"repository": "rhel8-CRB" +} +], +"set_id": 6324 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6325 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6326 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6327 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 6328 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-tool", +"repository": "rhel7-base" +} +], +"set_id": 6329 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-tool", +"repository": "rhel8-CRB" +} +], +"set_id": 6330 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-C++-doc", +"repository": "rhel7-optional" +} +], +"set_id": 6331 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-python", +"repository": "rhel7-optional" +} +], +"set_id": 6332 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aopalliance", +"repository": "rhel7-optional" +} +], +"set_id": 6333 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aopalliance", +"repository": "rhel8-AppStream" +} +], +"set_id": 6334 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aopalliance-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6335 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aopalliance-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6336 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-beanutils", +"repository": "rhel7-optional" +} +], +"set_id": 6337 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-beanutils", +"repository": "rhel8-CRB" +} +], +"set_id": 6338 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-beanutils-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6339 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-beanutils-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6340 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-cli", +"repository": "rhel7-base" +} +], +"set_id": 6341 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-cli", +"repository": "rhel8-AppStream" +} +], +"set_id": 6342 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-cli-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6343 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-cli-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6344 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-codec", +"repository": "rhel7-base" +} +], +"set_id": 6345 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-codec", +"repository": "rhel8-AppStream" +} +], +"set_id": 6346 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-codec-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6347 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-codec-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6348 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections", +"repository": "rhel7-base" +} +], +"set_id": 6349 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections", +"repository": "rhel8-AppStream" +} +], +"set_id": 6350 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6351 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6352 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections-testframework", +"repository": "rhel7-optional" +} +], +"set_id": 6353 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections-testframework", +"repository": "rhel8-AppStream" +} +], +"set_id": 6354 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections-testframework-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6355 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6356 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-compress", +"repository": "rhel7-optional" +} +], +"set_id": 6357 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-compress", +"repository": "rhel8-CRB" +} +], +"set_id": 6358 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-compress-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6359 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-compress-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6360 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-configuration", +"repository": "rhel7-optional" +} +], +"set_id": 6361 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-configuration-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6362 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-daemon", +"repository": "rhel7-base" +} +], +"set_id": 6363 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-daemon-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6365 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-daemon-jsvc", +"repository": "rhel7-optional" +} +], +"set_id": 6366 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-dbcp", +"repository": "rhel7-base" +} +], +"set_id": 6367 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-dbcp-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6368 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-digester", +"repository": "rhel7-optional" +} +], +"set_id": 6369 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-digester-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6370 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-exec", +"repository": "rhel7-optional" +} +], +"set_id": 6371 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-exec", +"repository": "rhel8-CRB" +} +], +"set_id": 6372 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-exec-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6373 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-exec-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6374 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-io", +"repository": "rhel7-base" +} +], +"set_id": 6375 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-io", +"repository": "rhel8-AppStream" +} +], +"set_id": 6376 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-io-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6377 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-io-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6378 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-jexl", +"repository": "rhel7-optional" +} +], +"set_id": 6379 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-jexl-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6380 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-jxpath", +"repository": "rhel7-optional" +} +], +"set_id": 6381 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-jxpath", +"repository": "rhel8-CRB" +} +], +"set_id": 6382 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-jxpath-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6383 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-jxpath-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6384 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang", +"repository": "rhel7-base" +} +], +"set_id": 6385 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang", +"repository": "rhel8-AppStream" +} +], +"set_id": 6386 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6387 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6388 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang3", +"repository": "rhel7-optional" +} +], +"set_id": 6389 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang3", +"repository": "rhel8-AppStream" +} +], +"set_id": 6390 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang3-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6391 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang3-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6392 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-logging", +"repository": "rhel7-base" +} +], +"set_id": 6393 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-logging", +"repository": "rhel8-AppStream" +} +], +"set_id": 6394 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-logging-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6395 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-logging-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6396 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-net", +"repository": "rhel7-optional" +} +], +"set_id": 6397 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-net", +"repository": "rhel8-CRB" +} +], +"set_id": 6398 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-net-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6399 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-net-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6400 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6401 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 6402 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-pool", +"repository": "rhel7-base" +} +], +"set_id": 6403 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-pool-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6404 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-validator", +"repository": "rhel7-optional" +} +], +"set_id": 6405 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-validator-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6406 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-vfs", +"repository": "rhel7-optional" +} +], +"set_id": 6407 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-vfs-ant", +"repository": "rhel7-optional" +} +], +"set_id": 6408 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-vfs-examples", +"repository": "rhel7-optional" +} +], +"set_id": 6409 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-vfs-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6410 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-ivy", +"repository": "rhel7-optional" +} +], +"set_id": 6411 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-ivy", +"repository": "rhel8-CRB" +} +], +"set_id": 6412 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-ivy-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6413 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-ivy-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6414 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6415 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 6416 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-rat", +"repository": "rhel7-optional" +} +], +"set_id": 6417 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-rat-core", +"repository": "rhel7-optional" +} +], +"set_id": 6418 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-rat-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6419 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-rat-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6420 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-rat-tasks", +"repository": "rhel7-optional" +} +], +"set_id": 6421 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-resource-bundles", +"repository": "rhel7-optional" +} +], +"set_id": 6422 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-resource-bundles", +"repository": "rhel8-CRB" +} +], +"set_id": 6423 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bnd", +"repository": "rhel7-optional" +} +], +"set_id": 6424 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bnd", +"repository": "rhel8-CRB" +} +], +"set_id": 6425 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bnd-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6426 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bnd-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6427 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bnd-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6428 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bndlib", +"repository": "rhel7-optional" +} +], +"set_id": 6429 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bndlib", +"repository": "rhel8-CRB" +} +], +"set_id": 6430 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bndlib-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6431 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bnd-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6432 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "assertj-core", +"repository": "rhel8-CRB" +} +], +"set_id": 6433 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "assertj-core-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6434 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atinject", +"repository": "rhel7-optional" +} +], +"set_id": 6435 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atinject", +"repository": "rhel8-AppStream" +} +], +"set_id": 6436 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atinject-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6437 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atinject-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6438 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atinject-tck", +"repository": "rhel7-optional" +} +], +"set_id": 6439 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atinject-tck", +"repository": "rhel8-CRB" +} +], +"set_id": 6440 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avalon-framework", +"repository": "rhel7-base" +} +], +"set_id": 6441 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avalon-framework-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6442 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avalon-logkit", +"repository": "rhel7-base" +} +], +"set_id": 6443 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avalon-logkit-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6444 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "base64coder", +"repository": "rhel7-optional" +} +], +"set_id": 6445 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "base64coder-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6446 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik", +"repository": "rhel7-optional" +} +], +"set_id": 6447 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6448 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6449 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik-rasterizer", +"repository": "rhel7-optional" +} +], +"set_id": 6450 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik-slideshow", +"repository": "rhel7-optional" +} +], +"set_id": 6451 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik-squiggle", +"repository": "rhel7-optional" +} +], +"set_id": 6452 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik-svgpp", +"repository": "rhel7-optional" +} +], +"set_id": 6453 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik-ttf2svg", +"repository": "rhel7-optional" +} +], +"set_id": 6454 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bcel", +"repository": "rhel7-base" +} +], +"set_id": 6455 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bcel", +"repository": "rhel8-CRB" +} +], +"set_id": 6456 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bcel-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6457 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bcel-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6458 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 3997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bea-stax", +"repository": "rhel7-base" +} +], +"set_id": 6459 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bea-stax", +"repository": "rhel8-AppStream" +} +], +"set_id": 6460 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bea-stax-api", +"repository": "rhel7-base" +} +], +"set_id": 6461 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "bea-stax-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 6462 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 3999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bea-stax-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6463 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "bea-stax-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6464 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "beust-jcommander", +"repository": "rhel7-optional" +} +], +"set_id": 6465 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "beust-jcommander", +"repository": "rhel8-CRB" +} +], +"set_id": 6466 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "beust-jcommander-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6467 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "beust-jcommander-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6468 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsf", +"repository": "rhel7-optional" +} +], +"set_id": 6469 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsf", +"repository": "rhel8-CRB" +} +], +"set_id": 6470 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsf-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6471 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsf-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6472 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsh", +"repository": "rhel7-optional" +} +], +"set_id": 6473 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsh", +"repository": "rhel8-CRB" +} +], +"set_id": 6474 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsh-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6475 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsh-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6476 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsh-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6477 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsh-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 6478 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsh-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6479 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsh-utils", +"repository": "rhel7-optional" +} +], +"set_id": 6480 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "buildnumber-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6481 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "buildnumber-maven-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6482 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "byaccj", +"repository": "rhel7-optional" +} +], +"set_id": 6483 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "byaccj", +"repository": "rhel8-CRB" +} +], +"set_id": 6484 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cal10n", +"repository": "rhel7-base" +} +], +"set_id": 6488 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cal10n", +"repository": "rhel8-CRB" +} +], +"set_id": 6489 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cal10n-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6490 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cal10n-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6491 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-cal10n-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6492 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-cal10n-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6493 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdi-api", +"repository": "rhel7-base" +} +], +"set_id": 6494 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdi-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 7547 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cglib", +"repository": "rhel7-optional" +} +], +"set_id": 6496 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cglib", +"repository": "rhel8-CRB" +} +], +"set_id": 6497 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cglib-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6498 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cglib-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6499 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cobertura", +"repository": "rhel7-optional" +} +], +"set_id": 6500 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cobertura-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6501 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "codehaus-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6502 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dom4j", +"repository": "rhel7-base" +} +], +"set_id": 6503 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dom4j-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6504 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dom4j-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6505 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dom4j-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6506 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock", +"repository": "rhel7-optional" +} +], +"set_id": 6507 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock", +"repository": "rhel8-CRB" +} +], +"set_id": 6508 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6509 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6510 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock2", +"repository": "rhel7-base" +} +], +"set_id": 6511 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock", +"repository": "rhel8-CRB" +} +], +"set_id": 6512 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock2-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6513 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6514 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exec-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6515 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exec-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6516 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exec-maven-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6517 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exec-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6518 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-bundlerepository", +"repository": "rhel7-optional" +} +], +"set_id": 6519 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-bundlerepository-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6520 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-framework", +"repository": "rhel7-optional" +} +], +"set_id": 6521 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-framework-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6522 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-compendium", +"repository": "rhel7-optional" +} +], +"set_id": 6523 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-compendium", +"repository": "rhel8-CRB" +} +], +"set_id": 6524 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-compendium-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6525 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-compendium-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6526 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-core", +"repository": "rhel7-optional" +} +], +"set_id": 6527 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-core", +"repository": "rhel8-CRB" +} +], +"set_id": 6528 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-core-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6529 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-core-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6530 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-foundation", +"repository": "rhel7-optional" +} +], +"set_id": 6531 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-foundation", +"repository": "rhel8-CRB" +} +], +"set_id": 6532 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-foundation-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6533 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-foundation-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6534 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-obr", +"repository": "rhel7-optional" +} +], +"set_id": 6535 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-osgi-obr-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6536 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6537 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 6538 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-shell", +"repository": "rhel7-optional" +} +], +"set_id": 6539 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-shell-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6540 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-utils", +"repository": "rhel7-optional" +} +], +"set_id": 6541 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-utils", +"repository": "rhel8-CRB" +} +], +"set_id": 6542 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-utils-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6543 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-utils-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6544 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fop", +"repository": "rhel7-optional" +} +], +"set_id": 6545 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fop-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6546 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "forge-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6547 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "forge-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 6548 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fusesource-pom", +"repository": "rhel7-optional" +} +], +"set_id": 6549 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fusesource-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 6550 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-annotation", +"repository": "rhel7-base" +} +], +"set_id": 6551 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-annotation", +"repository": "rhel8-AppStream" +} +], +"set_id": 6552 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-annotation-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6553 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-annotation-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6554 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jaspic-spec", +"repository": "rhel7-optional" +} +], +"set_id": 6555 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jaspic-spec-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6556 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jaxrpc", +"repository": "rhel7-optional" +} +], +"set_id": 6557 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jaxrpc-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6558 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jms", +"repository": "rhel7-base" +} +], +"set_id": 6559 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jms", +"repository": "rhel8-CRB" +} +], +"set_id": 6560 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jms-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6561 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jms-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6562 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jpa", +"repository": "rhel8-CRB" +} +], +"set_id": 6563 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jpa-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6564 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jta", +"repository": "rhel7-base" +} +], +"set_id": 6565 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-jta-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6566 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-osgi-support", +"repository": "rhel7-optional" +} +], +"set_id": 6567 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-osgi-support-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6568 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-parent-poms", +"repository": "rhel7-optional" +} +], +"set_id": 6569 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-parent-poms", +"repository": "rhel8-CRB" +} +], +"set_id": 6570 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-saaj", +"repository": "rhel7-optional" +} +], +"set_id": 6571 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geronimo-saaj-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6572 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-annotation-api", +"repository": "rhel8-CRB" +} +], +"set_id": 6573 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-annotation-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6574 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-el", +"repository": "rhel7-optional" +} +], +"set_id": 6575 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-el", +"repository": "rhel8-CRB" +} +], +"set_id": 6576 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-el-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6577 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-el-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6578 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-el-api", +"repository": "rhel7-optional" +} +], +"set_id": 6579 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-el-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 6580 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-el-api-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6581 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-el-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6582 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jsp", +"repository": "rhel7-optional" +} +], +"set_id": 6583 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jsp-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6584 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jsp-api", +"repository": "rhel7-optional" +} +], +"set_id": 6585 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jsp-api", +"repository": "rhel8-CRB" +} +], +"set_id": 6586 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jsp-api-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6587 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jsp-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6588 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-legal", +"repository": "rhel8-CRB" +} +], +"set_id": 6589 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-master-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 6590 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-servlet-api", +"repository": "rhel8-CRB" +} +], +"set_id": 6591 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-servlet-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6592 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-getopt", +"repository": "rhel7-optional" +} +], +"set_id": 6593 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-getopt-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6594 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-guice", +"repository": "rhel7-optional" +} +], +"set_id": 6595 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-guice", +"repository": "rhel8-AppStream" +} +], +"set_id": 6596 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-guice-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6597 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-guice-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6598 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6599 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 6600 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-assistedinject", +"repository": "rhel8-CRB" +} +], +"set_id": 6601 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-bom", +"repository": "rhel8-CRB" +} +], +"set_id": 6602 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-extensions", +"repository": "rhel8-CRB" +} +], +"set_id": 6603 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-grapher", +"repository": "rhel8-CRB" +} +], +"set_id": 6604 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-jmx", +"repository": "rhel8-CRB" +} +], +"set_id": 6605 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-jndi", +"repository": "rhel8-CRB" +} +], +"set_id": 6606 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-multibindings", +"repository": "rhel8-CRB" +} +], +"set_id": 6607 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-servlet", +"repository": "rhel8-CRB" +} +], +"set_id": 6608 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-testlib", +"repository": "rhel8-CRB" +} +], +"set_id": 6609 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guice-throwingproviders", +"repository": "rhel8-CRB" +} +], +"set_id": 6610 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groovy", +"repository": "rhel7-optional" +} +], +"set_id": 6611 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groovy-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6612 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guava", +"repository": "rhel7-base" +} +], +"set_id": 6613 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guava20", +"repository": "rhel8-AppStream" +} +], +"set_id": 6614 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guava-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6615 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guava20-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6616 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guava20-testlib", +"repository": "rhel8-CRB" +} +], +"set_id": 6617 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest", +"repository": "rhel7-base" +} +], +"set_id": 6618 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest", +"repository": "rhel8-CRB" +} +], +"set_id": 6619 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6620 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 6621 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6622 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6623 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest-core", +"repository": "rhel8-CRB" +} +], +"set_id": 6624 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hawtjni", +"repository": "rhel7-optional" +} +], +"set_id": 6625 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hawtjni", +"repository": "rhel8-CRB" +} +], +"set_id": 6626 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hawtjni-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6627 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hawtjni-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6628 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-hawtjni-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6629 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-hawtjni-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6630 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hawtjni-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 6631 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hsqldb", +"repository": "rhel7-base" +} +], +"set_id": 6632 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hsqldb-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6633 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hsqldb-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6634 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hsqldb-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6635 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-client", +"repository": "rhel7-base" +} +], +"set_id": 6636 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 6637 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-client-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6638 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-client-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6639 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-client-cache", +"repository": "rhel8-CRB" +} +], +"set_id": 6640 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-core", +"repository": "rhel7-base" +} +], +"set_id": 6641 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 6642 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-core-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6643 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-core-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6644 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-project", +"repository": "rhel7-optional" +} +], +"set_id": 6645 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-project", +"repository": "rhel8-CRB" +} +], +"set_id": 6646 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpunit", +"repository": "rhel7-optional" +} +], +"set_id": 6647 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpunit-doc", +"repository": "rhel7-optional" +} +], +"set_id": 6648 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpunit-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6649 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icc-profiles-openicc", +"repository": "rhel7-optional" +} +], +"set_id": 6650 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isorelax", +"repository": "rhel7-base" +} +], +"set_id": 6651 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isorelax", +"repository": "rhel8-CRB" +} +], +"set_id": 6652 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isorelax-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6653 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isorelax-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6654 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jai-imageio-core", +"repository": "rhel7-optional" +} +], +"set_id": 6655 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jai-imageio-core-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6656 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-commons-httpclient", +"repository": "rhel7-base" +} +], +"set_id": 6657 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-commons-httpclient", +"repository": "rhel8-AppStream" +} +], +"set_id": 6658 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-commons-httpclient-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6659 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-commons-httpclient-demo", +"repository": "rhel8-AppStream" +} +], +"set_id": 6660 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-commons-httpclient-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6661 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-commons-httpclient-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6662 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-commons-httpclient-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6663 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-commons-httpclient-manual", +"repository": "rhel8-AppStream" +} +], +"set_id": 6664 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-oro", +"repository": "rhel7-base" +} +], +"set_id": 6665 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-oro", +"repository": "rhel8-CRB" +} +], +"set_id": 6666 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-oro-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6667 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-oro-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6668 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-taglibs-standard", +"repository": "rhel7-base" +} +], +"set_id": 6669 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-taglibs-standard-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6670 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi", +"repository": "rhel7-optional" +} +], +"set_id": 6671 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi", +"repository": "rhel8-AppStream" +} +], +"set_id": 6672 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6673 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6674 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi-native", +"repository": "rhel7-optional" +} +], +"set_id": 6675 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi-native", +"repository": "rhel8-AppStream" +} +], +"set_id": 6676 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi-native-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6677 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi-native-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6678 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java_cup", +"repository": "rhel7-optional" +} +], +"set_id": 6679 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java_cup", +"repository": "rhel8-CRB" +} +], +"set_id": 6680 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java_cup-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6681 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java_cup-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6682 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java_cup-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6683 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java_cup-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 6684 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc", +"repository": "rhel7-optional" +} +], +"set_id": 6685 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc", +"repository": "rhel8-CRB" +} +], +"set_id": 6686 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6687 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 6688 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6689 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6690 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6691 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 6692 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6693 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6694 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-maven-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6695 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javacc-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6696 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javamail", +"repository": "rhel7-base" +} +], +"set_id": 6697 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javamail", +"repository": "rhel8-CRB" +} +], +"set_id": 6698 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javamail-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6699 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javamail-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6700 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javapackages-tools", +"repository": "rhel7-base" +} +], +"set_id": 6701 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ivy-local", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "javapackages-filesystem", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "javapackages-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 6702 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-local", +"repository": "rhel7-optional" +} +], +"set_id": 6703 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javapackages-local", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "maven-local", +"repository": "rhel8-CRB" +} +], +"set_id": 6704 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-javapackages", +"repository": "rhel7-base" +} +], +"set_id": 6705 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-javapackages", +"repository": "rhel8-CRB" +} +], +"set_id": 6706 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javassist", +"repository": "rhel7-base" +} +], +"set_id": 6707 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javassist", +"repository": "rhel8-AppStream" +} +], +"set_id": 6708 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javassist-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6709 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javassist-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6710 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxen", +"repository": "rhel7-base" +} +], +"set_id": 6711 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxen", +"repository": "rhel8-CRB" +} +], +"set_id": 6712 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxen-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6713 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxen-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 6714 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxen-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6715 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxen-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6716 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6719 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 6720 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdepend", +"repository": "rhel7-optional" +} +], +"set_id": 6721 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdepend", +"repository": "rhel8-CRB" +} +], +"set_id": 6722 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdepend-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6723 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdepend-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 6724 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdepend-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6725 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdepend-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6726 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdependency", +"repository": "rhel7-optional" +} +], +"set_id": 6727 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdependency", +"repository": "rhel8-CRB" +} +], +"set_id": 6728 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdependency-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6729 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdependency-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6730 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdom", +"repository": "rhel7-base" +} +], +"set_id": 6731 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdom", +"repository": "rhel8-CRB" +} +], +"set_id": 6732 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdom-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6733 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdom-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 6734 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdom-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6735 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdom-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6736 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdom2", +"repository": "rhel8-CRB" +} +], +"set_id": 6737 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdom2-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6738 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jettison", +"repository": "rhel7-base" +} +], +"set_id": 6739 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jettison-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6740 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-annotations", +"repository": "rhel7-optional" +} +], +"set_id": 6741 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-ant", +"repository": "rhel7-optional" +} +], +"set_id": 6742 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-client", +"repository": "rhel7-optional" +} +], +"set_id": 6743 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-continuation", +"repository": "rhel7-optional" +} +], +"set_id": 6744 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-deploy", +"repository": "rhel7-optional" +} +], +"set_id": 6745 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-http", +"repository": "rhel7-optional" +} +], +"set_id": 6746 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-io", +"repository": "rhel7-optional" +} +], +"set_id": 6747 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-jaas", +"repository": "rhel7-optional" +} +], +"set_id": 6748 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-jaspi", +"repository": "rhel7-optional" +} +], +"set_id": 6749 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6750 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-jmx", +"repository": "rhel7-optional" +} +], +"set_id": 6751 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-jndi", +"repository": "rhel7-optional" +} +], +"set_id": 6752 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-jsp", +"repository": "rhel7-optional" +} +], +"set_id": 6753 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-jspc-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6754 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6755 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-monitor", +"repository": "rhel7-optional" +} +], +"set_id": 6756 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-plus", +"repository": "rhel7-optional" +} +], +"set_id": 6757 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-project", +"repository": "rhel7-optional" +} +], +"set_id": 6758 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-proxy", +"repository": "rhel7-optional" +} +], +"set_id": 6759 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-rewrite", +"repository": "rhel7-optional" +} +], +"set_id": 6760 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-runner", +"repository": "rhel7-optional" +} +], +"set_id": 6761 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-security", +"repository": "rhel7-optional" +} +], +"set_id": 6762 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-server", +"repository": "rhel7-optional" +} +], +"set_id": 6763 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-servlet", +"repository": "rhel7-optional" +} +], +"set_id": 6764 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-servlets", +"repository": "rhel7-optional" +} +], +"set_id": 6765 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-start", +"repository": "rhel7-optional" +} +], +"set_id": 6766 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-util", +"repository": "rhel7-optional" +} +], +"set_id": 6767 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-util-ajax", +"repository": "rhel7-optional" +} +], +"set_id": 6768 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-webapp", +"repository": "rhel7-optional" +} +], +"set_id": 6769 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-websocket-api", +"repository": "rhel7-optional" +} +], +"set_id": 6770 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-websocket-client", +"repository": "rhel7-optional" +} +], +"set_id": 6771 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-websocket-common", +"repository": "rhel7-optional" +} +], +"set_id": 6772 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-websocket-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6773 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-websocket-server", +"repository": "rhel7-optional" +} +], +"set_id": 6774 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-websocket-servlet", +"repository": "rhel7-optional" +} +], +"set_id": 6775 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-xml", +"repository": "rhel7-optional" +} +], +"set_id": 6776 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-artifact-remote-resources", +"repository": "rhel7-optional" +} +], +"set_id": 6777 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-assembly-descriptors", +"repository": "rhel7-optional" +} +], +"set_id": 6778 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-build-support", +"repository": "rhel7-optional" +} +], +"set_id": 6779 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-build-support-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6780 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-distribution-remote-resources", +"repository": "rhel7-optional" +} +], +"set_id": 6781 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6782 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-test-policy", +"repository": "rhel7-optional" +} +], +"set_id": 6783 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-test-policy-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6784 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-toolchain", +"repository": "rhel7-optional" +} +], +"set_id": 6785 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-version-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6786 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty-version-maven-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6787 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jflex", +"repository": "rhel7-optional" +} +], +"set_id": 6788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jflex", +"repository": "rhel8-CRB" +} +], +"set_id": 6789 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jflex-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jflex-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6791 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jline", +"repository": "rhel7-base" +} +], +"set_id": 6792 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jline", +"repository": "rhel8-AppStream" +} +], +"set_id": 6793 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jline-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6794 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jline-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6795 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jline-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6796 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jna", +"repository": "rhel7-base" +} +], +"set_id": 6797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jna", +"repository": "rhel8-CRB" +} +], +"set_id": 6798 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jna-contrib", +"repository": "rhel7-optional" +} +], +"set_id": 6801 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jna-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "joda-convert", +"repository": "rhel7-base" +} +], +"set_id": 6803 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "joda-convert-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "joda-time", +"repository": "rhel7-base" +} +], +"set_id": 6805 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-headless", +"repository": "rhel8-AppStream" +} +], +"set_id": 6806 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "joda-time-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6807 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6808 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsch", +"repository": "rhel7-optional" +} +], +"set_id": 6809 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsch", +"repository": "rhel8-CRB" +} +], +"set_id": 6810 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsch-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6811 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsch-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6812 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsch-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6813 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsoup", +"repository": "rhel7-optional" +} +], +"set_id": 6814 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsoup", +"repository": "rhel8-AppStream" +} +], +"set_id": 6815 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsoup-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6816 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsoup-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6817 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsr-305", +"repository": "rhel7-optional" +} +], +"set_id": 6818 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsr-305", +"repository": "rhel8-CRB" +} +], +"set_id": 6819 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsr-305-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6820 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsr-305-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6821 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jtidy", +"repository": "rhel7-optional" +} +], +"set_id": 6822 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jtidy", +"repository": "rhel8-CRB" +} +], +"set_id": 6823 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jtidy-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6824 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jtidy-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6825 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit", +"repository": "rhel7-base" +} +], +"set_id": 6826 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit", +"repository": "rhel8-CRB" +} +], +"set_id": 6827 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6828 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6829 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 6831 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6832 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jvnet-parent", +"repository": "rhel7-base" +} +], +"set_id": 6833 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jvnet-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 6834 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jzlib", +"repository": "rhel7-optional" +} +], +"set_id": 6835 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jzlib", +"repository": "rhel8-CRB" +} +], +"set_id": 6836 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jzlib-demo", +"repository": "rhel7-optional" +} +], +"set_id": 6837 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jzlib-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 6838 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jzlib-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6839 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jzlib-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6840 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "keytool-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6841 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "keytool-maven-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6842 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kxml", +"repository": "rhel7-optional" +} +], +"set_id": 6843 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kxml-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6844 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4j", +"repository": "rhel7-base" +} +], +"set_id": 6845 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4j12", +"repository": "rhel8-AppStream" +} +], +"set_id": 6846 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4j-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6847 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4j12-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 6848 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4j-manual", +"repository": "rhel7-optional" +} +], +"set_id": 6849 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven", +"repository": "rhel7-optional" +} +], +"set_id": 6850 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "maven-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 6851 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6852 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6853 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-antrun-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6854 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-antrun-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6855 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-antrun-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6856 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-antrun-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6857 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-archiver", +"repository": "rhel7-optional" +} +], +"set_id": 6858 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-archiver", +"repository": "rhel8-CRB" +} +], +"set_id": 6859 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-archiver-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6860 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-archiver-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6861 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-resolver", +"repository": "rhel7-optional" +} +], +"set_id": 6862 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-resolver", +"repository": "rhel8-CRB" +} +], +"set_id": 6863 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-resolver-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6864 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-resolver-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6865 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-downloader", +"repository": "rhel7-optional" +} +], +"set_id": 6866 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-transfer", +"repository": "rhel8-CRB" +} +], +"set_id": 6867 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-downloader-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6868 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-transfer-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6869 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-assembly-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6870 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-assembly-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6871 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-assembly-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6872 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-assembly-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6873 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-changes-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6874 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-changes-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6875 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-clean-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6876 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-clean-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6877 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-clean-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6878 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-clean-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6879 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-common-artifact-filters", +"repository": "rhel7-optional" +} +], +"set_id": 6880 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-common-artifact-filters", +"repository": "rhel8-CRB" +} +], +"set_id": 6881 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-common-artifact-filters-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6882 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-common-artifact-filters-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6883 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-compiler-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6884 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-compiler-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6885 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-compiler-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6886 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-compiler-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6887 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-analyzer", +"repository": "rhel7-optional" +} +], +"set_id": 6888 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-analyzer", +"repository": "rhel8-CRB" +} +], +"set_id": 6889 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-analyzer-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6890 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-analyzer-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6891 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6892 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6893 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6894 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6895 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-tree", +"repository": "rhel7-optional" +} +], +"set_id": 6896 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-tree", +"repository": "rhel8-CRB" +} +], +"set_id": 6897 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-tree-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6898 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-tree-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6899 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-deploy-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6900 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-deploy-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6901 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia", +"repository": "rhel7-optional" +} +], +"set_id": 6902 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia", +"repository": "rhel8-CRB" +} +], +"set_id": 6903 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-core", +"repository": "rhel7-optional" +} +], +"set_id": 6904 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-core", +"repository": "rhel8-CRB" +} +], +"set_id": 6905 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6906 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6907 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-logging-api", +"repository": "rhel7-optional" +} +], +"set_id": 6908 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-logging-api", +"repository": "rhel8-CRB" +} +], +"set_id": 6909 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-apt", +"repository": "rhel7-optional" +} +], +"set_id": 6910 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-apt", +"repository": "rhel8-CRB" +} +], +"set_id": 6911 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-confluence", +"repository": "rhel7-optional" +} +], +"set_id": 6912 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-confluence", +"repository": "rhel8-CRB" +} +], +"set_id": 6913 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-docbook-simple", +"repository": "rhel7-optional" +} +], +"set_id": 6914 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-docbook-simple", +"repository": "rhel8-CRB" +} +], +"set_id": 6915 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-fml", +"repository": "rhel7-optional" +} +], +"set_id": 6916 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-fml", +"repository": "rhel8-CRB" +} +], +"set_id": 6917 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-latex", +"repository": "rhel7-optional" +} +], +"set_id": 6918 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-latex", +"repository": "rhel8-CRB" +} +], +"set_id": 6919 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-rtf", +"repository": "rhel7-optional" +} +], +"set_id": 6920 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-rtf", +"repository": "rhel8-CRB" +} +], +"set_id": 6921 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-twiki", +"repository": "rhel7-optional" +} +], +"set_id": 6922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-twiki", +"repository": "rhel8-CRB" +} +], +"set_id": 6923 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-xdoc", +"repository": "rhel7-optional" +} +], +"set_id": 6924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-xdoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6925 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-xhtml", +"repository": "rhel7-optional" +} +], +"set_id": 6926 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-xhtml", +"repository": "rhel8-CRB" +} +], +"set_id": 6927 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-modules", +"repository": "rhel7-optional" +} +], +"set_id": 6928 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-modules", +"repository": "rhel8-CRB" +} +], +"set_id": 6929 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-sink-api", +"repository": "rhel7-optional" +} +], +"set_id": 6930 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-sink-api", +"repository": "rhel8-CRB" +} +], +"set_id": 6931 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-test-docs", +"repository": "rhel7-optional" +} +], +"set_id": 6932 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-test-docs", +"repository": "rhel8-CRB" +} +], +"set_id": 6933 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-tests", +"repository": "rhel7-optional" +} +], +"set_id": 6934 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-tests", +"repository": "rhel8-CRB" +} +], +"set_id": 6935 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-module-fo", +"repository": "rhel7-optional" +} +], +"set_id": 6936 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-sitetools", +"repository": "rhel7-optional" +} +], +"set_id": 6937 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-sitetools", +"repository": "rhel8-CRB" +} +], +"set_id": 6938 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-sitetools-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6939 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-sitetools-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6940 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-tools", +"repository": "rhel7-optional" +} +], +"set_id": 6941 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-sitetools", +"repository": "rhel8-CRB" +} +], +"set_id": 6942 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-tools-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6943 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-doxia-sitetools-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6944 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer", +"repository": "rhel7-optional" +} +], +"set_id": 6945 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer", +"repository": "rhel8-CRB" +} +], +"set_id": 6946 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-api", +"repository": "rhel7-optional" +} +], +"set_id": 6947 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-api", +"repository": "rhel8-CRB" +} +], +"set_id": 6948 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6949 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6950 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6951 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6952 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-rules", +"repository": "rhel7-optional" +} +], +"set_id": 6953 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-rules", +"repository": "rhel8-CRB" +} +], +"set_id": 6954 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-file-management", +"repository": "rhel7-optional" +} +], +"set_id": 6955 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-file-management", +"repository": "rhel8-CRB" +} +], +"set_id": 6956 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-file-management-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6957 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-file-management-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6958 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-filtering", +"repository": "rhel7-optional" +} +], +"set_id": 6959 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-filtering", +"repository": "rhel8-CRB" +} +], +"set_id": 6960 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-filtering-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6961 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-filtering-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6962 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-gpg-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6963 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-gpg-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6964 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-install-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6965 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-install-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6966 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-install-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6967 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-install-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6968 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-invoker", +"repository": "rhel7-optional" +} +], +"set_id": 6969 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-invoker", +"repository": "rhel8-CRB" +} +], +"set_id": 6970 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-invoker-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6971 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-invoker-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6972 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-invoker-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6973 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-invoker-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6974 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-invoker-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6975 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-invoker-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6976 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jar-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6977 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jar-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 6978 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jar-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6979 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jar-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6980 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jarsigner-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6981 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jarsigner-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6982 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-javadoc-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 6983 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-javadoc-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6984 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jxr", +"repository": "rhel7-optional" +} +], +"set_id": 6985 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jxr-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6986 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-jxr", +"repository": "rhel7-optional" +} +], +"set_id": 6987 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-osgi", +"repository": "rhel7-optional" +} +], +"set_id": 6988 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-osgi-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6989 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-parent", +"repository": "rhel7-optional" +} +], +"set_id": 6990 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 6991 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-build-helper", +"repository": "rhel7-optional" +} +], +"set_id": 6992 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-build-helper", +"repository": "rhel8-CRB" +} +], +"set_id": 6993 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-build-helper-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6994 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-build-helper-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6995 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-bundle", +"repository": "rhel7-optional" +} +], +"set_id": 6996 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-bundle", +"repository": "rhel8-CRB" +} +], +"set_id": 6997 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-bundle-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 6998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-bundle-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 6999 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing", +"repository": "rhel7-optional" +} +], +"set_id": 7000 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing", +"repository": "rhel8-CRB" +} +], +"set_id": 7001 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing-harness", +"repository": "rhel7-optional" +} +], +"set_id": 7002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing-harness", +"repository": "rhel8-CRB" +} +], +"set_id": 7003 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7005 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing-tools", +"repository": "rhel7-optional" +} +], +"set_id": 7006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 7007 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-test-tools", +"repository": "rhel7-optional" +} +], +"set_id": 7008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-test-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 7009 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-annotations", +"repository": "rhel7-optional" +} +], +"set_id": 7010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-annotations", +"repository": "rhel8-CRB" +} +], +"set_id": 7011 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7013 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools", +"repository": "rhel7-optional" +} +], +"set_id": 7014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 7015 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-annotations", +"repository": "rhel7-optional" +} +], +"set_id": 7016 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-annotations", +"repository": "rhel8-CRB" +} +], +"set_id": 7017 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-ant", +"repository": "rhel7-optional" +} +], +"set_id": 7018 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-ant", +"repository": "rhel8-CRB" +} +], +"set_id": 7019 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-api", +"repository": "rhel7-optional" +} +], +"set_id": 7020 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-api", +"repository": "rhel8-CRB" +} +], +"set_id": 7021 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-beanshell", +"repository": "rhel7-optional" +} +], +"set_id": 7022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-beanshell", +"repository": "rhel8-CRB" +} +], +"set_id": 7023 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-generators", +"repository": "rhel7-optional" +} +], +"set_id": 7024 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-generators", +"repository": "rhel8-CRB" +} +], +"set_id": 7025 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-java", +"repository": "rhel7-optional" +} +], +"set_id": 7026 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-java", +"repository": "rhel8-CRB" +} +], +"set_id": 7027 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7028 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7029 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-javadocs", +"repository": "rhel7-optional" +} +], +"set_id": 7030 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-javadocs", +"repository": "rhel8-CRB" +} +], +"set_id": 7031 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-model", +"repository": "rhel7-optional" +} +], +"set_id": 7032 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-model", +"repository": "rhel8-CRB" +} +], +"set_id": 7033 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script", +"repository": "rhel7-optional" +} +], +"set_id": 7034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script", +"repository": "rhel8-CRB" +} +], +"set_id": 7035 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script-ant", +"repository": "rhel7-optional" +} +], +"set_id": 7036 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script-ant", +"repository": "rhel8-CRB" +} +], +"set_id": 7037 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script-beanshell", +"repository": "rhel7-optional" +} +], +"set_id": 7038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script-beanshell", +"repository": "rhel8-CRB" +} +], +"set_id": 7039 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugins-pom", +"repository": "rhel7-optional" +} +], +"set_id": 7040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugins-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 7041 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-project-info-reports-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-project-info-reports-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7043 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-release", +"repository": "rhel7-optional" +} +], +"set_id": 7044 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-release-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7045 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-release-manager", +"repository": "rhel7-optional" +} +], +"set_id": 7046 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-release-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7047 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-remote-resources-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7048 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-remote-resources-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7049 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-remote-resources-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7050 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-remote-resources-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7051 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-api", +"repository": "rhel7-optional" +} +], +"set_id": 7052 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-api", +"repository": "rhel8-CRB" +} +], +"set_id": 7053 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-api-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7054 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7055 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-exec", +"repository": "rhel7-optional" +} +], +"set_id": 7056 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-impl", +"repository": "rhel7-optional" +} +], +"set_id": 7057 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-impl", +"repository": "rhel8-CRB" +} +], +"set_id": 7058 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-impl-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7059 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-reporting-impl-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7060 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-repository-builder", +"repository": "rhel7-optional" +} +], +"set_id": 7061 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-repository-builder-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7062 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resources-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7063 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resources-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7064 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resources-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7065 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resources-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7066 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-scm", +"repository": "rhel7-optional" +} +], +"set_id": 7067 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-scm-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7068 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-scm-test", +"repository": "rhel7-optional" +} +], +"set_id": 7069 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script-interpreter", +"repository": "rhel7-optional" +} +], +"set_id": 7070 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script-interpreter", +"repository": "rhel8-CRB" +} +], +"set_id": 7071 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script-interpreter-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7072 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-script-interpreter-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7073 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shade-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7074 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shade-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7075 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shade-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7076 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shade-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7077 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared", +"repository": "rhel7-optional" +} +], +"set_id": 7078 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared", +"repository": "rhel8-CRB" +} +], +"set_id": 7079 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-incremental", +"repository": "rhel7-optional" +} +], +"set_id": 7080 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-incremental", +"repository": "rhel8-CRB" +} +], +"set_id": 7081 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-incremental-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7082 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-incremental-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7083 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-io", +"repository": "rhel7-optional" +} +], +"set_id": 7084 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-io", +"repository": "rhel8-CRB" +} +], +"set_id": 7085 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-io-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7086 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-io-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7087 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-jar", +"repository": "rhel7-optional" +} +], +"set_id": 7088 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-jar-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7089 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-utils", +"repository": "rhel7-optional" +} +], +"set_id": 7090 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 7091 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-utils-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7092 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-utils-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7093 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-site-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7094 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-site-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7095 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-source-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7096 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-source-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7097 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-source-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7098 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-source-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7099 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-failsafe-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7100 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-failsafe-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7101 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire", +"repository": "rhel7-optional" +} +], +"set_id": 7102 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire", +"repository": "rhel8-CRB" +} +], +"set_id": 7103 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7104 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7105 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7106 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7107 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-provider-junit", +"repository": "rhel7-optional" +} +], +"set_id": 7108 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-provider-junit", +"repository": "rhel8-CRB" +} +], +"set_id": 7109 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-provider-testng", +"repository": "rhel7-optional" +} +], +"set_id": 7110 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-provider-testng", +"repository": "rhel8-CRB" +} +], +"set_id": 7111 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-report-parser", +"repository": "rhel7-optional" +} +], +"set_id": 7112 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-report-parser", +"repository": "rhel8-CRB" +} +], +"set_id": 7113 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-report-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7114 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-report-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7115 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-verifier", +"repository": "rhel7-optional" +} +], +"set_id": 7116 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-verifier", +"repository": "rhel8-CRB" +} +], +"set_id": 7117 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-verifier-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7118 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-verifier-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7119 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-wagon", +"repository": "rhel7-optional" +} +], +"set_id": 7120 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-wagon", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "maven-wagon-file", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "maven-wagon-ftp", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "maven-wagon-http", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "maven-wagon-http-lightweight", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "maven-wagon-http-shared", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "maven-wagon-provider-api", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "maven-wagon-providers", +"repository": "rhel8-CRB" +} +], +"set_id": 7121 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-wagon-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7122 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-wagon-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7123 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-wagon-provider-test", +"repository": "rhel7-optional" +} +], +"set_id": 7124 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-wagon-scm", +"repository": "rhel7-optional" +} +], +"set_id": 7125 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-war-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7126 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-war-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7127 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact", +"repository": "rhel7-optional" +} +], +"set_id": 7128 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact", +"repository": "rhel8-CRB" +} +], +"set_id": 7129 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-manager", +"repository": "rhel7-optional" +} +], +"set_id": 7130 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-manager", +"repository": "rhel8-CRB" +} +], +"set_id": 7131 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-model", +"repository": "rhel7-optional" +} +], +"set_id": 7132 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-model", +"repository": "rhel8-CRB" +} +], +"set_id": 7133 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-monitor", +"repository": "rhel7-optional" +} +], +"set_id": 7134 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-monitor", +"repository": "rhel8-CRB" +} +], +"set_id": 7135 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-descriptor", +"repository": "rhel7-optional" +} +], +"set_id": 7136 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-descriptor", +"repository": "rhel8-CRB" +} +], +"set_id": 7137 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-registry", +"repository": "rhel7-optional" +} +], +"set_id": 7138 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-registry", +"repository": "rhel8-CRB" +} +], +"set_id": 7139 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-profile", +"repository": "rhel7-optional" +} +], +"set_id": 7140 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-profile", +"repository": "rhel8-CRB" +} +], +"set_id": 7141 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-project", +"repository": "rhel7-optional" +} +], +"set_id": 7142 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-project", +"repository": "rhel8-CRB" +} +], +"set_id": 7143 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-settings", +"repository": "rhel7-optional" +} +], +"set_id": 7144 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-settings", +"repository": "rhel8-CRB" +} +], +"set_id": 7145 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-toolchain", +"repository": "rhel7-optional" +} +], +"set_id": 7146 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-toolchain", +"repository": "rhel8-CRB" +} +], +"set_id": 7147 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven2-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7148 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven2-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7149 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-error-diagnostics", +"repository": "rhel7-optional" +} +], +"set_id": 7150 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mockito", +"repository": "rhel8-CRB" +} +], +"set_id": 7151 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mockito-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7152 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "modello", +"repository": "rhel7-optional" +} +], +"set_id": 7153 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "modello", +"repository": "rhel8-CRB" +} +], +"set_id": 7154 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "modello-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7155 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "modello-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7156 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mojo-parent", +"repository": "rhel7-optional" +} +], +"set_id": 7157 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mojo-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 7158 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7159 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-manual", +"repository": "rhel7-optional" +} +], +"set_id": 7161 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-xsdlib", +"repository": "rhel7-base" +} +], +"set_id": 7163 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-demo", +"repository": "rhel7-optional" +} +], +"set_id": 7165 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-msv", +"repository": "rhel7-base" +} +], +"set_id": 7166 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-rngconv", +"repository": "rhel7-optional" +} +], +"set_id": 7167 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-xmlgen", +"repository": "rhel7-optional" +} +], +"set_id": 7168 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "munge-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7169 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "munge-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7170 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "munge-maven-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7171 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "munge-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7172 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nasm", +"repository": "rhel7-base" +} +], +"set_id": 7173 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nasm", +"repository": "rhel8-CRB" +} +], +"set_id": 7174 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nasm-doc", +"repository": "rhel7-optional" +} +], +"set_id": 7177 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nasm-rdoff", +"repository": "rhel7-optional" +} +], +"set_id": 7178 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nekohtml", +"repository": "rhel7-optional" +} +], +"set_id": 7179 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nekohtml-demo", +"repository": "rhel7-optional" +} +], +"set_id": 7180 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nekohtml-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7181 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-anttask", +"repository": "rhel7-optional" +} +], +"set_id": 7182 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-anttask-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7183 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm", +"repository": "rhel7-base" +} +], +"set_id": 7184 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm", +"repository": "rhel8-CRB" +} +], +"set_id": 7185 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7186 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7187 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 7188 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objenesis", +"repository": "rhel8-CRB" +} +], +"set_id": 7189 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objenesis-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7190 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "os-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7191 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "os-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7192 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-annotation", +"repository": "rhel8-CRB" +} +], +"set_id": 7193 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-annotation-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7194 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-compendium", +"repository": "rhel8-CRB" +} +], +"set_id": 7195 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-compendium-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7196 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-core", +"repository": "rhel8-CRB" +} +], +"set_id": 7197 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-core-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7198 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-ant-factory", +"repository": "rhel7-optional" +} +], +"set_id": 7199 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-ant-factory", +"repository": "rhel8-CRB" +} +], +"set_id": 7200 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-ant-factory-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7201 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-ant-factory-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7202 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-archiver", +"repository": "rhel7-optional" +} +], +"set_id": 7203 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-archiver", +"repository": "rhel8-CRB" +} +], +"set_id": 7204 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-archiver-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7205 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-archiver-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7206 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-bsh-factory", +"repository": "rhel7-optional" +} +], +"set_id": 7207 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-bsh-factory", +"repository": "rhel8-CRB" +} +], +"set_id": 7208 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-bsh-factory-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7209 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-bsh-factory-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7210 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-build-api", +"repository": "rhel7-optional" +} +], +"set_id": 7211 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-build-api", +"repository": "rhel8-CRB" +} +], +"set_id": 7212 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-build-api-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7213 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-build-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7214 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cipher", +"repository": "rhel7-optional" +} +], +"set_id": 7215 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cipher", +"repository": "rhel8-AppStream" +} +], +"set_id": 7216 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cipher-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7217 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cipher-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7218 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-classworlds", +"repository": "rhel7-optional" +} +], +"set_id": 7219 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-classworlds", +"repository": "rhel8-AppStream" +} +], +"set_id": 7220 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-classworlds-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7221 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-classworlds-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7222 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cli", +"repository": "rhel7-optional" +} +], +"set_id": 7223 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cli", +"repository": "rhel8-CRB" +} +], +"set_id": 7224 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cli-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7225 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cli-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7226 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler", +"repository": "rhel7-optional" +} +], +"set_id": 7227 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler", +"repository": "rhel8-CRB" +} +], +"set_id": 7228 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler-extras", +"repository": "rhel7-optional" +} +], +"set_id": 7229 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler-extras", +"repository": "rhel8-CRB" +} +], +"set_id": 7230 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7231 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7232 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler-pom", +"repository": "rhel7-optional" +} +], +"set_id": 7233 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 7234 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-component-api", +"repository": "rhel7-optional" +} +], +"set_id": 7235 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-component-api", +"repository": "rhel8-CRB" +} +], +"set_id": 7236 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-component-api-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7237 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-component-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7238 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-component-factories-pom", +"repository": "rhel7-optional" +} +], +"set_id": 7239 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-component-factories-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 7240 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-components-pom", +"repository": "rhel7-optional" +} +], +"set_id": 7241 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-components-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 7242 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers", +"repository": "rhel7-optional" +} +], +"set_id": 7243 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers", +"repository": "rhel8-CRB" +} +], +"set_id": 7244 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-annotations", +"repository": "rhel7-optional" +} +], +"set_id": 7245 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-annotations", +"repository": "rhel8-AppStream" +} +], +"set_id": 7246 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7247 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7248 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-metadata", +"repository": "rhel7-optional" +} +], +"set_id": 7249 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-metadata", +"repository": "rhel8-CRB" +} +], +"set_id": 7250 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-container-default", +"repository": "rhel7-optional" +} +], +"set_id": 7251 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-container-default", +"repository": "rhel8-CRB" +} +], +"set_id": 7252 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7253 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7254 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cdc", +"repository": "rhel7-optional" +} +], +"set_id": 7255 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-metadata", +"repository": "rhel8-CRB" +} +], +"set_id": 7256 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cdc-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7257 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7258 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-digest", +"repository": "rhel7-optional" +} +], +"set_id": 7259 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-digest-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7260 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-i18n", +"repository": "rhel7-optional" +} +], +"set_id": 7261 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-i18n", +"repository": "rhel8-CRB" +} +], +"set_id": 7262 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-i18n-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7263 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-i18n-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7264 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interactivity", +"repository": "rhel7-optional" +} +], +"set_id": 7265 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interactivity", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "plexus-interactivity-api", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "plexus-interactivity-jline", +"repository": "rhel8-CRB" +} +], +"set_id": 7266 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interactivity-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7267 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interactivity-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7268 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interpolation", +"repository": "rhel7-optional" +} +], +"set_id": 7269 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interpolation", +"repository": "rhel8-AppStream" +} +], +"set_id": 7270 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interpolation-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7271 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interpolation-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7272 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-io", +"repository": "rhel7-optional" +} +], +"set_id": 7273 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-io", +"repository": "rhel8-CRB" +} +], +"set_id": 7274 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-io-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7275 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-io-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7276 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-languages", +"repository": "rhel8-CRB" +} +], +"set_id": 7277 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-languages-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7278 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-mail-sender", +"repository": "rhel7-optional" +} +], +"set_id": 7279 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-mail-sender-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7280 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-pom", +"repository": "rhel7-optional" +} +], +"set_id": 7281 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 7282 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-resources", +"repository": "rhel7-optional" +} +], +"set_id": 7283 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-resources", +"repository": "rhel8-CRB" +} +], +"set_id": 7284 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-resources-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7285 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-resources-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7286 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-sec-dispatcher", +"repository": "rhel7-optional" +} +], +"set_id": 7287 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-sec-dispatcher", +"repository": "rhel8-AppStream" +} +], +"set_id": 7288 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-sec-dispatcher-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7289 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-sec-dispatcher-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7290 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-tools-pom", +"repository": "rhel7-optional" +} +], +"set_id": 7291 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-utils", +"repository": "rhel7-optional" +} +], +"set_id": 7292 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 7293 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-utils-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7294 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-utils-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7295 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-velocity", +"repository": "rhel7-optional" +} +], +"set_id": 7296 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-velocity", +"repository": "rhel8-CRB" +} +], +"set_id": 7297 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-velocity-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7298 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-velocity-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7299 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-api-easymock", +"repository": "rhel8-CRB" +} +], +"set_id": 7300 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-api-mockito", +"repository": "rhel8-CRB" +} +], +"set_id": 7301 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-api-support", +"repository": "rhel8-CRB" +} +], +"set_id": 7302 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-common", +"repository": "rhel8-CRB" +} +], +"set_id": 7303 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-core", +"repository": "rhel8-CRB" +} +], +"set_id": 7304 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7305 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-junit4", +"repository": "rhel8-CRB" +} +], +"set_id": 7306 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-reflect", +"repository": "rhel8-CRB" +} +], +"set_id": 7307 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powermock-testng", +"repository": "rhel8-CRB" +} +], +"set_id": 7308 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qdox", +"repository": "rhel7-base" +} +], +"set_id": 7309 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qdox", +"repository": "rhel8-CRB" +} +], +"set_id": 7310 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qdox-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7311 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qdox-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7312 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "regexp", +"repository": "rhel7-base" +} +], +"set_id": 7313 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "regexp", +"repository": "rhel8-CRB" +} +], +"set_id": 7314 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "regexp-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7315 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "regexp-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7316 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "relaxngDatatype", +"repository": "rhel7-base" +} +], +"set_id": 7317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "relaxngDatatype", +"repository": "rhel8-AppStream" +} +], +"set_id": 7318 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "relaxngDatatype-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7319 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "saxon", +"repository": "rhel7-optional" +} +], +"set_id": 7321 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "saxon-demo", +"repository": "rhel7-optional" +} +], +"set_id": 7322 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "saxon-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7323 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "saxon-manual", +"repository": "rhel7-optional" +} +], +"set_id": 7324 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "saxon-scripts", +"repository": "rhel7-optional" +} +], +"set_id": 7325 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scala", +"repository": "rhel8-AppStream" +} +], +"set_id": 7326 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scala-apidoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7327 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scala-swing", +"repository": "rhel8-AppStream" +} +], +"set_id": 7328 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-bean", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-bean-binders", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-bean-containers", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-bean-converters", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-bean-inject", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-bean-locators", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-bean-reflect", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-bean-scanners", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-containers", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-inject-bean", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-osgi-registry", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-registries", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-spi-registry", +"repository": "rhel7-optional" +} +], +"set_id": 7329 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-inject", +"repository": "rhel8-AppStream" +} +], +"set_id": 7330 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7331 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7332 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-inject-plexus", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-plexus-binders", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-plexus-converters", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-plexus-lifecycles", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-plexus-locators", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-plexus-metadata", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-plexus-scanners", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "sisu-plexus-shim", +"repository": "rhel7-optional" +} +], +"set_id": 7333 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-plexus", +"repository": "rhel8-AppStream" +} +], +"set_id": 7334 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu", +"repository": "rhel7-optional" +} +], +"set_id": 7335 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-parent", +"repository": "rhel7-optional" +} +], +"set_id": 7336 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-maven-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7337 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-mojos", +"repository": "rhel8-CRB" +} +], +"set_id": 7338 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-maven-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7339 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu-mojos-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7340 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j", +"repository": "rhel7-base" +} +], +"set_id": 7341 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jcl-over-slf4j", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "jul-to-slf4j", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "log4j-over-slf4j", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "slf4j", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "slf4j-ext", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "slf4j-jcl", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "slf4j-jdk14", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "slf4j-log4j12", +"repository": "rhel8-CRB" +} +], +"set_id": 7342 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7343 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7344 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j-manual", +"repository": "rhel7-optional" +} +], +"set_id": 7345 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 7346 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j-sources", +"repository": "rhel8-CRB" +} +], +"set_id": 7347 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "snakeyaml", +"repository": "rhel7-optional" +} +], +"set_id": 7348 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "snakeyaml-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7349 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sonatype-oss-parent", +"repository": "rhel7-optional" +} +], +"set_id": 7350 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sonatype-oss-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 7351 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sonatype-plugins-parent", +"repository": "rhel7-optional" +} +], +"set_id": 7352 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sonatype-plugins-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 7353 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spec-version-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 7354 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spec-version-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7355 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-parent", +"repository": "rhel7-optional" +} +], +"set_id": 7356 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 7357 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stax2-api", +"repository": "rhel7-base" +} +], +"set_id": 7358 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stax2-api-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7359 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "testng", +"repository": "rhel7-optional" +} +], +"set_id": 7360 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "testng", +"repository": "rhel8-CRB" +} +], +"set_id": 7361 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "testng-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7362 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "testng-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7363 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity", +"repository": "rhel7-base" +} +], +"set_id": 7364 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity", +"repository": "rhel8-AppStream" +} +], +"set_id": 7365 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity-demo", +"repository": "rhel7-optional" +} +], +"set_id": 7366 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity-demo", +"repository": "rhel8-AppStream" +} +], +"set_id": 7367 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7368 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7369 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity-manual", +"repository": "rhel7-optional" +} +], +"set_id": 7370 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity-manual", +"repository": "rhel8-AppStream" +} +], +"set_id": 7371 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "woodstox-core", +"repository": "rhel7-optional" +} +], +"set_id": 7373 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "woodstox-core-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7374 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ws-commons-util", +"repository": "rhel7-optional" +} +], +"set_id": 7375 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ws-commons-util-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7376 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ws-jaxme", +"repository": "rhel7-base" +} +], +"set_id": 7377 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ws-jaxme-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7378 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ws-jaxme-manual", +"repository": "rhel7-optional" +} +], +"set_id": 7379 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wsdl4j", +"repository": "rhel7-optional" +} +], +"set_id": 7380 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wsdl4j-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7381 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2", +"repository": "rhel7-base" +} +], +"set_id": 7382 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2", +"repository": "rhel8-AppStream" +} +], +"set_id": 7383 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2-demo", +"repository": "rhel7-optional" +} +], +"set_id": 7384 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 7385 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7386 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7387 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2-manual", +"repository": "rhel7-optional" +} +], +"set_id": 7388 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 7389 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2-xsltc", +"repository": "rhel7-optional" +} +], +"set_id": 7390 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2-xsltc", +"repository": "rhel8-CRB" +} +], +"set_id": 7391 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xbean", +"repository": "rhel7-optional" +} +], +"set_id": 7392 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xbean", +"repository": "rhel8-CRB" +} +], +"set_id": 7393 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xbean-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7394 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xbean-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7395 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-j2", +"repository": "rhel7-base" +} +], +"set_id": 7396 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-j2", +"repository": "rhel8-AppStream" +} +], +"set_id": 7397 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-j2-demo", +"repository": "rhel7-optional" +} +], +"set_id": 7398 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-j2-demo", +"repository": "rhel8-AppStream" +} +], +"set_id": 7399 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-j2-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7400 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-j2-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7401 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis", +"repository": "rhel7-base" +} +], +"set_id": 7402 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis", +"repository": "rhel8-AppStream" +} +], +"set_id": 7403 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7404 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7405 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis-manual", +"repository": "rhel7-optional" +} +], +"set_id": 7406 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis-manual", +"repository": "rhel8-AppStream" +} +], +"set_id": 7407 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-resolver", +"repository": "rhel7-base" +} +], +"set_id": 7408 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-resolver", +"repository": "rhel8-AppStream" +} +], +"set_id": 7409 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-resolver-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7410 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-resolver-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7411 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-stylebook", +"repository": "rhel7-optional" +} +], +"set_id": 7412 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-stylebook", +"repository": "rhel8-AppStream" +} +], +"set_id": 7413 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-stylebook-demo", +"repository": "rhel7-optional" +} +], +"set_id": 7414 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-stylebook-demo", +"repository": "rhel8-AppStream" +} +], +"set_id": 7415 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-stylebook-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7416 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-stylebook-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7417 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlgraphics-commons", +"repository": "rhel7-optional" +} +], +"set_id": 7418 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlgraphics-commons-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7419 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-client", +"repository": "rhel7-optional" +} +], +"set_id": 7420 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-common", +"repository": "rhel7-optional" +} +], +"set_id": 7421 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7422 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-server", +"repository": "rhel7-optional" +} +], +"set_id": 7423 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c", +"repository": "rhel7-base" +} +], +"set_id": 7424 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7425 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-c++", +"repository": "rhel7-optional" +} +], +"set_id": 7426 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-c++", +"repository": "rhel8-CRB" +} +], +"set_id": 7427 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-client", +"repository": "rhel7-base" +} +], +"set_id": 7428 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-client", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7429 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-client++", +"repository": "rhel7-optional" +} +], +"set_id": 7430 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-client++", +"repository": "rhel8-CRB" +} +], +"set_id": 7431 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7434 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7435 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlrpc-c-apps", +"repository": "rhel7-optional" +} +], +"set_id": 7436 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlunit", +"repository": "rhel7-optional" +} +], +"set_id": 7437 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlunit", +"repository": "rhel8-CRB" +} +], +"set_id": 7438 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlunit-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7439 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlunit-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7440 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn", +"repository": "rhel7-optional" +} +], +"set_id": 7441 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-api", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-bisect", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-connector-aether", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-connector-ivy", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-core", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-install", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-minimal", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-mojo", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-parent-pom", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-resolve", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-subst", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "xmvn-tools-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 7442 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7443 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7444 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xpp3", +"repository": "rhel7-base" +} +], +"set_id": 7445 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xpp3-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7446 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xpp3-minimal", +"repository": "rhel7-optional" +} +], +"set_id": 7447 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xstream", +"repository": "rhel7-optional" +} +], +"set_id": 7448 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xstream-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7449 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-java", +"repository": "rhel7-optional" +} +], +"set_id": 7450 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-java", +"repository": "rhel8-CRB" +} +], +"set_id": 7451 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-java-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7452 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-java-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7453 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat", +"repository": "rhel7-base" +} +], +"set_id": 7454 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "html2ps", +"repository": "rhel7-optional" +} +], +"set_id": 7455 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xhtml2ps", +"repository": "rhel7-optional" +} +], +"set_id": 7456 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "swig-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 7457 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion-python", +"repository": "rhel7-base" +} +], +"set_id": 7458 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion-ruby", +"repository": "rhel7-base" +} +], +"set_id": 7459 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-c", +"repository": "rhel7-base" +} +], +"set_id": 7460 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-c-doc", +"repository": "rhel7-base" +} +], +"set_id": 7461 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-c-devel", +"repository": "rhel7-base" +} +], +"set_id": 7462 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-ejb-3.1-api-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 7463 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-interceptors-1.1-api", +"repository": "rhel7-base" +} +], +"set_id": 7464 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-interceptors-1.2-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 7465 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-interceptors-1.1-api-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 7466 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-interceptors-1.2-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 7467 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-el-2.2-api", +"repository": "rhel7-base" +} +], +"set_id": 7468 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-el-2.2-api-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 7469 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-jaxrpc-1.1-api", +"repository": "rhel7-base" +} +], +"set_id": 7470 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-jaxrpc-1.1-api-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 7471 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-transaction-1.1-api", +"repository": "rhel7-base" +} +], +"set_id": 7472 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-transaction-1.1-api-javadoc", +"repository": "rhel7-base" +} +], +"set_id": 7473 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pakchois-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7474 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxml2-python", +"repository": "rhel7-base" +} +], +"set_id": 7476 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libxml2", +"repository": "rhel8-AppStream" +} +], +"set_id": 7477 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64" +], +"id": 4640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-dmidecode", +"repository": "rhel7-base" +} +], +"set_id": 7478 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dmidecode", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7479 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-rhsm", +"repository": "rhel7-base" +} +], +"set_id": 7480 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-subscription-manager-rhsm", +"repository": "rhel8-AppStream" +} +], +"set_id": 7481 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcmocka", +"repository": "rhel8-CRB" +} +], +"set_id": 7485 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcmocka-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7486 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-ldap", +"repository": "rhel7-base" +} +], +"set_id": 7487 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ldap", +"repository": "rhel8-AppStream" +} +], +"set_id": 7488 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cjose-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 7489 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cjose", +"repository": "rhel8-AppStream" +} +], +"set_id": 7490 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-session-recording", +"repository": "rhel8-AppStream" +} +], +"set_id": 7491 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 4648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-vfs-glusterfs", +"repository": "rhel7-base" +} +], +"set_id": 7492 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-ear-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7494 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-ear-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7495 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-ejb-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 7498 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-ejb-plugin-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7497 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jax-rs-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 7500 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jax-rs-api-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7501 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cloog", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7506 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cppcheck", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7507 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cloog-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7508 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-perf", +"repository": "rhel7-base" +} +], +"set_id": 7517 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-perf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7518 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemtap-exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 7525 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-podman", +"repository": "rhel8-AppStream" +} +], +"set_id": 7545 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c-devel", +"repository": "rhel7-extras" +} +], +"set_id": 10082 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10083 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c-libs", +"repository": "rhel7-extras" +} +], +"set_id": 10084 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 10085 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf", +"repository": "rhel7-extras" +} +], +"set_id": 7556 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7827 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-data", +"repository": "rhel7-extras" +} +], +"set_id": 7557 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-data", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7828 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-dnf-plugins-core", +"repository": "rhel7-extras" +} +], +"set_id": 7558 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dnf-plugins-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7829 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-libdnf", +"repository": "rhel7-extras" +} +], +"set_id": 7559 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libdnf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7826 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librhsm-devel", +"repository": "rhel7-extras" +} +], +"set_id": 10107 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OVMF", +"repository": "rhel7-base" +} +], +"set_id": 7580 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "edk2-ovmf", +"repository": "rhel8-AppStream" +} +], +"set_id": 7581 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "AAVMF", +"repository": "rhel7-optional" +} +], +"set_id": 7582 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "edk2-aarch64", +"repository": "rhel8-AppStream" +} +], +"set_id": 7583 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-hwdata", +"repository": "rhel7-base" +} +], +"set_id": 7584 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-hwdata", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7585 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-smartcols", +"repository": "rhel7-extras" +} +], +"set_id": 7586 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-gudev", +"repository": "rhel7-base" +} +], +"set_id": 7587 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-gobject-base", +"repository": "rhel7-base" +} +], +"set_id": 7588 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gobject-base", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7589 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-python", +"repository": "rhel7-base" +} +], +"set_id": 7590 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dbus", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7591 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oci-register-machine", +"repository": "rhel7-base" +} +], +"set_id": 7592 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-futures", +"repository": "rhel7-base" +} +], +"set_id": 7593 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "x86info", +"repository": "rhel7-base" +} +], +"set_id": 7594 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docker-rhel-push-plugin", +"repository": "rhel7-extras" +} +], +"set_id": 7595 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-IPy", +"repository": "rhel7-base" +} +], +"set_id": 7596 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-kmod", +"repository": "rhel7-base" +} +], +"set_id": 7597 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-kmod", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7598 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aic94xx-firmware", +"repository": "rhel7-base" +} +], +"set_id": 7599 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-toolset", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7600 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7601 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-analyzer", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7602 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7603 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 7604 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git-clang-format", +"repository": "rhel8-AppStream" +} +], +"set_id": 7605 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-tools-extra", +"repository": "rhel8-AppStream" +} +], +"set_id": 7606 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7609 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 7610 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 7612 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-googletest", +"repository": "rhel8-AppStream" +} +], +"set_id": 7614 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 7615 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "annobin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7616 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libgfortran-41", +"repository": "rhel7-base" +} +], +"set_id": 7617 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libgfortran-48", +"repository": "rhel8-AppStream" +} +], +"set_id": 7618 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hawkey-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7622 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openscap-containers", +"repository": "rhel7-base" +} +], +"set_id": 7626 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-toolset", +"repository": "rhel8-AppStream" +} +], +"set_id": 7627 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cargo-vendor", +"repository": "rhel8-AppStream" +} +], +"set_id": 7628 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "go-toolset", +"repository": "rhel8-AppStream" +} +], +"set_id": 7629 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rls", +"repository": "rhel8-AppStream" +} +], +"set_id": 7630 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 7631 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-std-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 7632 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cargo-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7633 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-analysis", +"repository": "rhel8-AppStream" +} +], +"set_id": 7634 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cargo", +"repository": "rhel8-AppStream" +} +], +"set_id": 7635 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-lldb", +"repository": "rhel8-AppStream" +} +], +"set_id": 7636 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7637 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-debugger-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 7638 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust", +"repository": "rhel8-AppStream" +} +], +"set_id": 7639 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rustfmt", +"repository": "rhel8-AppStream" +} +], +"set_id": 7640 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-src", +"repository": "rhel8-AppStream" +} +], +"set_id": 7641 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clippy", +"repository": "rhel8-AppStream" +} +], +"set_id": 7642 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbabeltrace", +"repository": "rhel8-AppStream" +} +], +"set_id": 7643 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brltty-dracut", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7644 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fftw-libs-quad", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7645 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "acpid-sysvinit", +"repository": "rhel7-base" +} +], +"set_id": 7646 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "beignet", +"repository": "rhel8-AppStream" +} +], +"set_id": 7647 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxcam", +"repository": "rhel8-AppStream" +} +], +"set_id": 7648 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7649 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sombok-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7650 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sombok", +"repository": "rhel8-CRB" +} +], +"set_id": 7651 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quagga", +"repository": "rhel7-base" +} +], +"set_id": 7652 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "http-parser-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7653 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nuxwdog-devel", +"repository": "rhel7-base" +} +], +"set_id": 7654 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nuxwdog-client-perl", +"repository": "rhel7-base" +} +], +"set_id": 7655 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nuxwdog", +"repository": "rhel7-base" +} +], +"set_id": 7656 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nuxwdog-client-java", +"repository": "rhel7-base" +} +], +"set_id": 7657 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-polkit-rules", +"repository": "rhel7-base" +} +], +"set_id": 7658 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "netsniff-ng", +"repository": "rhel7-base" +} +], +"set_id": 7673 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-babel", +"repository": "rhel7-base" +} +], +"set_id": 7660 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-babel", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-babel", +"repository": "rhel8-AppStream" +} +], +"set_id": 7661 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setuptool", +"repository": "rhel7-base" +} +], +"set_id": 7662 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bwidget", +"repository": "rhel7-base" +} +], +"set_id": 7665 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quagga-contrib", +"repository": "rhel7-base" +} +], +"set_id": 7666 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-gtk", +"repository": "rhel7-base" +} +], +"set_id": 7669 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7670 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgs-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9673 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-cups", +"repository": "rhel7-base" +} +], +"set_id": 7671 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipcalc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7676 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 7678 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-tools-dvipdf", +"repository": "rhel8-CRB" +} +], +"set_id": 7679 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-tools-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 7680 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-tools-printing", +"repository": "rhel8-CRB" +} +], +"set_id": 7681 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ghostscript-x11", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7682 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldns", +"repository": "rhel7-base" +} +], +"set_id": 7683 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldns", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "ldns-utils", +"repository": "rhel8-CRB" +} +], +"set_id": 7684 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pycairo", +"repository": "rhel7-base" +} +], +"set_id": 7685 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-cairo", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-cairo", +"repository": "rhel8-AppStream" +} +], +"set_id": 7686 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setroubleshoot", +"repository": "rhel7-base" +} +], +"set_id": 7690 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setroubleshoot", +"repository": "rhel8-AppStream" +} +], +"set_id": 7691 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setroubleshoot-plugins", +"repository": "rhel7-base" +} +], +"set_id": 7692 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setroubleshoot-plugins", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7693 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libselinux-ruby", +"repository": "rhel7-base" +} +], +"set_id": 7694 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libselinux-ruby", +"repository": "rhel8-AppStream" +} +], +"set_id": 7695 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "policycoreutils-sandbox", +"repository": "rhel7-base" +} +], +"set_id": 7698 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "policycoreutils-sandbox", +"repository": "rhel8-AppStream" +} +], +"set_id": 7699 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PyYAML", +"repository": "rhel7-base" +} +], +"set_id": 7700 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pyyaml", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pyyaml", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7701 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyparted", +"repository": "rhel7-base" +} +], +"set_id": 7702 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyparted", +"repository": "rhel8-AppStream" +} +], +"set_id": 7703 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unique3", +"repository": "rhel7-optional" +} +], +"set_id": 7704 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unique3-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7705 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unique3-docs", +"repository": "rhel7-optional" +} +], +"set_id": 7706 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xchat", +"repository": "rhel7-optional" +} +], +"set_id": 7707 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hexchat", +"repository": "rhel8-AppStream" +} +], +"set_id": 7708 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xchat-tcl", +"repository": "rhel7-optional" +} +], +"set_id": 7709 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hexchat-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 7710 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpeas-loader-python", +"repository": "rhel7-base" +} +], +"set_id": 7711 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpeas-loader-python3", +"repository": "rhel8-AppStream" +} +], +"set_id": 7712 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-charmap", +"repository": "rhel7-optional" +} +], +"set_id": 7713 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-commander", +"repository": "rhel7-optional" +} +], +"set_id": 7714 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-multiedit", +"repository": "rhel7-optional" +} +], +"set_id": 7715 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-codecomment", +"repository": "rhel7-optional" +} +], +"set_id": 7716 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugins-data", +"repository": "rhel7-optional" +} +], +"set_id": 7717 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4770, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-translate", +"repository": "rhel7-optional" +} +], +"set_id": 7718 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-drawspaces", +"repository": "rhel7-optional" +} +], +"set_id": 7719 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-terminal", +"repository": "rhel7-optional" +} +], +"set_id": 7720 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-findinfiles", +"repository": "rhel7-optional" +} +], +"set_id": 7721 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-smartspaces", +"repository": "rhel7-optional" +} +], +"set_id": 7722 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-bracketcompletion", +"repository": "rhel7-optional" +} +], +"set_id": 7723 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-wordcompletion", +"repository": "rhel7-optional" +} +], +"set_id": 7724 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugins", +"repository": "rhel7-optional" +} +], +"set_id": 7725 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-colorpicker", +"repository": "rhel7-optional" +} +], +"set_id": 7726 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-colorschemer", +"repository": "rhel7-optional" +} +], +"set_id": 7727 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-synctex", +"repository": "rhel7-optional" +} +], +"set_id": 7728 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-bookmarks", +"repository": "rhel7-optional" +} +], +"set_id": 7729 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-textsize", +"repository": "rhel7-optional" +} +], +"set_id": 7730 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-joinlines", +"repository": "rhel7-optional" +} +], +"set_id": 7731 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "control-center", +"repository": "rhel7-base" +} +], +"set_id": 7732 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-control-center", +"repository": "rhel8-AppStream" +} +], +"set_id": 7733 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "control-center-filesystem", +"repository": "rhel7-base" +} +], +"set_id": 7734 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-control-center-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 7735 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpkgconf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7736 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pkgconf-m4", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7737 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pkgconf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7738 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang", +"repository": "rhel7-optional" +} +], +"set_id": 7739 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "go-srpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 7740 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-bin", +"repository": "rhel7-optional" +} +], +"set_id": 7741 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-bin", +"repository": "rhel8-AppStream" +} +], +"set_id": 7742 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-docs", +"repository": "rhel7-optional" +} +], +"set_id": 7743 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 7744 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-misc", +"repository": "rhel7-optional" +} +], +"set_id": 7745 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-misc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7746 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-src", +"repository": "rhel7-optional" +} +], +"set_id": 7747 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-src", +"repository": "rhel8-AppStream" +} +], +"set_id": 7748 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-tests", +"repository": "rhel7-optional" +} +], +"set_id": 7749 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 7750 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fedfs-utils-client", +"repository": "rhel7-optional" +} +], +"set_id": 7751 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fedfs-utils-nsdbparams", +"repository": "rhel7-optional" +} +], +"set_id": 7752 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fedfs-utils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7753 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fedfs-utils-python", +"repository": "rhel7-optional" +} +], +"set_id": 7754 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fedfs-utils-common", +"repository": "rhel7-optional" +} +], +"set_id": 7755 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fedfs-utils-lib", +"repository": "rhel7-optional" +} +], +"set_id": 7756 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fedfs-utils-server", +"repository": "rhel7-optional" +} +], +"set_id": 7757 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fedfs-utils-admin", +"repository": "rhel7-optional" +} +], +"set_id": 7758 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libss-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7759 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "e2fsprogs-static", +"repository": "rhel7-optional" +} +], +"set_id": 7760 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glade3-libgladeui-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7761 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glade3", +"repository": "rhel7-optional" +} +], +"set_id": 7762 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glade3-libgladeui", +"repository": "rhel7-optional" +} +], +"set_id": 7763 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libglade2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7764 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4809, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libglade2", +"repository": "rhel7-base" +} +], +"set_id": 7765 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-tweak-tool", +"repository": "rhel7-base" +} +], +"set_id": 7766 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-tweaks", +"repository": "rhel8-AppStream" +} +], +"set_id": 7767 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "valadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7768 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4812, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "valadoc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7769 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vala-doc", +"repository": "rhel7-optional" +} +], +"set_id": 7770 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-weather-tests", +"repository": "rhel7-optional" +} +], +"set_id": 7771 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-weather", +"repository": "rhel7-base" +} +], +"set_id": 7772 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4816, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-clocks", +"repository": "rhel7-base" +} +], +"set_id": 7773 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gjs-tests", +"repository": "rhel7-optional" +} +], +"set_id": 7774 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glade", +"repository": "rhel7-optional" +} +], +"set_id": 7775 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoclue-doc", +"repository": "rhel7-optional" +} +], +"set_id": 7776 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoclue", +"repository": "rhel7-base" +} +], +"set_id": 7777 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoclue-gsmloc", +"repository": "rhel7-optional" +} +], +"set_id": 7778 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoclue-gui", +"repository": "rhel7-optional" +} +], +"set_id": 7779 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoclue-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7780 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4824, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7781 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4825, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2", +"repository": "rhel7-base" +} +], +"set_id": 7782 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2-modules", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2-xlib", +"repository": "rhel8-CRB" +} +], +"set_id": 7783 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4826, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2-devel", +"repository": "rhel7-base" +} +], +"set_id": 7784 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2-devel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2-xlib-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7785 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2-tests", +"repository": "rhel7-base" +} +], +"set_id": 7786 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4828, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-filesystem", +"repository": "rhel7-base" +} +], +"set_id": 7787 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4829, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-glib-vala", +"repository": "rhel7-optional" +} +], +"set_id": 7788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-glib", +"repository": "rhel7-base" +} +], +"set_id": 7789 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-glib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4832, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-farstream-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7791 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-farstream", +"repository": "rhel7-base" +} +], +"set_id": 7792 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-gabble", +"repository": "rhel7-base" +} +], +"set_id": 7793 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-haze", +"repository": "rhel7-base" +} +], +"set_id": 7794 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4836, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-logger", +"repository": "rhel7-base" +} +], +"set_id": 7795 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4837, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-logger-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7796 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-mission-control", +"repository": "rhel7-base" +} +], +"set_id": 7797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-mission-control-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7798 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "telepathy-salut", +"repository": "rhel7-base" +} +], +"set_id": 7799 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "farstream02-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7800 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "farstream-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7801 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "farstream", +"repository": "rhel7-base" +} +], +"set_id": 7802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4844, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "farstream-python", +"repository": "rhel7-optional" +} +], +"set_id": 7803 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4845, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evince-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evince-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10383 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evince-dvi", +"repository": "rhel7-base" +} +], +"set_id": 7805 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "eog-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4848, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yasm", +"repository": "rhel8-CRB" +} +], +"set_id": 7807 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4849, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isl", +"repository": "rhel8-AppStream" +} +], +"set_id": 7808 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7809 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tinyxml2", +"repository": "rhel8-CRB" +} +], +"set_id": 7810 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4852, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tinyxml2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7811 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4853, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liba52", +"repository": "rhel8-AppStream" +} +], +"set_id": 7812 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7813 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7816 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4856, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmetalink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7817 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tinycdb-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7818 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4858, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tinycdb", +"repository": "rhel8-CRB" +} +], +"set_id": 7819 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4859, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcomps", +"repository": "rhel7-extras" +} +], +"set_id": 7820 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcomps", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7821 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4860, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcomps-devel", +"repository": "rhel7-extras" +} +], +"set_id": 7822 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcomps-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7823 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4861, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-libcomps", +"repository": "rhel7-extras" +} +], +"set_id": 7824 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libcomps", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7825 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-automatic", +"repository": "rhel7-extras" +} +], +"set_id": 7830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-automatic", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7831 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-plugin-subscription-manager", +"repository": "rhel7-extras" +} +], +"set_id": 7832 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-plugin-subscription-manager", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7833 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4864, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnf", +"repository": "rhel7-extras" +} +], +"set_id": 7834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7835 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4865, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-dnf-plugin-versionlock", +"repository": "rhel7-extras" +} +], +"set_id": 7836 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dnf-plugin-versionlock", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7837 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnf-devel", +"repository": "rhel7-extras" +} +], +"set_id": 7838 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-dnf", +"repository": "rhel7-extras" +} +], +"set_id": 7839 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dnf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7840 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4868, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-plugins-core", +"repository": "rhel7-extras" +} +], +"set_id": 7841 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-plugins-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7842 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4869, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-plugin-spacewalk", +"repository": "rhel8-AppStream" +} +], +"set_id": 7843 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dnf-plugin-spacewalk", +"repository": "rhel8-AppStream" +} +], +"set_id": 7844 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhel-system-roles", +"repository": "rhel7-extras" +} +], +"set_id": 7845 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhel-system-roles", +"repository": "rhel8-AppStream" +} +], +"set_id": 7846 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman", +"repository": "rhel7-extras" +} +], +"set_id": 7847 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman", +"repository": "rhel8-AppStream" +} +], +"set_id": 7848 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-docker", +"repository": "rhel7-extras" +} +], +"set_id": 7849 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-docker", +"repository": "rhel8-AppStream" +} +], +"set_id": 7850 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "runc", +"repository": "rhel7-extras" +} +], +"set_id": 7851 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "runc", +"repository": "rhel8-AppStream" +} +], +"set_id": 7852 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "skopeo", +"repository": "rhel7-extras" +} +], +"set_id": 7853 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "skopeo", +"repository": "rhel8-AppStream" +} +], +"set_id": 7854 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "js-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7855 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "js", +"repository": "rhel7-base" +} +], +"set_id": 7856 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icon-naming-utils", +"repository": "rhel7-optional" +} +], +"set_id": 7857 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "buildah", +"repository": "rhel7-extras" +} +], +"set_id": 7858 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "buildah", +"repository": "rhel8-AppStream" +} +], +"set_id": 7859 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs17-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7860 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 7861 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-jsonpointer", +"repository": "rhel7-base" +} +], +"set_id": 7862 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jsonpointer", +"repository": "rhel8-AppStream" +} +], +"set_id": 7863 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-python-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7864 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-c++-glib", +"repository": "rhel8-CRB" +} +], +"set_id": 7865 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-c++", +"repository": "rhel8-CRB" +} +], +"set_id": 7866 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-c++-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7867 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "container-selinux", +"repository": "rhel7-extras" +} +], +"set_id": 7868 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "container-selinux", +"repository": "rhel8-AppStream" +} +], +"set_id": 7869 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "containernetworking-plugins", +"repository": "rhel7-extras" +} +], +"set_id": 7870 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "containernetworking-plugins", +"repository": "rhel8-AppStream" +} +], +"set_id": 7871 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "source-highlight", +"repository": "rhel7-optional" +} +], +"set_id": 7872 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "source-highlight", +"repository": "rhel8-AppStream" +} +], +"set_id": 7873 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "source-highlight-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7874 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-altfiles", +"repository": "rhel8-AppStream" +} +], +"set_id": 7875 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bubblewrap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7876 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "containers-common", +"repository": "rhel7-extras" +} +], +"set_id": 7877 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "containers-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 7878 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oci-systemd-hook", +"repository": "rhel7-extras" +} +], +"set_id": 7879 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oci-systemd-hook", +"repository": "rhel8-AppStream" +} +], +"set_id": 7880 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lttng-ust", +"repository": "rhel7-rhceph-tools-3" +} +], +"set_id": 7881 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lttng-ust", +"repository": "rhel8-AppStream" +} +], +"set_id": 7882 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lttng-ust-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 7883 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-11-openjdk-devel-debug", +"repository": "rhel7-optional" +} +], +"set_id": 7884 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-11-openjdk-javadoc-zip-debug", +"repository": "rhel7-optional" +} +], +"set_id": 7885 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-11-openjdk-demo-debug", +"repository": "rhel7-optional" +} +], +"set_id": 7886 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-11-openjdk-headless-debug", +"repository": "rhel7-optional" +} +], +"set_id": 7887 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-11-openjdk-src-debug", +"repository": "rhel7-optional" +} +], +"set_id": 7888 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-11-openjdk-debug", +"repository": "rhel7-optional" +} +], +"set_id": 7889 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-11-openjdk-jmods-debug", +"repository": "rhel7-optional" +} +], +"set_id": 7890 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-11-openjdk-javadoc-debug", +"repository": "rhel7-optional" +} +], +"set_id": 7891 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ostree", +"repository": "rhel7-extras" +} +], +"set_id": 7892 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ostree", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "ostree-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 7893 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ostree-devel", +"repository": "rhel7-extras" +} +], +"set_id": 7894 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ostree-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 7895 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ostree-fuse", +"repository": "rhel7-extras" +} +], +"set_id": 7896 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ostree", +"repository": "rhel8-AppStream" +} +], +"set_id": 7897 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ostree-grub2", +"repository": "rhel7-extras" +} +], +"set_id": 7898 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ostree-grub2", +"repository": "rhel8-AppStream" +} +], +"set_id": 7899 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-ostree-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 7900 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-ostree", +"repository": "rhel8-AppStream" +} +], +"set_id": 7901 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pandoc-common", +"repository": "rhel8-CRB" +} +], +"set_id": 7902 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus", +"repository": "rhel7-base" +} +], +"set_id": 7903 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "dbus-common", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "dbus-daemon", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "dbus-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7904 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-devel", +"repository": "rhel7-base" +} +], +"set_id": 7905 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 7906 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-x11", +"repository": "rhel7-base" +} +], +"set_id": 7907 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-x11", +"repository": "rhel8-AppStream" +} +], +"set_id": 7908 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-tests", +"repository": "rhel7-base" +} +], +"set_id": 7909 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-doc", +"repository": "rhel7-optional" +} +], +"set_id": 7910 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pexpect", +"repository": "rhel7-base" +} +], +"set_id": 7911 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pexpect", +"repository": "rhel8-AppStream" +} +], +"set_id": 7912 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ptyprocess", +"repository": "rhel8-AppStream" +} +], +"set_id": 7914 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-camlp4", +"repository": "rhel7-optional" +} +], +"set_id": 7915 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-camlp4", +"repository": "rhel8-CRB" +} +], +"set_id": 7916 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-camlp4-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7919 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-camlp4-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7920 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-calendar", +"repository": "rhel7-optional" +} +], +"set_id": 7921 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-calendar-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-csv-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7923 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-csv", +"repository": "rhel7-optional" +} +], +"set_id": 7924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-curses-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7925 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-curses", +"repository": "rhel7-optional" +} +], +"set_id": 7926 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-docs", +"repository": "rhel7-optional" +} +], +"set_id": 7927 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-emacs", +"repository": "rhel7-optional" +} +], +"set_id": 7928 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-fileutils", +"repository": "rhel7-optional" +} +], +"set_id": 7929 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4930, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-fileutils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7930 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-gettext-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7931 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-gettext", +"repository": "rhel7-optional" +} +], +"set_id": 7932 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libvirt", +"repository": "rhel7-optional" +} +], +"set_id": 7933 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libvirt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7934 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-ocamlbuild", +"repository": "rhel7-optional" +} +], +"set_id": 7935 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-ocamlbuild", +"repository": "rhel8-CRB" +} +], +"set_id": 7936 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-ocamlbuild-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7937 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-ocamlbuild-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7938 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-ocamlbuild-doc", +"repository": "rhel7-base" +} +], +"set_id": 7939 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-x11", +"repository": "rhel7-optional" +} +], +"set_id": 7940 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-source", +"repository": "rhel7-optional" +} +], +"set_id": 7941 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-xml-light", +"repository": "rhel7-optional" +} +], +"set_id": 7942 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-xml-light-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7943 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "open-vm-tools", +"repository": "rhel7-base" +} +], +"set_id": 7944 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "open-vm-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 7945 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "open-vm-tools-desktop", +"repository": "rhel7-base" +} +], +"set_id": 7946 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "open-vm-tools-desktop", +"repository": "rhel8-AppStream" +} +], +"set_id": 7947 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "open-vm-tools-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7948 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "open-vm-tools-test", +"repository": "rhel7-optional" +} +], +"set_id": 7949 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgovirt", +"repository": "rhel7-base" +} +], +"set_id": 7950 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgovirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 7951 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgovirt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7952 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunwind", +"repository": "rhel7-optional" +} +], +"set_id": 7953 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunwind-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7954 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pprof", +"repository": "rhel7-optional" +} +], +"set_id": 7955 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gperftools-libs", +"repository": "rhel7-base" +} +], +"set_id": 7956 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gperftools-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7957 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gperftools", +"repository": "rhel7-optional" +} +], +"set_id": 7958 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "supermin5", +"repository": "rhel7-base" +} +], +"set_id": 7959 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "supermin", +"repository": "rhel8-AppStream" +} +], +"set_id": 7960 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "supermin5-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7961 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "supermin-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 7962 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 4956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "supermin", +"repository": "rhel7-optional" +} +], +"set_id": 7963 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "supermin", +"repository": "rhel8-AppStream" +} +], +"set_id": 7964 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "supermin-helper", +"repository": "rhel7-base" +} +], +"set_id": 7965 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jsonschema", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7966 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hivex", +"repository": "rhel7-base" +} +], +"set_id": 7967 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hivex", +"repository": "rhel8-AppStream" +} +], +"set_id": 7968 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-hivex", +"repository": "rhel7-optional" +} +], +"set_id": 7969 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-hivex", +"repository": "rhel8-AppStream" +} +], +"set_id": 7970 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-hivex", +"repository": "rhel7-base" +} +], +"set_id": 7971 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-hivex", +"repository": "rhel8-AppStream" +} +], +"set_id": 7972 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-hivex-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7973 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-hivex-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7974 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hivex-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7975 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hivex-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 7976 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-hivex", +"repository": "rhel7-optional" +} +], +"set_id": 7977 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-hivex", +"repository": "rhel8-CRB" +} +], +"set_id": 7978 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-hivex", +"repository": "rhel7-optional" +} +], +"set_id": 7979 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-hivex", +"repository": "rhel8-AppStream" +} +], +"set_id": 7980 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-libguestfs", +"repository": "rhel7-base" +} +], +"set_id": 7981 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libguestfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 7982 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libguestfs", +"repository": "rhel7-optional" +} +], +"set_id": 7983 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libguestfs", +"repository": "rhel8-CRB" +} +], +"set_id": 7984 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libguestfs-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7985 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libguestfs-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7986 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-tools", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-tools", +"repository": "rhel7-base" +} +], +"set_id": 7987 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7988 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-java-devel", +"repository": "rhel7-base" +} +], +"set_id": 7989 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-java", +"repository": "rhel7-base" +} +], +"set_id": 7990 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-java-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 7991 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-snmp", +"repository": "rhel7-base" +} +], +"set_id": 7992 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-plugin-python2", +"repository": "rhel7-base" +} +], +"set_id": 7993 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-plugin-python3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 7994 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcacard-tools", +"repository": "rhel7-base" +} +], +"set_id": 7995 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet-devel", +"repository": "rhel7-optional" +} +], +"set_id": 7996 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 7997 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet-progs", +"repository": "rhel7-optional" +} +], +"set_id": 7998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet", +"repository": "rhel7-base" +} +], +"set_id": 7999 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 8000 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet-python", +"repository": "rhel7-optional" +} +], +"set_id": 8001 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-labltk", +"repository": "rhel7-optional" +} +], +"set_id": 8002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-labltk", +"repository": "rhel8-CRB" +} +], +"set_id": 8003 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-labltk-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-labltk-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8005 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-xpi", +"repository": "rhel7-base" +} +], +"set_id": 8006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-cim", +"repository": "rhel7-base" +} +], +"set_id": 8007 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dtc", +"repository": "rhel7-optional" +} +], +"set_id": 8008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dtc", +"repository": "rhel8-CRB" +} +], +"set_id": 8009 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfdt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfdt-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8011 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfdt", +"repository": "rhel7-base" +} +], +"set_id": 8012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfdt", +"repository": "rhel8-CRB" +} +], +"set_id": 8013 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "WALinuxAgent", +"repository": "rhel7-extras" +} +], +"set_id": 8014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "WALinuxAgent", +"repository": "rhel8-AppStream" +} +], +"set_id": 8015 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libieee1284-python", +"repository": "rhel7-base" +} +], +"set_id": 8016 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bzr-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8017 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bzr", +"repository": "rhel7-base" +} +], +"set_id": 8018 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cpptest-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8019 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cpptest", +"repository": "rhel7-optional" +} +], +"set_id": 8020 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gob2", +"repository": "rhel7-optional" +} +], +"set_id": 8021 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "net-snmp-python", +"repository": "rhel7-base" +} +], +"set_id": 8022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "net-snmp-sysvinit", +"repository": "rhel7-base" +} +], +"set_id": 8023 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dpdk", +"repository": "rhel7-extras" +} +], +"set_id": 8024 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dpdk", +"repository": "rhel8-AppStream" +} +], +"set_id": 8025 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dpdk-doc", +"repository": "rhel7-extras" +} +], +"set_id": 8026 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dpdk-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 8027 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dpdk-devel", +"repository": "rhel7-extras" +} +], +"set_id": 8028 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dpdk-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 8029 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 4999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dpdk-tools", +"repository": "rhel7-extras" +} +], +"set_id": 8030 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dpdk-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 8031 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "driverctl", +"repository": "rhel7-extras" +} +], +"set_id": 8032 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "driverctl", +"repository": "rhel8-AppStream" +} +], +"set_id": 8033 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel", +"repository": "rhel7-base" +} +], +"set_id": 8034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-core", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-modules", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-modules-extra", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8035 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-debug", +"repository": "rhel7-base" +} +], +"set_id": 8036 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-debug", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-debug-core", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-debug-modules", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-debug-modules-extra", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8037 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libchewing", +"repository": "rhel7-base" +} +], +"set_id": 8038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libchewing-python", +"repository": "rhel7-optional" +} +], +"set_id": 8039 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libchewing-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcryptui-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8041 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libid3tag-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libid3tag", +"repository": "rhel7-optional" +} +], +"set_id": 8043 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxml2-static", +"repository": "rhel7-base" +} +], +"set_id": 8044 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxslt-python", +"repository": "rhel7-optional" +} +], +"set_id": 8045 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-blivet", +"repository": "rhel7-base" +} +], +"set_id": 8046 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-blivet", +"repository": "rhel8-AppStream" +} +], +"set_id": 8047 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fltk-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8048 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fltk-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8049 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fltk-static", +"repository": "rhel7-optional" +} +], +"set_id": 8050 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-chewing", +"repository": "rhel7-base" +} +], +"set_id": 8051 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-libzhuyin", +"repository": "rhel8-AppStream" +} +], +"set_id": 8052 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "json-glib-tests", +"repository": "rhel7-optional" +} +], +"set_id": 8053 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-meh", +"repository": "rhel7-base" +} +], +"set_id": 8054 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-meh", +"repository": "rhel8-AppStream" +} +], +"set_id": 8055 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-meh-gui", +"repository": "rhel7-base" +} +], +"set_id": 8056 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-meh-gui", +"repository": "rhel8-AppStream" +} +], +"set_id": 8057 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-release-server", +"repository": "rhel7-base" +} +], +"set_id": 8058 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-release", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "redhat-release-eula", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8059 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgit2", +"repository": "rhel7-extras" +} +], +"set_id": 8060 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgit2", +"repository": "rhel8-AppStream" +} +], +"set_id": 8061 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgit2-devel", +"repository": "rhel7-extras" +} +], +"set_id": 8062 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgit2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8063 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgit2-glib", +"repository": "rhel7-extras" +} +], +"set_id": 8064 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgit2-glib", +"repository": "rhel8-AppStream" +} +], +"set_id": 8065 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgit2-glib-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8066 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lorax-composer", +"repository": "rhel7-extras" +} +], +"set_id": 8067 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lorax-composer", +"repository": "rhel8-AppStream" +} +], +"set_id": 8068 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pytoml", +"repository": "rhel7-extras" +} +], +"set_id": 8070 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pytoml", +"repository": "rhel8-AppStream" +} +], +"set_id": 8071 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "meson", +"repository": "rhel8-CRB" +} +], +"set_id": 8072 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ninja-build", +"repository": "rhel8-CRB" +} +], +"set_id": 8073 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-headers", +"repository": "rhel7-base" +} +], +"set_id": 8074 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-headers", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "rpcsvc-proto-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8075 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uriparser-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8076 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uriparser", +"repository": "rhel7-optional" +} +], +"set_id": 8077 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cifs-utils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8078 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "filebench", +"repository": "rhel7-base" +} +], +"set_id": 8079 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nfsometer", +"repository": "rhel7-base" +} +], +"set_id": 8080 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nfstest", +"repository": "rhel7-base" +} +], +"set_id": 8081 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse3-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8082 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8083 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse3-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8084 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse", +"repository": "rhel7-base" +} +], +"set_id": 8085 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "fuse-common", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8086 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-common", +"repository": "rhel7-base" +} +], +"set_id": 8087 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-common", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "rpcgen", +"repository": "rhel8-CRB" +} +], +"set_id": 8088 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam_cifscreds", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8089 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw-binutils-generic", +"repository": "rhel8-CRB" +} +], +"set_id": 8090 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-binutils", +"repository": "rhel8-CRB" +} +], +"set_id": 8091 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-binutils", +"repository": "rhel8-CRB" +} +], +"set_id": 8092 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-headers", +"repository": "rhel8-CRB" +} +], +"set_id": 8093 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-headers", +"repository": "rhel8-CRB" +} +], +"set_id": 8094 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-crt", +"repository": "rhel8-CRB" +} +], +"set_id": 8095 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-crt", +"repository": "rhel8-CRB" +} +], +"set_id": 8096 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-gcc", +"repository": "rhel8-CRB" +} +], +"set_id": 8097 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-gcc", +"repository": "rhel8-CRB" +} +], +"set_id": 8098 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-gcc-c++", +"repository": "rhel8-CRB" +} +], +"set_id": 8099 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-gcc-c++", +"repository": "rhel8-CRB" +} +], +"set_id": 8100 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-cpp", +"repository": "rhel8-CRB" +} +], +"set_id": 8101 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-cpp", +"repository": "rhel8-CRB" +} +], +"set_id": 8102 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-bzip2-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8103 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-bzip2", +"repository": "rhel8-CRB" +} +], +"set_id": 8104 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-bzip2", +"repository": "rhel8-CRB" +} +], +"set_id": 8105 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-bzip2-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8106 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-cairo", +"repository": "rhel8-CRB" +} +], +"set_id": 8107 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-cairo", +"repository": "rhel8-CRB" +} +], +"set_id": 8108 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-filesystem", +"repository": "rhel8-CRB" +} +], +"set_id": 8109 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw-filesystem-base", +"repository": "rhel8-CRB" +} +], +"set_id": 8110 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-filesystem", +"repository": "rhel8-CRB" +} +], +"set_id": 8111 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-expat", +"repository": "rhel8-CRB" +} +], +"set_id": 8112 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-expat", +"repository": "rhel8-CRB" +} +], +"set_id": 8113 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-fontconfig", +"repository": "rhel8-CRB" +} +], +"set_id": 8114 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-fontconfig", +"repository": "rhel8-CRB" +} +], +"set_id": 8115 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-freetype", +"repository": "rhel8-CRB" +} +], +"set_id": 8116 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-freetype-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8117 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-freetype", +"repository": "rhel8-CRB" +} +], +"set_id": 8118 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-freetype-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8119 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-gettext", +"repository": "rhel8-CRB" +} +], +"set_id": 8120 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-gettext", +"repository": "rhel8-CRB" +} +], +"set_id": 8121 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-gettext-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8122 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-gettext-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8123 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-glib2", +"repository": "rhel8-CRB" +} +], +"set_id": 8124 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-glib2-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8125 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-glib2", +"repository": "rhel8-CRB" +} +], +"set_id": 8126 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-glib2-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8127 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-gstreamer1", +"repository": "rhel8-CRB" +} +], +"set_id": 8128 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-gstreamer1", +"repository": "rhel8-CRB" +} +], +"set_id": 8129 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-harfbuzz-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8130 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-harfbuzz", +"repository": "rhel8-CRB" +} +], +"set_id": 8131 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-harfbuzz", +"repository": "rhel8-CRB" +} +], +"set_id": 8132 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-harfbuzz-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8133 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-icu", +"repository": "rhel8-CRB" +} +], +"set_id": 8134 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-icu", +"repository": "rhel8-CRB" +} +], +"set_id": 8135 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libffi", +"repository": "rhel8-CRB" +} +], +"set_id": 8136 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libffi", +"repository": "rhel8-CRB" +} +], +"set_id": 8137 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libjpeg-turbo-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8138 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libjpeg-turbo-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8139 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libjpeg-turbo", +"repository": "rhel8-CRB" +} +], +"set_id": 8140 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libjpeg-turbo", +"repository": "rhel8-CRB" +} +], +"set_id": 8141 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libpng", +"repository": "rhel8-CRB" +} +], +"set_id": 8142 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libpng-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8143 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libpng", +"repository": "rhel8-CRB" +} +], +"set_id": 8144 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libpng-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8145 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libtiff", +"repository": "rhel8-CRB" +} +], +"set_id": 8146 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libtiff-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8147 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libtiff-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8148 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libtiff", +"repository": "rhel8-CRB" +} +], +"set_id": 8149 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-openssl", +"repository": "rhel8-CRB" +} +], +"set_id": 8150 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-openssl", +"repository": "rhel8-CRB" +} +], +"set_id": 8151 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-pcre-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8152 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-pcre", +"repository": "rhel8-CRB" +} +], +"set_id": 8153 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-pcre-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8154 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-pcre", +"repository": "rhel8-CRB" +} +], +"set_id": 8155 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-pixman", +"repository": "rhel8-CRB" +} +], +"set_id": 8156 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-pixman", +"repository": "rhel8-CRB" +} +], +"set_id": 8157 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-pkg-config", +"repository": "rhel8-CRB" +} +], +"set_id": 8158 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-pkg-config", +"repository": "rhel8-CRB" +} +], +"set_id": 8159 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-readline", +"repository": "rhel8-CRB" +} +], +"set_id": 8160 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-readline", +"repository": "rhel8-CRB" +} +], +"set_id": 8161 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-sqlite-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8162 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-sqlite", +"repository": "rhel8-CRB" +} +], +"set_id": 8163 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-sqlite", +"repository": "rhel8-CRB" +} +], +"set_id": 8164 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-sqlite-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8165 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-termcap", +"repository": "rhel8-CRB" +} +], +"set_id": 8166 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-termcap", +"repository": "rhel8-CRB" +} +], +"set_id": 8167 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-win-iconv", +"repository": "rhel8-CRB" +} +], +"set_id": 8168 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-win-iconv-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8169 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-win-iconv-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8170 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-win-iconv", +"repository": "rhel8-CRB" +} +], +"set_id": 8171 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-winpthreads-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8172 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-winpthreads", +"repository": "rhel8-CRB" +} +], +"set_id": 8173 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-winpthreads", +"repository": "rhel8-CRB" +} +], +"set_id": 8174 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-winpthreads-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8175 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-zlib-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8176 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-zlib-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8177 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-zlib", +"repository": "rhel8-CRB" +} +], +"set_id": 8178 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-zlib", +"repository": "rhel8-CRB" +} +], +"set_id": 8179 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-cppo", +"repository": "rhel8-CRB" +} +], +"set_id": 8180 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-dbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 8181 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jq", +"repository": "rhel8-AppStream" +} +], +"set_id": 8182 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_wrapper", +"repository": "rhel7-rhscl-1" +} +], +"set_id": 8183 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_wrapper", +"repository": "rhel8-AppStream" +} +], +"set_id": 8184 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oci-umount", +"repository": "rhel7-extras" +} +], +"set_id": 8185 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oci-umount", +"repository": "rhel8-AppStream" +} +], +"set_id": 8186 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-python", +"repository": "rhel7-optional" +} +], +"set_id": 8187 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-core", +"repository": "rhel7-optional" +} +], +"set_id": 8188 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 8189 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8190 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gpgmepp", +"repository": "rhel8-CRB" +} +], +"set_id": 8191 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gpgmepp-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8192 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gpg", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8193 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qgpgme", +"repository": "rhel8-AppStream" +} +], +"set_id": 8194 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gegl04", +"repository": "rhel8-AppStream" +} +], +"set_id": 8195 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gegl04-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8196 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "eigen3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8197 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jbig2dec-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 8198 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-jmespath", +"repository": "rhel7-ansible-2" +} +], +"set_id": 8199 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jmespath", +"repository": "rhel8-AppStream" +} +], +"set_id": 8200 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-httplib2", +"repository": "rhel7-extras" +} +], +"set_id": 8201 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-httplib2", +"repository": "rhel8-CRB" +} +], +"set_id": 8202 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iproute-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8203 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipset-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8204 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnftnl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8205 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iproute", +"repository": "rhel7-base" +} +], +"set_id": 8206 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iproute", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "iproute-tc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8207 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "arptables", +"repository": "rhel7-base" +} +], +"set_id": 8208 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-arptables", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8209 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-cross-headers", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8210 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-java", +"repository": "rhel7-optional" +} +], +"set_id": 8211 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8212 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-python", +"repository": "rhel7-optional" +} +], +"set_id": 8213 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-bcc", +"repository": "rhel7-base" +} +], +"set_id": 8214 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-bcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 8215 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bcc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8216 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bcc-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10232 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atlas-static", +"repository": "rhel7-optional" +} +], +"set_id": 8217 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8218 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-qt4-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8219 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-qt3", +"repository": "rhel7-optional" +} +], +"set_id": 8220 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-qt4", +"repository": "rhel7-optional" +} +], +"set_id": 8221 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-qt3-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8222 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-dnsconfd", +"repository": "rhel7-optional" +} +], +"set_id": 8223 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-glib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8224 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-ui-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8225 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8226 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8227 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-compat-libdns_sd", +"repository": "rhel7-optional" +} +], +"set_id": 8228 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-compat-libdns_sd", +"repository": "rhel8-CRB" +} +], +"set_id": 8229 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-compat-libdns_sd-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8230 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-compat-libdns_sd-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8231 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-compat-howl", +"repository": "rhel7-optional" +} +], +"set_id": 8232 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-compat-howl", +"repository": "rhel8-CRB" +} +], +"set_id": 8233 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-compat-howl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8234 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-compat-howl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8235 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-gobject-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8242 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-ui", +"repository": "rhel7-optional" +} +], +"set_id": 8243 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8244 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-ui-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8245 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-avahi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8246 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "blas64-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8247 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "blas64-static", +"repository": "rhel7-optional" +} +], +"set_id": 8248 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lapack64-static", +"repository": "rhel7-optional" +} +], +"set_id": 8249 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lapack64-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8250 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lapack-static", +"repository": "rhel7-optional" +} +], +"set_id": 8251 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lapack-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8252 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "blas-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8253 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "blas-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8254 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lapack-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8255 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lapack-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8256 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgudev1-devel", +"repository": "rhel7-base" +} +], +"set_id": 8257 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgudev-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8258 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtar-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8259 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lz4-static", +"repository": "rhel7-optional" +} +], +"set_id": 8260 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gmp-static", +"repository": "rhel7-optional" +} +], +"set_id": 8261 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "readline-static", +"repository": "rhel7-optional" +} +], +"set_id": 8262 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "blas-static", +"repository": "rhel7-optional" +} +], +"set_id": 8263 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "file-static", +"repository": "rhel7-base" +} +], +"set_id": 8264 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gmp", +"repository": "rhel7-base" +} +], +"set_id": 8265 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gmp", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "gmp-c++", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8266 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8267 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8268 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8269 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer", +"repository": "rhel7-optional" +} +], +"set_id": 8270 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-base-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8271 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-base-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8272 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-base", +"repository": "rhel7-optional" +} +], +"set_id": 8273 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-base-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8274 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-good-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8275 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-good", +"repository": "rhel7-optional" +} +], +"set_id": 8276 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-bad-free", +"repository": "rhel7-optional" +} +], +"set_id": 8277 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-bad-free-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8278 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-plugins-bad-free-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8279 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer1-plugins-bad-free-gtk", +"repository": "rhel7-optional" +} +], +"set_id": 8280 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer1-plugins-good-gtk", +"repository": "rhel8-AppStream" +} +], +"set_id": 8281 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-magic", +"repository": "rhel7-base" +} +], +"set_id": 8282 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-magic", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8283 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "suitesparse-static", +"repository": "rhel7-optional" +} +], +"set_id": 8284 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "suitesparse-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8285 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "suitesparse-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8286 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "suitesparse-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8287 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnghttp2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8288 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "publicsuffix-list", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8289 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "publicsuffix-list-dafsa", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8290 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpsl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8291 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lz4", +"repository": "rhel7-base" +} +], +"set_id": 8292 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lz4", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "lz4-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8293 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnice", +"repository": "rhel7-base" +} +], +"set_id": 8294 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnice", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libnice-gstreamer1", +"repository": "rhel8-AppStream" +} +], +"set_id": 8295 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnice-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8296 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnice-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8297 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-guile18-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8298 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-guile18", +"repository": "rhel8-CRB" +} +], +"set_id": 8299 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-suds", +"repository": "rhel7-base" +} +], +"set_id": 8300 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-suds", +"repository": "rhel8-AppStream" +} +], +"set_id": 8301 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmodulemd", +"repository": "rhel7-extras" +} +], +"set_id": 8302 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmodulemd", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "libmodulemd1", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8303 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmodulemd-devel", +"repository": "rhel7-extras" +} +], +"set_id": 8304 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmodulemd-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8305 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-syspurpose", +"repository": "rhel7-base" +} +], +"set_id": 8306 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-syspurpose", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9495 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-rhsm", +"repository": "rhel7-base" +} +], +"set_id": 8307 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-subscription-manager-rhsm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8308 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-rhsm-certificates", +"repository": "rhel7-base" +} +], +"set_id": 8309 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-rhsm-certificates", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8310 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-gui", +"repository": "rhel7-base" +} +], +"set_id": 8311 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-cockpit", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8312 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-mercurial", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "emacs-mercurial-el", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "mercurial", +"repository": "rhel7-base" +} +], +"set_id": 8313 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mercurial", +"repository": "rhel8-AppStream" +} +], +"set_id": 8314 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "giflib-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8315 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-subprocess32", +"repository": "rhel7-base" +} +], +"set_id": 8316 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git-gnome-keyring", +"repository": "rhel7-optional" +} +], +"set_id": 8317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-lxml-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8318 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libqhull_p", +"repository": "rhel8-CRB" +} +], +"set_id": 8319 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libqhull_r", +"repository": "rhel8-CRB" +} +], +"set_id": 8320 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libqhull", +"repository": "rhel8-CRB" +} +], +"set_id": 8321 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qhull-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8322 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-serial64_", +"repository": "rhel8-CRB" +} +], +"set_id": 8323 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-threads64", +"repository": "rhel8-CRB" +} +], +"set_id": 8324 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-Rblas", +"repository": "rhel8-CRB" +} +], +"set_id": 8325 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-threads64_", +"repository": "rhel8-CRB" +} +], +"set_id": 8326 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8327 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-openmp64", +"repository": "rhel8-CRB" +} +], +"set_id": 8328 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-serial64", +"repository": "rhel8-CRB" +} +], +"set_id": 8329 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-openmp64_", +"repository": "rhel8-CRB" +} +], +"set_id": 8330 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-openmp", +"repository": "rhel8-CRB" +} +], +"set_id": 8331 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8332 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libEMF", +"repository": "rhel8-CRB" +} +], +"set_id": 8336 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libEMF-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8337 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pstoedit", +"repository": "rhel8-CRB" +} +], +"set_id": 8338 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstemmer-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8339 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-iso8601", +"repository": "rhel8-CRB" +} +], +"set_id": 8340 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-iso8601", +"repository": "rhel8-CRB" +} +], +"set_id": 8341 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-pip", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8342 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-prettytable", +"repository": "rhel7-base" +} +], +"set_id": 8343 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-prettytable", +"repository": "rhel8-AppStream" +} +], +"set_id": 8344 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-flask", +"repository": "rhel7-extras" +} +], +"set_id": 8345 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-flask", +"repository": "rhel8-AppStream" +} +], +"set_id": 8346 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-gevent", +"repository": "rhel7-extras" +} +], +"set_id": 8347 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gevent", +"repository": "rhel8-AppStream" +} +], +"set_id": 8348 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-greenlet", +"repository": "rhel7-extras" +} +], +"set_id": 8349 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-greenlet", +"repository": "rhel8-AppStream" +} +], +"set_id": 8350 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-itsdangerous", +"repository": "rhel7-extras" +} +], +"set_id": 8351 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-itsdangerous", +"repository": "rhel8-AppStream" +} +], +"set_id": 8352 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-werkzeug", +"repository": "rhel7-extras" +} +], +"set_id": 8353 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-werkzeug", +"repository": "rhel8-AppStream" +} +], +"set_id": 8354 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-greenlet-devel", +"repository": "rhel7-extras" +} +], +"set_id": 8355 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-greenlet-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8356 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiptcdata-python", +"repository": "rhel7-optional" +} +], +"set_id": 8357 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiptcdata-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8358 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "btrfs-progs-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8359 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librados2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8360 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librados-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8361 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librbd1-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8362 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librbd-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8363 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcephfs2", +"repository": "rhel8-CRB" +} +], +"set_id": 8364 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcephfs-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8365 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libradosstriper1", +"repository": "rhel8-CRB" +} +], +"set_id": 8366 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libradosstriper-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8367 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-rados", +"repository": "rhel7-base" +} +], +"set_id": 8368 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-rbd", +"repository": "rhel7-base" +} +], +"set_id": 8369 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ceph-common", +"repository": "rhel7-base" +} +], +"set_id": 8370 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer1-plugins-base-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8371 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer1-plugins-base-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8372 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer1-plugins-ugly-free-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8373 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer1-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8374 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libGLEWmx", +"repository": "rhel7-optional" +} +], +"set_id": 8375 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gsound-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8376 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clutter-gst2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8377 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glew", +"repository": "rhel7-optional" +} +], +"set_id": 8378 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "egl-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8379 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvpx-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8380 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-demos", +"repository": "rhel7-optional" +} +], +"set_id": 8381 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libevdev-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8382 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "drm-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8383 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtheora-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8384 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvdpau-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8385 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxcb-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8386 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "orc-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8387 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL-static", +"repository": "rhel7-optional" +} +], +"set_id": 8388 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-libxatracker-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8389 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wayland-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8390 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdmx-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8391 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXvMC-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8392 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXfont", +"repository": "rhel7-base" +} +], +"set_id": 8393 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXfont-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8394 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXevie", +"repository": "rhel7-base" +} +], +"set_id": 8395 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXevie-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8396 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liboil", +"repository": "rhel7-optional" +} +], +"set_id": 8397 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liboil-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8398 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libopenraw-pixbuf-loader", +"repository": "rhel7-optional" +} +], +"set_id": 8399 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pulseaudio-esound-compat", +"repository": "rhel7-optional" +} +], +"set_id": 8400 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pulseaudio-module-gconf", +"repository": "rhel7-optional" +} +], +"set_id": 8401 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pulseaudio-module-zeroconf", +"repository": "rhel7-optional" +} +], +"set_id": 8402 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pulseaudio-qpaeq", +"repository": "rhel7-optional" +} +], +"set_id": 8403 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdm", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "pulseaudio-gdm-hooks", +"repository": "rhel7-base" +} +], +"set_id": 8404 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdm", +"repository": "rhel8-AppStream" +} +], +"set_id": 8405 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vulkan", +"repository": "rhel7-optional" +} +], +"set_id": 8406 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vulkan-loader", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "vulkan-tools", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "vulkan-validation-layers", +"repository": "rhel8-AppStream" +} +], +"set_id": 8407 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vulkan-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8408 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-vulkan-devel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "vulkan-headers", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "vulkan-loader-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 8409 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmad", +"repository": "rhel8-AppStream" +} +], +"set_id": 8410 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmad-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8411 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lame-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 8412 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lame-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8413 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "twolame-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 8414 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openal-soft", +"repository": "rhel8-AppStream" +} +], +"set_id": 8415 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openal-soft-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8416 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocl-icd-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8417 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocl-icd", +"repository": "rhel8-AppStream" +} +], +"set_id": 8418 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencl-headers", +"repository": "rhel8-CRB" +} +], +"set_id": 8419 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencl-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 8420 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL2", +"repository": "rhel8-CRB" +} +], +"set_id": 8421 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8422 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL2-static", +"repository": "rhel8-CRB" +} +], +"set_id": 8423 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-keyboard", +"repository": "rhel7-base" +} +], +"set_id": 8424 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-mouse", +"repository": "rhel7-base" +} +], +"set_id": 8425 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-openchrome", +"repository": "rhel7-base" +} +], +"set_id": 8426 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-synaptics", +"repository": "rhel7-base" +} +], +"set_id": 8427 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-vmmouse", +"repository": "rhel7-base" +} +], +"set_id": 8428 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-void", +"repository": "rhel7-base" +} +], +"set_id": 8429 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-mouse-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8431 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-openchrome-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8432 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-synaptics-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8433 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-intel-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8434 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-server-source", +"repository": "rhel7-optional" +} +], +"set_id": 8435 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-xkb-extras", +"repository": "rhel7-optional" +} +], +"set_id": 8436 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-qt", +"repository": "rhel7-base" +} +], +"set_id": 8437 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-qt4", +"repository": "rhel7-base" +} +], +"set_id": 8438 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-emacs", +"repository": "rhel8-AppStream" +} +], +"set_id": 8439 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-gnome3", +"repository": "rhel8-AppStream" +} +], +"set_id": 8440 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libntlm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8441 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plotutils", +"repository": "rhel8-CRB" +} +], +"set_id": 8442 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plotutils-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 8443 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Browser-Open", +"repository": "rhel7-optional" +} +], +"set_id": 8444 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Config-Simple", +"repository": "rhel7-optional" +} +], +"set_id": 8445 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CSS-Tiny", +"repository": "rhel7-optional" +} +], +"set_id": 8446 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Cover", +"repository": "rhel7-optional" +} +], +"set_id": 8447 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Inplace", +"repository": "rhel7-optional" +} +], +"set_id": 8448 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-FormatText-WithLinks", +"repository": "rhel7-optional" +} +], +"set_id": 8449 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-FormatText-WithLinks-AndTables", +"repository": "rhel7-optional" +} +], +"set_id": 8450 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Image-Info", +"repository": "rhel7-optional" +} +], +"set_id": 8451 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Image-Xbm", +"repository": "rhel7-optional" +} +], +"set_id": 8452 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Image-Xpm", +"repository": "rhel7-optional" +} +], +"set_id": 8453 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Locale-Maketext-Gettext", +"repository": "rhel7-optional" +} +], +"set_id": 8454 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Locale-PO", +"repository": "rhel7-optional" +} +], +"set_id": 8455 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Parallel-Iterator", +"repository": "rhel7-optional" +} +], +"set_id": 8456 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-POM", +"repository": "rhel7-optional" +} +], +"set_id": 8457 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PPI-HTML", +"repository": "rhel7-optional" +} +], +"set_id": 8458 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sort-Versions", +"repository": "rhel7-optional" +} +], +"set_id": 8459 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-String-Similarity", +"repository": "rhel7-optional" +} +], +"set_id": 8460 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Syntax-Highlight-Engine-Kate", +"repository": "rhel7-optional" +} +], +"set_id": 8461 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Template-Toolkit", +"repository": "rhel7-optional" +} +], +"set_id": 8462 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-MockObject", +"repository": "rhel7-optional" +} +], +"set_id": 8463 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-CSV_XS", +"repository": "rhel7-optional" +} +], +"set_id": 8464 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-UNIVERSAL-can", +"repository": "rhel7-optional" +} +], +"set_id": 8465 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-UNIVERSAL-isa", +"repository": "rhel7-optional" +} +], +"set_id": 8466 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-LibXSLT", +"repository": "rhel7-optional" +} +], +"set_id": 8467 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XML-TreeBuilder", +"repository": "rhel7-optional" +} +], +"set_id": 8468 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Format-DateParse", +"repository": "rhel7-base" +} +], +"set_id": 8469 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "publican", +"repository": "rhel7-optional" +} +], +"set_id": 8470 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "publican-common-web", +"repository": "rhel7-optional" +} +], +"set_id": 8471 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "publican-common-db5-web", +"repository": "rhel7-optional" +} +], +"set_id": 8472 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "publican-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8473 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "publican-redhat", +"repository": "rhel7-optional" +} +], +"set_id": 8474 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Accessor", +"repository": "rhel8-CRB" +} +], +"set_id": 8475 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sub-Name", +"repository": "rhel8-CRB" +} +], +"set_id": 8476 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-admin-webapps", +"repository": "rhel7-base" +} +], +"set_id": 8479 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-webapps", +"repository": "rhel7-base" +} +], +"set_id": 8480 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-docs-webapp", +"repository": "rhel7-optional" +} +], +"set_id": 8481 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8482 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-jsvc", +"repository": "rhel7-optional" +} +], +"set_id": 8483 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-servlet-3.0-api", +"repository": "rhel7-base" +} +], +"set_id": 8485 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audiofile", +"repository": "rhel7-optional" +} +], +"set_id": 8487 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audiofile-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8488 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-glew", +"repository": "rhel7-optional" +} +], +"set_id": 8489 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libxcb", +"repository": "rhel7-base" +} +], +"set_id": 8490 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-dapl", +"repository": "rhel7-base" +} +], +"set_id": 8491 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-openmpi16", +"repository": "rhel7-base" +} +], +"set_id": 8492 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-opensm-libs", +"repository": "rhel7-base" +} +], +"set_id": 8493 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-dapl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8494 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-dapl-static", +"repository": "rhel7-optional" +} +], +"set_id": 8495 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-dapl-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8496 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-openmpi16-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8497 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-compat-openmpi16", +"repository": "rhel7-optional" +} +], +"set_id": 8498 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libical1", +"repository": "rhel7-base" +} +], +"set_id": 8499 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-cheese314", +"repository": "rhel7-base" +} +], +"set_id": 8500 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-glade315", +"repository": "rhel7-base" +} +], +"set_id": 8501 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-gnome-desktop314", +"repository": "rhel7-base" +} +], +"set_id": 8502 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-grilo02", +"repository": "rhel7-base" +} +], +"set_id": 8503 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libcogl12", +"repository": "rhel7-base" +} +], +"set_id": 8504 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libcogl-pango12", +"repository": "rhel7-base" +} +], +"set_id": 8505 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libcolord1", +"repository": "rhel7-base" +} +], +"set_id": 8506 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libgdata13", +"repository": "rhel7-base" +} +], +"set_id": 8507 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libgnome-bluetooth11", +"repository": "rhel7-base" +} +], +"set_id": 8508 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libgnome-desktop3-7", +"repository": "rhel7-base" +} +], +"set_id": 8509 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libgweather3", +"repository": "rhel7-base" +} +], +"set_id": 8510 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libmediaart0", +"repository": "rhel7-base" +} +], +"set_id": 8511 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libpackagekit-glib2-16", +"repository": "rhel7-base" +} +], +"set_id": 8512 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libupower-glib1", +"repository": "rhel7-base" +} +], +"set_id": 8513 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-poppler022", +"repository": "rhel7-base" +} +], +"set_id": 8514 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-poppler022-glib", +"repository": "rhel7-base" +} +], +"set_id": 8515 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-poppler022-qt", +"repository": "rhel7-base" +} +], +"set_id": 8516 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adwaita-icon-theme-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8517 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-poppler022-cpp", +"repository": "rhel7-optional" +} +], +"set_id": 8518 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-exiv2-023", +"repository": "rhel7-base" +} +], +"set_id": 8519 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cheese-libs-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8520 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-connector-dbus-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8521 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-core-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8522 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "efivar-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8523 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8524 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival-speechtools-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8525 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "finch-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8526 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flatpak-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8527 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fprintd-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8528 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fwupdate-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8529 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fwupd-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8530 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gavl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8531 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8532 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdm-pam-extensions-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8533 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-settings-daemon-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8534 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-software-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8535 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gom-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8536 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gupnp-av-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8537 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gupnp-dlna-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8538 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappstream-glib-builder-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8539 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbluray-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8540 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdmapsharing-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8541 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdvdnav-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8542 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libexttextcat-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8543 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfprint-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8544 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgcab1-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8545 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgdither-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8546 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblouis-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8547 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmediaart-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8548 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreofficekit-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8549 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsmbios-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8550 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lpsolve-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8551 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "metacity-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8552 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plymouth-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8553 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rest-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8554 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhythmbox-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8555 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sbc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8556 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "syslinux-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8557 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "totem-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8558 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "totem-pl-parser-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8559 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tracker-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8560 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webrtc-audio-processing-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8561 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xdg-desktop-portal-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8562 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dlm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8563 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iscsi-initiator-utils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8564 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iscsi-initiator-utils-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10261 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8565 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-btrfs-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8566 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-crypto-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8567 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-dm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8568 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-fs-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8569 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-kbd-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8570 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-loop-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8571 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-lvm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8572 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-mdraid-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8573 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-mpath-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8574 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-nvdimm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8575 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-part-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8576 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-swap-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8577 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-utils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8578 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-vdo-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8579 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbytesize-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8580 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdmmp-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8581 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhbaapi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8582 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstoragemgmt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8583 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libudisks2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8584 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lldpad-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8585 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ImageMagick-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8586 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ImageMagick-perl", +"repository": "rhel7-optional" +} +], +"set_id": 8587 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ImageMagick", +"repository": "rhel7-optional" +} +], +"set_id": 8588 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ImageMagick-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8589 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ImageMagick-c++-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8590 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ImageMagick-c++", +"repository": "rhel7-optional" +} +], +"set_id": 8591 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libabw-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8592 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libabw-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8593 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libabw-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8594 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcdr-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8595 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcdr-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8596 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcdr-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8597 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfreehand-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8598 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfreehand-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8599 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfreehand-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8600 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmspub-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8601 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmspub-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8602 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmspub-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8603 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmwaw-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8604 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmwaw-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8605 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmwaw-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8606 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liborcus-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8607 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liborcus-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8608 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liborcus-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8609 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpagemaker-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8610 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpagemaker-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8611 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpagemaker-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8612 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstaroffice-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8613 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstaroffice-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8614 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstaroffice-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8615 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzmf-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8616 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzmf-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8617 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzmf-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8618 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcmis-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8619 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcmis-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8620 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libetonyek-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8621 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libetonyek-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8622 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvisio-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8623 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvisio-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8624 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libodfgen-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8625 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librevenge-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8626 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwpd-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8627 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwpg-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8628 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwps-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8629 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qt3d-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8630 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtbase-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8631 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtcanvas3d-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8632 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtconnectivity-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8633 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtdeclarative-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8634 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtgraphicaleffects-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8635 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtimageformats-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8636 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtlocation-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8637 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtmultimedia-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8638 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtquickcontrols-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8639 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtquickcontrols2-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8640 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtscript-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8641 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtsensors-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8642 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtserialbus-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8643 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtsvg-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8644 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qttools-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8645 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwayland-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8646 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwebchannel-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8647 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwebsockets-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8648 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtx11extras-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8649 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtxmlpatterns-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8650 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-gobject", +"repository": "rhel7-base" +} +], +"set_id": 8651 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gobject", +"repository": "rhel8-AppStream" +} +], +"set_id": 8652 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-reportlab", +"repository": "rhel7-base" +} +], +"set_id": 8653 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-reportlab", +"repository": "rhel8-AppStream" +} +], +"set_id": 8654 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-reportlab-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8655 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pycairo-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8656 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-cairo-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 8657 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtserialbus-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8658 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtserialport-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8659 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtenginio-examples", +"repository": "rhel7-optional" +} +], +"set_id": 8660 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtenginio-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8661 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtenginio-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8662 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtenginio", +"repository": "rhel7-optional" +} +], +"set_id": 8663 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rarian-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8664 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libosinfo-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8665 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libosinfo-vala", +"repository": "rhel7-optional" +} +], +"set_id": 8666 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwebp-java", +"repository": "rhel7-optional" +} +], +"set_id": 8667 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwebp-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8668 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mdds-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8669 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redland-mysql", +"repository": "rhel7-optional" +} +], +"set_id": 8670 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redland-pgsql", +"repository": "rhel7-optional" +} +], +"set_id": 8671 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvncpulse", +"repository": "rhel7-optional" +} +], +"set_id": 8672 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvncpulse-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8673 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvnc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8674 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvnc-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8675 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk-vnc2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8676 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-doc-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8677 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-doc-utils-stylesheets", +"repository": "rhel7-optional" +} +], +"set_id": 8678 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libart_lgpl", +"repository": "rhel7-base" +} +], +"set_id": 8679 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-python2-gnome", +"repository": "rhel7-base" +} +], +"set_id": 8680 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-python2", +"repository": "rhel7-base" +} +], +"set_id": 8683 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-python2-bonobo", +"repository": "rhel7-base" +} +], +"set_id": 8684 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-python2-canvas", +"repository": "rhel7-base" +} +], +"set_id": 8685 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-python2-gconf", +"repository": "rhel7-base" +} +], +"set_id": 8686 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-python2-gnomevfs", +"repository": "rhel7-base" +} +], +"set_id": 8687 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyorbit", +"repository": "rhel7-base" +} +], +"set_id": 8688 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libart_lgpl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8689 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-python2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8690 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyorbit-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8691 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-python", +"repository": "rhel7-optional" +} +], +"set_id": 8692 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer-python-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8693 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-matplotlib-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8694 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-matplotlib", +"repository": "rhel7-optional" +} +], +"set_id": 8695 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-matplotlib-tk", +"repository": "rhel7-optional" +} +], +"set_id": 8696 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-matplotlib-qt4", +"repository": "rhel7-optional" +} +], +"set_id": 8697 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "at-spi", +"repository": "rhel7-optional" +} +], +"set_id": 8698 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "at-spi-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8699 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "at-spi-python", +"repository": "rhel7-optional" +} +], +"set_id": 8700 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gconf-editor", +"repository": "rhel7-base" +} +], +"set_id": 8701 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-icon-theme", +"repository": "rhel7-base" +} +], +"set_id": 8702 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-icon-theme-extras", +"repository": "rhel7-base" +} +], +"set_id": 8703 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-icon-theme-legacy", +"repository": "rhel7-base" +} +], +"set_id": 8704 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-icon-theme-symbolic", +"repository": "rhel7-base" +} +], +"set_id": 8705 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-icon-theme-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8706 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbonobo", +"repository": "rhel7-base" +} +], +"set_id": 8707 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbonobo-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8708 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbonoboui", +"repository": "rhel7-base" +} +], +"set_id": 8709 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbonoboui-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8710 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgee06", +"repository": "rhel7-base" +} +], +"set_id": 8711 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgee06-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8712 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnomecanvas", +"repository": "rhel7-base" +} +], +"set_id": 8713 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnomecanvas-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8714 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnome", +"repository": "rhel7-base" +} +], +"set_id": 8715 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnome-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8716 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnomeui", +"repository": "rhel7-base" +} +], +"set_id": 8717 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnomeui-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8718 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzapojit", +"repository": "rhel7-base" +} +], +"set_id": 8719 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzapojit-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8720 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ORBit2", +"repository": "rhel7-base" +} +], +"set_id": 8721 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ORBit2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8722 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vte3", +"repository": "rhel7-base" +} +], +"set_id": 8723 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vte3-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8724 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgepub", +"repository": "rhel7-optional" +} +], +"set_id": 8725 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgepub-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8726 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmx", +"repository": "rhel7-optional" +} +], +"set_id": 8727 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmx-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8728 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmx-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8729 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsexy", +"repository": "rhel7-optional" +} +], +"set_id": 8730 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsexy-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8731 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptlib", +"repository": "rhel7-optional" +} +], +"set_id": 8732 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptlib-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8733 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-qt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8734 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clutter-tests", +"repository": "rhel7-optional" +} +], +"set_id": 8735 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cogl-tests", +"repository": "rhel7-optional" +} +], +"set_id": 8736 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-desktop3-tests", +"repository": "rhel7-optional" +} +], +"set_id": 8737 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk3-tests", +"repository": "rhel7-optional" +} +], +"set_id": 8738 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtksourceview3-tests", +"repository": "rhel7-optional" +} +], +"set_id": 8739 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmediaart-tests", +"repository": "rhel7-optional" +} +], +"set_id": 8740 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flute-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8741 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbase-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8742 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfonts-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8743 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libformula-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8744 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblayout-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8745 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libloader-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8746 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librepository-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8747 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libserializer-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8748 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pentaho-libxml-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8749 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pentaho-reporting-flow-engine-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8751 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sac-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 8752 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8753 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gupnp-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8754 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gupnp-av-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8755 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gupnp-dlna-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8756 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tracker-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8757 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alacarte", +"repository": "rhel7-base" +} +], +"set_id": 8758 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ekiga", +"repository": "rhel7-optional" +} +], +"set_id": 8759 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "folks", +"repository": "rhel7-base" +} +], +"set_id": 8760 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "folks-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8761 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "folks-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8762 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcab", +"repository": "rhel7-optional" +} +], +"set_id": 8763 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-contacts", +"repository": "rhel7-base" +} +], +"set_id": 8764 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-dictionary", +"repository": "rhel7-base" +} +], +"set_id": 8765 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-packagekit", +"repository": "rhel7-base" +} +], +"set_id": 8766 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-packagekit-common", +"repository": "rhel7-base" +} +], +"set_id": 8767 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-packagekit-installer", +"repository": "rhel7-base" +} +], +"set_id": 8768 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-packagekit-updater", +"repository": "rhel7-base" +} +], +"set_id": 8769 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-system-log", +"repository": "rhel7-base" +} +], +"set_id": 8770 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-logs", +"repository": "rhel8-AppStream" +} +], +"set_id": 9286 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnote", +"repository": "rhel7-base" +} +], +"set_id": 8771 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gucharmap", +"repository": "rhel7-base" +} +], +"set_id": 8772 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gucharmap-libs", +"repository": "rhel7-base" +} +], +"set_id": 8773 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gucharmap-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8774 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "seahorse-nautilus", +"repository": "rhel7-base" +} +], +"set_id": 8775 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "seahorse-sharing", +"repository": "rhel7-base" +} +], +"set_id": 8776 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pyatspi", +"repository": "rhel7-base" +} +], +"set_id": 8777 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyatspi", +"repository": "rhel8-AppStream" +} +], +"set_id": 8778 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speech-dispatcher-python", +"repository": "rhel7-base" +} +], +"set_id": 8779 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-speechd", +"repository": "rhel8-AppStream" +} +], +"set_id": 8780 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblouis-python", +"repository": "rhel7-base" +} +], +"set_id": 8781 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-louis", +"repository": "rhel8-AppStream" +} +], +"set_id": 8782 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblouis-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8784 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblouis-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8785 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cairo-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8786 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdparanoia-static", +"repository": "rhel7-optional" +} +], +"set_id": 8787 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "check-static", +"repository": "rhel7-optional" +} +], +"set_id": 8788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "LibRaw-static", +"repository": "rhel7-optional" +} +], +"set_id": 8789 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lcms2-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libexif-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8791 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libexttextcat-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8792 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libimobiledevice-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8793 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-efi-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8794 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gssdp-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8795 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmtp-examples", +"repository": "rhel7-optional" +} +], +"set_id": 8796 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libusbmuxd-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smbios-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8798 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smbios-utils-bin", +"repository": "rhel7-optional" +} +], +"set_id": 8799 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smbios-utils-python", +"repository": "rhel7-optional" +} +], +"set_id": 8800 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbredir-server", +"repository": "rhel7-optional" +} +], +"set_id": 8801 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "v4l-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "v4l-utils-devel-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8803 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qv4l2", +"repository": "rhel7-optional" +} +], +"set_id": 8804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival", +"repository": "rhel7-optional" +} +], +"set_id": 8805 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival-speechtools-libs", +"repository": "rhel7-optional" +} +], +"set_id": 8806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival-speechtools-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8807 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-awb-arctic-hts", +"repository": "rhel7-optional" +} +], +"set_id": 8808 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-bdl-arctic-hts", +"repository": "rhel7-optional" +} +], +"set_id": 8809 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-clb-arctic-hts", +"repository": "rhel7-optional" +} +], +"set_id": 8810 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-jmk-arctic-hts", +"repository": "rhel7-optional" +} +], +"set_id": 8811 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-rms-arctic-hts", +"repository": "rhel7-optional" +} +], +"set_id": 8812 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-slt-arctic-hts", +"repository": "rhel7-optional" +} +], +"set_id": 8813 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-kal-diphone", +"repository": "rhel7-optional" +} +], +"set_id": 8814 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-ked-diphone", +"repository": "rhel7-optional" +} +], +"set_id": 8815 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libchamplain-demos", +"repository": "rhel7-optional" +} +], +"set_id": 8816 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hispavoces-pal-diphone", +"repository": "rhel7-optional" +} +], +"set_id": 8817 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hispavoces-sfl-diphone", +"repository": "rhel7-optional" +} +], +"set_id": 8818 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libimobiledevice-python", +"repository": "rhel7-optional" +} +], +"set_id": 8819 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libofa", +"repository": "rhel7-base" +} +], +"set_id": 8820 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libofa-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8821 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ustr-static", +"repository": "rhel7-optional" +} +], +"set_id": 8823 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ustr-debug", +"repository": "rhel7-optional" +} +], +"set_id": 8824 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ustr-debug-static", +"repository": "rhel7-optional" +} +], +"set_id": 8825 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ustr-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8826 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dapl", +"repository": "rhel7-base" +} +], +"set_id": 8829 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dapl-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dapl-static", +"repository": "rhel7-optional" +} +], +"set_id": 8831 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dapl-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8832 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvma-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8833 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvma-utils", +"repository": "rhel7-optional" +} +], +"set_id": 8834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opensm-static", +"repository": "rhel7-optional" +} +], +"set_id": 8835 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trousers-static", +"repository": "rhel7-optional" +} +], +"set_id": 8836 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opa-libopamgt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8837 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8838 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdv-tools", +"repository": "rhel7-optional" +} +], +"set_id": 8839 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.0-doc", +"repository": "rhel7-base" +} +], +"set_id": 8840 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.0-devel", +"repository": "rhel7-base" +} +], +"set_id": 8841 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.0-psm-devel", +"repository": "rhel7-base" +} +], +"set_id": 8842 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.2-doc", +"repository": "rhel7-base" +} +], +"set_id": 8843 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.2-devel", +"repository": "rhel7-base" +} +], +"set_id": 8844 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.2-psm-devel", +"repository": "rhel7-base" +} +], +"set_id": 8845 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.2-psm2-devel", +"repository": "rhel7-base" +} +], +"set_id": 8846 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich23-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8847 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich23-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8848 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich23-psm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8849 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich23-psm2-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8850 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.0", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.2", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mvapich23", +"repository": "rhel7-base" +} +], +"set_id": 8851 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2", +"repository": "rhel8-AppStream" +} +], +"set_id": 8852 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.0-psm", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.2-psm", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mvapich2-2.2-psm2", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mvapich23-psm", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mvapich23-psm2", +"repository": "rhel7-base" +} +], +"set_id": 8853 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mvapich2-psm2", +"repository": "rhel8-AppStream" +} +], +"set_id": 8854 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich2", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich222", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich23", +"repository": "rhel7-optional" +} +], +"set_id": 8855 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich2", +"repository": "rhel8-AppStream" +} +], +"set_id": 8856 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich222-psm", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich222-psm2", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich23-psm", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich23-psm2", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich2-psm", +"repository": "rhel7-optional" +} +], +"set_id": 8857 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-mvapich2-psm2", +"repository": "rhel8-AppStream" +} +], +"set_id": 8858 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libavc1394-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8859 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openmpi", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "openmpi3", +"repository": "rhel7-base" +} +], +"set_id": 8860 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openmpi", +"repository": "rhel8-AppStream" +} +], +"set_id": 8861 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openmpi3-devel", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "openmpi-devel", +"repository": "rhel7-base" +} +], +"set_id": 8862 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openmpi-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 8863 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich-3.0", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mpich-3.2", +"repository": "rhel7-base" +} +], +"set_id": 8864 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich", +"repository": "rhel8-AppStream" +} +], +"set_id": 8865 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich-3.0-devel", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mpich-3.2-devel", +"repository": "rhel7-base" +} +], +"set_id": 8866 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 8867 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-mpich", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "mpitests-mpich32", +"repository": "rhel7-optional" +} +], +"set_id": 8868 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-mpich", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8869 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich-3.0-autoload", +"repository": "rhel7-optional" +} +], +"set_id": 8870 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich-3.0-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8871 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich-3.2-autoload", +"repository": "rhel7-optional" +} +], +"set_id": 8872 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich-3.2-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8873 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cpuid", +"repository": "rhel7-base" +} +], +"set_id": 8874 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speex", +"repository": "rhel7-base" +} +], +"set_id": 8875 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speex", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "speexdsp", +"repository": "rhel8-AppStream" +} +], +"set_id": 8876 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-openmpi", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "mpitests-openmpi3", +"repository": "rhel7-base" +} +], +"set_id": 8879 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpitests-openmpi", +"repository": "rhel8-AppStream" +} +], +"set_id": 8880 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libX11", +"repository": "rhel7-base" +} +], +"set_id": 8881 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libX11", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libX11-xcb", +"repository": "rhel8-AppStream" +} +], +"set_id": 8882 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libinput", +"repository": "rhel7-base" +} +], +"set_id": 8883 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libinput", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libinput-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 8884 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk-vnc", +"repository": "rhel7-optional" +} +], +"set_id": 8885 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk-vnc-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8886 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk-vnc-python", +"repository": "rhel7-optional" +} +], +"set_id": 8887 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pygtk2-libglade", +"repository": "rhel7-base" +} +], +"set_id": 8888 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hsakmt", +"repository": "rhel7-base" +} +], +"set_id": 8889 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hsakmt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8890 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 8891 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 8892 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 8893 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 8894 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire", +"repository": "rhel8-AppStream" +} +], +"set_id": 8895 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spirv-tools-libs", +"repository": "rhel8-CRB" +} +], +"set_id": 8896 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs24-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8897 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs24", +"repository": "rhel7-base" +} +], +"set_id": 8898 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmsn", +"repository": "rhel7-base" +} +], +"set_id": 8899 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmsn-devel", +"repository": "rhel7-optional" +} +], +"set_id": 8900 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "optipng", +"repository": "rhel7-optional" +} +], +"set_id": 8901 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redland-virtuoso", +"repository": "rhel7-base" +} +], +"set_id": 8902 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5770, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-bookmarks", +"repository": "rhel7-base" +} +], +"set_id": 8903 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "taglib-doc", +"repository": "rhel7-optional" +} +], +"set_id": 8904 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mono-icon-theme", +"repository": "rhel7-optional" +} +], +"set_id": 8905 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nuvola-icon-theme", +"repository": "rhel7-optional" +} +], +"set_id": 8906 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "polkit", +"repository": "rhel7-base" +} +], +"set_id": 8907 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "polkit", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "polkit-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8908 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk3-devel-docs", +"repository": "rhel7-optional" +} +], +"set_id": 8909 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk3-immodules", +"repository": "rhel7-optional" +} +], +"set_id": 8910 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-documents-libs", +"repository": "rhel7-optional" +} +], +"set_id": 8911 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "colord-extra-profiles", +"repository": "rhel7-optional" +} +], +"set_id": 8912 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgnome-keyring-devel", +"repository": "rhel7-base" +} +], +"set_id": 8913 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappstream-glib-builder", +"repository": "rhel7-optional" +} +], +"set_id": 8914 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libplist-python", +"repository": "rhel7-optional" +} +], +"set_id": 8915 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpurple-perl", +"repository": "rhel7-optional" +} +], +"set_id": 8916 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpurple-tcl", +"repository": "rhel7-optional" +} +], +"set_id": 8917 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-session", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "gnome-session-custom-session", +"repository": "rhel7-optional" +} +], +"set_id": 8918 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-session", +"repository": "rhel8-AppStream" +} +], +"set_id": 8919 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pidgin-perl", +"repository": "rhel7-optional" +} +], +"set_id": 8922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libusb-static", +"repository": "rhel7-optional" +} +], +"set_id": 8923 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librsvg2-tools", +"repository": "rhel7-base" +} +], +"set_id": 8924 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-gexiv2", +"repository": "rhel7-optional" +} +], +"set_id": 8925 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-af", +"repository": "rhel8-AppStream" +} +], +"set_id": 8926 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ar", +"repository": "rhel8-AppStream" +} +], +"set_id": 8927 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-as", +"repository": "rhel8-AppStream" +} +], +"set_id": 8928 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-bg", +"repository": "rhel8-AppStream" +} +], +"set_id": 8929 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-bn", +"repository": "rhel8-AppStream" +} +], +"set_id": 8930 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-br", +"repository": "rhel8-AppStream" +} +], +"set_id": 8931 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 8932 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-cs", +"repository": "rhel8-AppStream" +} +], +"set_id": 8933 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-cy", +"repository": "rhel8-AppStream" +} +], +"set_id": 8934 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-da", +"repository": "rhel8-AppStream" +} +], +"set_id": 8935 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-de", +"repository": "rhel8-AppStream" +} +], +"set_id": 8936 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-dz", +"repository": "rhel8-AppStream" +} +], +"set_id": 8937 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-el", +"repository": "rhel8-AppStream" +} +], +"set_id": 8938 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 8939 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-es", +"repository": "rhel8-AppStream" +} +], +"set_id": 8940 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-et", +"repository": "rhel8-AppStream" +} +], +"set_id": 8941 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-eu", +"repository": "rhel8-AppStream" +} +], +"set_id": 8942 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-fa", +"repository": "rhel8-AppStream" +} +], +"set_id": 8943 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-fi", +"repository": "rhel8-AppStream" +} +], +"set_id": 8944 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-fr", +"repository": "rhel8-AppStream" +} +], +"set_id": 8945 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5809, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ga", +"repository": "rhel8-AppStream" +} +], +"set_id": 8946 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-gl", +"repository": "rhel8-AppStream" +} +], +"set_id": 8947 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-gu", +"repository": "rhel8-AppStream" +} +], +"set_id": 8948 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5812, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-he", +"repository": "rhel8-AppStream" +} +], +"set_id": 8949 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-hi", +"repository": "rhel8-AppStream" +} +], +"set_id": 8950 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-hr", +"repository": "rhel8-AppStream" +} +], +"set_id": 8951 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-hu", +"repository": "rhel8-AppStream" +} +], +"set_id": 8952 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5816, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-id", +"repository": "rhel8-AppStream" +} +], +"set_id": 8953 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-it", +"repository": "rhel8-AppStream" +} +], +"set_id": 8954 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ml", +"repository": "rhel8-AppStream" +} +], +"set_id": 8955 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ja", +"repository": "rhel8-AppStream" +} +], +"set_id": 8956 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-kk", +"repository": "rhel8-AppStream" +} +], +"set_id": 8957 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-kn", +"repository": "rhel8-AppStream" +} +], +"set_id": 8958 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ko", +"repository": "rhel8-AppStream" +} +], +"set_id": 8959 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-nso", +"repository": "rhel8-AppStream" +} +], +"set_id": 8960 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5824, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-lt", +"repository": "rhel8-AppStream" +} +], +"set_id": 8961 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5825, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-lv", +"repository": "rhel8-AppStream" +} +], +"set_id": 8962 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5826, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-mai", +"repository": "rhel8-AppStream" +} +], +"set_id": 8963 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-mr", +"repository": "rhel8-AppStream" +} +], +"set_id": 8964 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5828, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-nb", +"repository": "rhel8-AppStream" +} +], +"set_id": 8965 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5829, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-nl", +"repository": "rhel8-AppStream" +} +], +"set_id": 8966 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-nn", +"repository": "rhel8-AppStream" +} +], +"set_id": 8967 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-nr", +"repository": "rhel8-AppStream" +} +], +"set_id": 8968 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5832, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-or", +"repository": "rhel8-AppStream" +} +], +"set_id": 8969 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-pl", +"repository": "rhel8-AppStream" +} +], +"set_id": 8970 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-pa", +"repository": "rhel8-AppStream" +} +], +"set_id": 8971 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-pt-BR", +"repository": "rhel8-AppStream" +} +], +"set_id": 8972 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5836, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-pt-PT", +"repository": "rhel8-AppStream" +} +], +"set_id": 8973 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5837, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ro", +"repository": "rhel8-AppStream" +} +], +"set_id": 8974 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ru", +"repository": "rhel8-AppStream" +} +], +"set_id": 8975 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-si", +"repository": "rhel8-AppStream" +} +], +"set_id": 8976 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-sk", +"repository": "rhel8-AppStream" +} +], +"set_id": 8977 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-sl", +"repository": "rhel8-AppStream" +} +], +"set_id": 8978 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-sr", +"repository": "rhel8-AppStream" +} +], +"set_id": 8979 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-tr", +"repository": "rhel8-AppStream" +} +], +"set_id": 8980 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5844, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ss", +"repository": "rhel8-AppStream" +} +], +"set_id": 8981 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5845, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-st", +"repository": "rhel8-AppStream" +} +], +"set_id": 8982 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-sv", +"repository": "rhel8-AppStream" +} +], +"set_id": 8983 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ta", +"repository": "rhel8-AppStream" +} +], +"set_id": 8984 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5848, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-te", +"repository": "rhel8-AppStream" +} +], +"set_id": 8985 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5849, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-th", +"repository": "rhel8-AppStream" +} +], +"set_id": 8986 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-tn", +"repository": "rhel8-AppStream" +} +], +"set_id": 8987 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ts", +"repository": "rhel8-AppStream" +} +], +"set_id": 8988 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5852, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-uk", +"repository": "rhel8-AppStream" +} +], +"set_id": 8989 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5853, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-ve", +"repository": "rhel8-AppStream" +} +], +"set_id": 8990 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-xh", +"repository": "rhel8-AppStream" +} +], +"set_id": 8991 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-zh-Hans", +"repository": "rhel8-AppStream" +} +], +"set_id": 8992 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5856, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-zh-Hant", +"repository": "rhel8-AppStream" +} +], +"set_id": 8993 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-zu", +"repository": "rhel8-AppStream" +} +], +"set_id": 8994 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5858, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-logos", +"repository": "rhel7-base" +} +], +"set_id": 8995 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-backgrounds", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "redhat-logos", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "redhat-logos-httpd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 8996 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5859, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-logos-ipa", +"repository": "rhel8-AppStream" +} +], +"set_id": 8997 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5860, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tracker", +"repository": "rhel7-base" +} +], +"set_id": 8998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tracker", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "tracker-miners", +"repository": "rhel8-AppStream" +} +], +"set_id": 8999 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5861, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speech-dispatcher", +"repository": "rhel7-base" +} +], +"set_id": 9000 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speech-dispatcher", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "speech-dispatcher-espeak-ng", +"repository": "rhel8-AppStream" +} +], +"set_id": 9001 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tracker-needle", +"repository": "rhel7-optional" +} +], +"set_id": 9002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tracker-preferences", +"repository": "rhel7-optional" +} +], +"set_id": 9003 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5864, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "syslinux-perl", +"repository": "rhel7-optional" +} +], +"set_id": 9004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5865, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "satyr-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9005 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "satyr-python", +"repository": "rhel7-optional" +} +], +"set_id": 9006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnuplot-latex", +"repository": "rhel7-optional" +} +], +"set_id": 9007 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5868, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnuplot-minimal", +"repository": "rhel7-optional" +} +], +"set_id": 9008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5869, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmatchbox-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9009 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fltk-fluid", +"repository": "rhel7-optional" +} +], +"set_id": 9010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-gnuplot-el", +"repository": "rhel7-optional" +} +], +"set_id": 9011 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-gnuplot", +"repository": "rhel7-optional" +} +], +"set_id": 9012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeradius-python", +"repository": "rhel7-optional" +} +], +"set_id": 9013 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "anaconda-widgets-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtimezonemap-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9015 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-kitchen-doc", +"repository": "rhel7-optional" +} +], +"set_id": 9016 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-kitchen", +"repository": "rhel7-base" +} +], +"set_id": 9017 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt", +"repository": "rhel7-rt" +} +], +"set_id": 9018 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt", +"repository": "rhel8-RT" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-rt-core", +"repository": "rhel8-RT" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-rt-modules", +"repository": "rhel8-RT" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-rt-modules-extra", +"repository": "rhel8-RT" +} +], +"set_id": 9019 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt-debug", +"repository": "rhel7-rt" +} +], +"set_id": 9020 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt-debug", +"repository": "rhel8-RT" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-rt-debug-core", +"repository": "rhel8-RT" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-rt-debug-modules", +"repository": "rhel8-RT" +}, +{ +"modulestreams": [ +null +], +"name": "kernel-rt-debug-modules-extra", +"repository": "rhel8-RT" +} +], +"set_id": 9021 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-ntplib", +"repository": "rhel7-base" +} +], +"set_id": 9022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ntplib", +"repository": "rhel8-AppStream" +} +], +"set_id": 9023 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rtcheck", +"repository": "rhel7-rt" +} +], +"set_id": 9024 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sip", +"repository": "rhel7-base" +} +], +"set_id": 9025 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyqt5-sip", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-sip", +"repository": "rhel8-AppStream" +} +], +"set_id": 9026 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-qt5-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9027 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-qt5-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 9028 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-qt5-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 9029 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-qt5", +"repository": "rhel8-AppStream" +} +], +"set_id": 9030 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-srpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 9031 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 9032 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9033 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice", +"repository": "rhel7-optional" +} +], +"set_id": 9034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-bsh", +"repository": "rhel7-optional" +} +], +"set_id": 9035 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-glade", +"repository": "rhel7-optional" +} +], +"set_id": 9037 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-librelogo", +"repository": "rhel7-optional" +} +], +"set_id": 9038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-nlpsolver", +"repository": "rhel7-optional" +} +], +"set_id": 9039 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-officebean", +"repository": "rhel7-optional" +} +], +"set_id": 9040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-officebean-common", +"repository": "rhel7-optional" +} +], +"set_id": 9041 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-postgresql", +"repository": "rhel7-optional" +} +], +"set_id": 9042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-rhino", +"repository": "rhel7-optional" +} +], +"set_id": 9043 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-qt5-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9044 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-qt5", +"repository": "rhel8-CRB" +} +], +"set_id": 9045 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-backgrounds", +"repository": "rhel7-optional" +} +], +"set_id": 9046 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-backgrounds", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "gnome-backgrounds-extras", +"repository": "rhel8-AppStream" +} +], +"set_id": 9047 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shim-unsigned-x64", +"repository": "rhel7-base" +} +], +"set_id": 9048 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shim-unsigned-ia32", +"repository": "rhel7-base" +} +], +"set_id": 9049 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-smbios", +"repository": "rhel7-optional" +} +], +"set_id": 9050 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-gpod", +"repository": "rhel7-optional" +} +], +"set_id": 9051 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grub2-ppc-modules", +"repository": "rhel7-optional" +} +], +"set_id": 9052 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grub2-ppc64-modules", +"repository": "rhel7-optional" +} +], +"set_id": 9053 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt-trace", +"repository": "rhel7-rt" +} +], +"set_id": 9054 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt-trace-kvm", +"repository": "rhel7-rt" +} +], +"set_id": 9055 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt-trace-devel", +"repository": "rhel7-rt" +} +], +"set_id": 9056 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt-doc", +"repository": "rhel7-rt" +} +], +"set_id": 9057 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iwl7260-firmware", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "iwl7265-firmware", +"repository": "rhel7-base" +} +], +"set_id": 9058 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iwl7260-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9059 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kmod-oracleasm", +"repository": "rhel7-base" +} +], +"set_id": 9060 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-common", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "emacs-el", +"repository": "rhel7-optional" +} +], +"set_id": 9061 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 9062 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "coreutils", +"repository": "rhel7-base" +} +], +"set_id": 9063 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "coreutils", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "coreutils-common", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9064 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "coreutils-single", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9065 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libusal-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9066 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "procps-ng-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9067 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-boto3", +"repository": "rhel7-base" +} +], +"set_id": 9068 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-boto3", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9069 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-clufter", +"repository": "rhel7-highavailability" +} +], +"set_id": 9070 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-clufter", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9071 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-common", +"repository": "rhel7-highavailability" +} +], +"set_id": 9072 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-common", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9073 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-lib-ccs", +"repository": "rhel7-highavailability" +} +], +"set_id": 9074 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-lib-ccs", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9075 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-lib-general", +"repository": "rhel7-highavailability" +} +], +"set_id": 9076 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-lib-general", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9077 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-lib-pcs", +"repository": "rhel7-highavailability" +} +], +"set_id": 9078 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-lib-pcs", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9079 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-cli", +"repository": "rhel7-highavailability" +} +], +"set_id": 9080 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-cli", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9081 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-bin", +"repository": "rhel7-highavailability" +} +], +"set_id": 9082 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clufter-bin", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9083 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-jwt", +"repository": "rhel7-highavailability" +} +], +"set_id": 9084 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jwt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9085 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-s3transfer", +"repository": "rhel7-base" +} +], +"set_id": 9086 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-botocore", +"repository": "rhel8-HighAvailability" +}, +{ +"modulestreams": [ +null +], +"name": "python3-jmespath", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-s3transfer", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9087 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5930, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-blockdev", +"repository": "rhel7-base" +} +], +"set_id": 9088 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-blockdev", +"repository": "rhel8-AppStream" +} +], +"set_id": 9089 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-bytesize", +"repository": "rhel7-optional" +} +], +"set_id": 9090 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-bytesize", +"repository": "rhel8-AppStream" +} +], +"set_id": 9091 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstoragemgmt-python", +"repository": "rhel7-base" +} +], +"set_id": 9092 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libstoragemgmt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9093 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstoragemgmt-python-clibs", +"repository": "rhel7-base" +} +], +"set_id": 9094 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libstoragemgmt-clibs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9095 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm", +"repository": "rhel7-base" +} +], +"set_id": 9096 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-curl", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-gluster", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-iscsi", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-rbd", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-ssh", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 9097 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64" +], +"id": 5935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-rhev", +"repository": "rhel7-rhevh" +} +], +"set_id": 9098 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 9099 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-img-rhev", +"repository": "rhel7-rhevh" +} +], +"set_id": 9100 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-img", +"repository": "rhel8-AppStream" +} +], +"set_id": 9101 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-common-rhev", +"repository": "rhel7-rhevh" +} +], +"set_id": 9102 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 9103 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-ma", +"repository": "rhel7-base" +} +], +"set_id": 9104 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-block-curl", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-block-gluster", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-block-iscsi", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-block-rbd", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-block-ssh", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 9105 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-img-ma", +"repository": "rhel7-base" +} +], +"set_id": 9106 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-img", +"repository": "rhel8-AppStream" +} +], +"set_id": 9107 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-common-ma", +"repository": "rhel7-base" +} +], +"set_id": 9108 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 9109 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-tests", +"repository": "rhel8-CRB" +} +], +"set_id": 9110 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-plugin-xz", +"repository": "rhel8-AppStream" +} +], +"set_id": 9111 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-bash-completion", +"repository": "rhel8-AppStream" +} +], +"set_id": 9112 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-plugin-gzip", +"repository": "rhel8-AppStream" +} +], +"set_id": 9113 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk3", +"repository": "rhel7-base" +} +], +"set_id": 9114 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "spice-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 9115 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenIPMI-python", +"repository": "rhel7-optional" +} +], +"set_id": 9116 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-openipmi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9117 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenIPMI", +"repository": "rhel7-base" +} +], +"set_id": 9118 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenIPMI", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "OpenIPMI-lanserv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9119 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-php", +"repository": "rhel7-optional" +} +], +"set_id": 9120 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "edac-utils", +"repository": "rhel7-base" +} +], +"set_id": 9121 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rasdaemon", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9122 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "edac-utils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9123 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ivtv-firmware", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "linux-firmware", +"repository": "rhel7-base" +} +], +"set_id": 9124 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "linux-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9125 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atlas-corei2-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9126 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atlas-corei2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9127 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "util-linux", +"repository": "rhel7-base" +} +], +"set_id": 9128 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "util-linux", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "util-linux-user", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9129 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfdisk-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9130 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfdisk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9131 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pacemaker-cli", +"repository": "rhel7-highavailability" +} +], +"set_id": 9134 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pacemaker-cli", +"repository": "rhel8-HighAvailability" +}, +{ +"modulestreams": [ +null +], +"name": "pacemaker-schemas", +"repository": "rhel8-AppStream" +} +], +"set_id": 9135 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-journal-gateway", +"repository": "rhel7-optional" +} +], +"set_id": 9136 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-journal-remote", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9137 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-networkd", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "systemd-resolved", +"repository": "rhel7-optional" +} +], +"set_id": 9138 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9139 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd", +"repository": "rhel7-base" +} +], +"set_id": 9141 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "systemd-container", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "systemd-udev", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "timedatex", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9142 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-libs", +"repository": "rhel7-base" +} +], +"set_id": 9143 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-libs", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "systemd-pam", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9144 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-tests", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9145 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcurl-minimal", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9146 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-supplemental", +"repository": "rhel7-optional" +} +], +"set_id": 9149 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-trialuse", +"repository": "rhel7-optional" +} +], +"set_id": 9150 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dracut-fips-aesni", +"repository": "rhel7-base" +} +], +"set_id": 9153 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-lucid", +"repository": "rhel8-AppStream" +} +], +"set_id": 9154 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "syslinux", +"repository": "rhel7-base" +} +], +"set_id": 9155 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "syslinux", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "syslinux-nonlinux", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9156 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "syslinux-extlinux", +"repository": "rhel7-base" +} +], +"set_id": 9157 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "syslinux-extlinux", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "syslinux-extlinux-nonlinux", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9158 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64" +], +"id": 5970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grub2-tools", +"repository": "rhel7-base" +} +], +"set_id": 9159 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grub2-tools", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "grub2-tools-efi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9160 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nagios-plugins-bacula", +"repository": "rhel7-optional" +} +], +"set_id": 9161 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-volume_key", +"repository": "rhel7-base" +} +], +"set_id": 9162 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "teckit-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9163 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Compress-Bzip2", +"repository": "rhel8-AppStream" +} +], +"set_id": 9166 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Config-Perl-V", +"repository": "rhel8-AppStream" +} +], +"set_id": 9167 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPAN-DistnameInfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 9168 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-CPAN-Meta-Check", +"repository": "rhel8-AppStream" +} +], +"set_id": 9169 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-Dump", +"repository": "rhel8-AppStream" +} +], +"set_id": 9170 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Data-Section", +"repository": "rhel8-AppStream" +} +], +"set_id": 9171 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Devel-Size", +"repository": "rhel8-AppStream" +} +], +"set_id": 9172 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-experimental", +"repository": "rhel8-AppStream" +} +], +"set_id": 9173 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Fedora-VSP", +"repository": "rhel8-AppStream" +} +], +"set_id": 9174 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-generators", +"repository": "rhel8-AppStream" +} +], +"set_id": 9175 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-inc-latest", +"repository": "rhel8-AppStream" +} +], +"set_id": 9176 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-IPC-System-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 9177 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 5987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-libnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 9178 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Module-CoreList-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 9179 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-Module-CPANfile", +"repository": "rhel8-AppStream" +} +], +"set_id": 9180 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-NTLM", +"repository": "rhel8-AppStream" +} +], +"set_id": 9181 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-Parse-PMFile", +"repository": "rhel8-AppStream" +} +], +"set_id": 9182 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Software-License", +"repository": "rhel8-AppStream" +} +], +"set_id": 9183 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Text-Template", +"repository": "rhel8-AppStream" +} +], +"set_id": 9184 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unix-Syslog", +"repository": "rhel8-AppStream" +} +], +"set_id": 9185 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-AnyEvent", +"repository": "rhel8-CRB" +} +], +"set_id": 9186 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-B-Hooks-EndOfScope", +"repository": "rhel8-CRB" +} +], +"set_id": 9187 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Canary-Stability", +"repository": "rhel8-CRB" +} +], +"set_id": 9188 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Factory-Util", +"repository": "rhel8-CRB" +} +], +"set_id": 9189 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 5999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Method-Modifiers", +"repository": "rhel8-CRB" +} +], +"set_id": 9190 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Tiny", +"repository": "rhel8-CRB" +} +], +"set_id": 9191 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-XSAccessor", +"repository": "rhel8-CRB" +} +], +"set_id": 9192 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-common-sense", +"repository": "rhel8-CRB" +} +], +"set_id": 9193 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Config-AutoConf", +"repository": "rhel8-CRB" +} +], +"set_id": 9194 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-UUID", +"repository": "rhel8-CRB" +} +], +"set_id": 9195 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Date-ISO8601", +"repository": "rhel8-CRB" +} +], +"set_id": 9196 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Format-Builder", +"repository": "rhel8-CRB" +} +], +"set_id": 9197 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Format-HTTP", +"repository": "rhel8-CRB" +} +], +"set_id": 9198 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Format-ISO8601", +"repository": "rhel8-CRB" +} +], +"set_id": 9199 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Format-Mail", +"repository": "rhel8-CRB" +} +], +"set_id": 9200 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Format-Strptime", +"repository": "rhel8-CRB" +} +], +"set_id": 9201 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-TimeZone-SystemV", +"repository": "rhel8-CRB" +} +], +"set_id": 9202 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-TimeZone-Tzfile", +"repository": "rhel8-CRB" +} +], +"set_id": 9203 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-CallChecker", +"repository": "rhel8-CRB" +} +], +"set_id": 9204 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Caller", +"repository": "rhel8-CRB" +} +], +"set_id": 9205 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-GlobalDestruction", +"repository": "rhel8-CRB" +} +], +"set_id": 9206 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-LexAlias", +"repository": "rhel8-CRB" +} +], +"set_id": 9207 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-CRC", +"repository": "rhel8-CRB" +} +], +"set_id": 9208 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DynaLoader-Functions", +"repository": "rhel8-CRB" +} +], +"set_id": 9209 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Eval-Closure", +"repository": "rhel8-CRB" +} +], +"set_id": 9210 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Exporter-Tiny", +"repository": "rhel8-CRB" +} +], +"set_id": 9211 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-BaseDir", +"repository": "rhel8-CRB" +} +], +"set_id": 9212 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-chdir", +"repository": "rhel8-CRB" +} +], +"set_id": 9213 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-DesktopEntry", +"repository": "rhel8-CRB" +} +], +"set_id": 9214 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Find-Object", +"repository": "rhel8-CRB" +} +], +"set_id": 9215 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-MimeInfo", +"repository": "rhel8-CRB" +} +], +"set_id": 9216 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-ReadBackwards", +"repository": "rhel8-CRB" +} +], +"set_id": 9217 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Importer", +"repository": "rhel8-CRB" +} +], +"set_id": 9218 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Import-Into", +"repository": "rhel8-CRB" +} +], +"set_id": 9219 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-All", +"repository": "rhel8-CRB" +} +], +"set_id": 9220 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-JSON-XS", +"repository": "rhel8-CRB" +} +], +"set_id": 9221 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-List-MoreUtils-XS", +"repository": "rhel8-CRB" +} +], +"set_id": 9222 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-MIME-Charset", +"repository": "rhel8-CRB" +} +], +"set_id": 9223 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-MIME-Types", +"repository": "rhel8-CRB" +} +], +"set_id": 9224 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Install-AuthorTests", +"repository": "rhel8-CRB" +} +], +"set_id": 9225 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Install-ReadmeFromPod", +"repository": "rhel8-CRB" +} +], +"set_id": 9226 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-namespace-autoclean", +"repository": "rhel8-CRB" +} +], +"set_id": 9227 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-namespace-clean", +"repository": "rhel8-CRB" +} +], +"set_id": 9228 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Params-Classify", +"repository": "rhel8-CRB" +} +], +"set_id": 9229 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Params-ValidationCompiler", +"repository": "rhel8-CRB" +} +], +"set_id": 9230 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Path-Tiny", +"repository": "rhel8-CRB" +} +], +"set_id": 9231 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Perl-Destruct-Level", +"repository": "rhel8-CRB" +} +], +"set_id": 9232 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PerlIO-utf8_strict", +"repository": "rhel8-CRB" +} +], +"set_id": 9233 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Markdown", +"repository": "rhel8-CRB" +} +], +"set_id": 9234 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Ref-Util", +"repository": "rhel8-CRB" +} +], +"set_id": 9235 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Ref-Util-XS", +"repository": "rhel8-CRB" +} +], +"set_id": 9236 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Role-Tiny", +"repository": "rhel8-CRB" +} +], +"set_id": 9237 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Scope-Guard", +"repository": "rhel8-CRB" +} +], +"set_id": 9238 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Specio", +"repository": "rhel8-CRB" +} +], +"set_id": 9239 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sub-Exporter-Progressive", +"repository": "rhel8-CRB" +} +], +"set_id": 9240 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sub-Identify", +"repository": "rhel8-CRB" +} +], +"set_id": 9241 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sub-Info", +"repository": "rhel8-CRB" +} +], +"set_id": 9242 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-SUPER", +"repository": "rhel8-CRB" +} +], +"set_id": 9243 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Size-Any", +"repository": "rhel8-CRB" +} +], +"set_id": 9244 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Size-Perl", +"repository": "rhel8-CRB" +} +], +"set_id": 9245 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Table", +"repository": "rhel8-CRB" +} +], +"set_id": 9246 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test2-Suite", +"repository": "rhel8-CRB" +} +], +"set_id": 9247 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-LongString", +"repository": "rhel8-CRB" +} +], +"set_id": 9248 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Warnings", +"repository": "rhel8-CRB" +} +], +"set_id": 9249 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Types-Serialiser", +"repository": "rhel8-CRB" +} +], +"set_id": 9250 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-LineBreak", +"repository": "rhel8-CRB" +} +], +"set_id": 9251 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-UTF8", +"repository": "rhel8-CRB" +} +], +"set_id": 9252 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Variable-Magic", +"repository": "rhel8-CRB" +} +], +"set_id": 9253 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-YAML-LibYAML", +"repository": "rhel8-CRB" +} +], +"set_id": 9254 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables", +"repository": "rhel7-base" +} +], +"set_id": 9255 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "iptables-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9256 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isomd5sum-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9257 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-isomd5sum", +"repository": "rhel7-optional" +} +], +"set_id": 9258 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "snapper-libs", +"repository": "rhel7-optional" +} +], +"set_id": 9259 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "snapper-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9260 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam_snapper", +"repository": "rhel7-optional" +} +], +"set_id": 9261 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dtdinst", +"repository": "rhel7-optional" +} +], +"set_id": 9263 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jing", +"repository": "rhel7-optional" +} +], +"set_id": 9264 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jing-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 9265 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trang", +"repository": "rhel7-optional" +} +], +"set_id": 9266 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gupnp-igd-python", +"repository": "rhel7-base" +} +], +"set_id": 9267 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opal-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9268 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opal", +"repository": "rhel7-optional" +} +], +"set_id": 9269 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vigra", +"repository": "rhel7-optional" +} +], +"set_id": 9270 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vigra-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9271 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "finch", +"repository": "rhel7-optional" +} +], +"set_id": 9272 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival-lib", +"repository": "rhel7-base" +} +], +"set_id": 9273 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival-freebsoft-utils", +"repository": "rhel7-base" +} +], +"set_id": 9274 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PackageKit-yum-plugin", +"repository": "rhel7-optional" +} +], +"set_id": 9277 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PyOpenGL", +"repository": "rhel7-optional" +} +], +"set_id": 9278 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "PyOpenGL-Tk", +"repository": "rhel7-optional" +} +], +"set_id": 9279 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "enca", +"repository": "rhel8-CRB" +} +], +"set_id": 9280 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "enca-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9281 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "enchant2", +"repository": "rhel8-AppStream" +} +], +"set_id": 9282 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "enchant2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9283 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gfbgraph", +"repository": "rhel8-AppStream" +} +], +"set_id": 9284 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-autoar", +"repository": "rhel8-AppStream" +} +], +"set_id": 9285 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-remote-desktop", +"repository": "rhel8-AppStream" +} +], +"set_id": 9287 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdazzle", +"repository": "rhel8-AppStream" +} +], +"set_id": 9288 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libqxp", +"repository": "rhel8-AppStream" +} +], +"set_id": 9289 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeot", +"repository": "rhel8-CRB" +} +], +"set_id": 9290 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libepubgen", +"repository": "rhel8-AppStream" +} +], +"set_id": 9291 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brotli", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9292 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brotli-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9293 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "woff2", +"repository": "rhel8-AppStream" +} +], +"set_id": 9294 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-expat", +"repository": "rhel8-AppStream" +} +], +"set_id": 9295 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-json", +"repository": "rhel8-AppStream" +} +], +"set_id": 9296 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-lpeg", +"repository": "rhel8-AppStream" +} +], +"set_id": 9297 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-socket", +"repository": "rhel8-AppStream" +} +], +"set_id": 9298 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-lunit", +"repository": "rhel8-CRB" +} +], +"set_id": 9299 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-posix", +"repository": "rhel8-CRB" +} +], +"set_id": 9300 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-filesystem", +"repository": "rhel8-CRB" +} +], +"set_id": 9301 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyxdg", +"repository": "rhel8-AppStream" +} +], +"set_id": 9302 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook2X", +"repository": "rhel8-CRB" +} +], +"set_id": 9303 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-composer", +"repository": "rhel7-extras" +} +], +"set_id": 9304 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-composer", +"repository": "rhel8-AppStream" +} +], +"set_id": 9305 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-dashboard", +"repository": "rhel7-extras" +} +], +"set_id": 9306 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-dashboard", +"repository": "rhel8-AppStream" +} +], +"set_id": 9307 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-machines", +"repository": "rhel7-extras" +} +], +"set_id": 9308 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-machines", +"repository": "rhel8-AppStream" +} +], +"set_id": 9309 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-packagekit", +"repository": "rhel7-extras" +} +], +"set_id": 9310 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-packagekit", +"repository": "rhel8-AppStream" +} +], +"set_id": 9311 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-pcp", +"repository": "rhel7-extras" +} +], +"set_id": 9312 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 9313 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-storaged", +"repository": "rhel7-extras" +} +], +"set_id": 9314 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-storaged", +"repository": "rhel8-AppStream" +} +], +"set_id": 9315 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-machines-ovirt", +"repository": "rhel7-optional" +} +], +"set_id": 9316 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis12", +"repository": "rhel7-optional" +} +], +"set_id": 9317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis12-manual", +"repository": "rhel7-optional" +} +], +"set_id": 9318 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis12-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 9319 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libisoburn", +"repository": "rhel8-AppStream" +} +], +"set_id": 9320 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libisoburn-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9321 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-sd8686-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9322 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-sd8787-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9323 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-usb8388-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9324 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-usb8388-olpc-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9325 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"x86_64" +], +"id": 6124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grub2-common", +"repository": "rhel7-base" +} +], +"set_id": 9326 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "efi-filesystem", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "grub2-common", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9327 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "efi-srpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 9328 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-en-US", +"repository": "rhel7-base" +} +], +"set_id": 9329 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-as-IN", +"repository": "rhel7-base" +} +], +"set_id": 9330 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-bn-IN", +"repository": "rhel7-base" +} +], +"set_id": 9331 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-de-DE", +"repository": "rhel7-base" +} +], +"set_id": 9332 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-es-ES", +"repository": "rhel7-base" +} +], +"set_id": 9333 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-fr-FR", +"repository": "rhel7-base" +} +], +"set_id": 9334 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-gu-IN", +"repository": "rhel7-base" +} +], +"set_id": 9335 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-hi-IN", +"repository": "rhel7-base" +} +], +"set_id": 9336 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-it-IT", +"repository": "rhel7-base" +} +], +"set_id": 9337 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-ja-JP", +"repository": "rhel7-base" +} +], +"set_id": 9338 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-kn-IN", +"repository": "rhel7-base" +} +], +"set_id": 9339 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-ko-KR", +"repository": "rhel7-base" +} +], +"set_id": 9340 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-ml-IN", +"repository": "rhel7-base" +} +], +"set_id": 9341 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-mr-IN", +"repository": "rhel7-base" +} +], +"set_id": 9342 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-or-IN", +"repository": "rhel7-base" +} +], +"set_id": 9343 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-pa-IN", +"repository": "rhel7-base" +} +], +"set_id": 9344 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-pt-BR", +"repository": "rhel7-base" +} +], +"set_id": 9345 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-ru-RU", +"repository": "rhel7-base" +} +], +"set_id": 9346 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-ta-IN", +"repository": "rhel7-base" +} +], +"set_id": 9347 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-te-IN", +"repository": "rhel7-base" +} +], +"set_id": 9348 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-zh-CN", +"repository": "rhel7-base" +} +], +"set_id": 9349 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Red_Hat_Enterprise_Linux-Release_Notes-7-zh-TW", +"repository": "rhel7-base" +} +], +"set_id": 9350 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-keyboard-base", +"repository": "rhel7-base" +} +], +"set_id": 9351 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crda-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9352 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiec61883-utils", +"repository": "rhel7-optional" +} +], +"set_id": 9353 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "powerpc-utils-python", +"repository": "rhel7-base" +} +], +"set_id": 9354 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oscilloscope", +"repository": "rhel7-optional" +} +], +"set_id": 9355 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-Telnet", +"repository": "rhel7-optional" +} +], +"set_id": 9356 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "go-compilers-golang-compiler", +"repository": "rhel8-CRB" +} +], +"set_id": 9357 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-race", +"repository": "rhel8-AppStream" +} +], +"set_id": 9358 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cryptsetup-python", +"repository": "rhel7-base" +} +], +"set_id": 9359 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fence-agents-lpar", +"repository": "rhel7-base" +} +], +"set_id": 9360 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fence-agents-lpar", +"repository": "rhel8-AppStream" +} +], +"set_id": 9361 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fence-agents-zvm", +"repository": "rhel7-base" +} +], +"set_id": 9362 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fence-agents-zvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 9363 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-lib", +"repository": "rhel7-base" +} +], +"set_id": 9364 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-el-2.2-api", +"repository": "rhel7-base" +} +], +"set_id": 9365 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-jsp-2.2-api", +"repository": "rhel7-base" +} +], +"set_id": 9366 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-servlet-container", +"repository": "rhel8-AppStream" +} +], +"set_id": 9367 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-servlet-4.0-api", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9368 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-imagesize", +"repository": "rhel8-CRB" +} +], +"set_id": 9370 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-mock", +"repository": "rhel8-CRB" +} +], +"set_id": 9371 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-packaging", +"repository": "rhel8-CRB" +} +], +"set_id": 9372 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-snowballstemmer", +"repository": "rhel8-CRB" +} +], +"set_id": 9373 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinxcontrib-websupport", +"repository": "rhel8-CRB" +} +], +"set_id": 9374 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinx_rtd_theme", +"repository": "rhel8-CRB" +} +], +"set_id": 9375 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinx-theme-alabaster", +"repository": "rhel8-CRB" +} +], +"set_id": 9376 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-whoosh", +"repository": "rhel8-CRB" +} +], +"set_id": 9377 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lorax-lmc-virt", +"repository": "rhel8-AppStream" +} +], +"set_id": 9378 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lorax-lmc-novirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 9379 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lorax-templates-generic", +"repository": "rhel8-AppStream" +} +], +"set_id": 9380 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lorax-templates-rhel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9381 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "composer-cli", +"repository": "rhel7-extras" +} +], +"set_id": 9382 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "composer-cli", +"repository": "rhel8-AppStream" +} +], +"set_id": 9383 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-upgrade-tool", +"repository": "rhel7-base" +} +], +"set_id": 9384 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-upgrade-dracut", +"repository": "rhel7-base" +} +], +"set_id": 9385 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-upgrade-dracut-plymouth", +"repository": "rhel7-base" +} +], +"set_id": 9386 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kexec-tools", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "kexec-tools-eppic", +"repository": "rhel7-optional" +} +], +"set_id": 9387 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kexec-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9388 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kexec-tools-anaconda-addon", +"repository": "rhel7-optional" +} +], +"set_id": 9389 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kdump-anaconda-addon", +"repository": "rhel8-AppStream" +} +], +"set_id": 9390 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trousers", +"repository": "rhel7-base" +} +], +"set_id": 9391 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trousers", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "trousers-lib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9392 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oniguruma", +"repository": "rhel8-AppStream" +} +], +"set_id": 9393 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oniguruma-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9394 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libucil", +"repository": "rhel8-AppStream" +} +], +"set_id": 9395 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libucil-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9396 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bacula-director", +"repository": "rhel7-optional" +} +], +"set_id": 9397 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bacula-director", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "bacula-logwatch", +"repository": "rhel8-AppStream" +} +], +"set_id": 9398 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeradius-rest", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9399 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scotch", +"repository": "rhel8-CRB" +} +], +"set_id": 9407 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scotch-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9408 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-mpich", +"repository": "rhel8-CRB" +} +], +"set_id": 9409 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-mpich-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9410 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-openmpi", +"repository": "rhel8-CRB" +} +], +"set_id": 9411 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-openmpi-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9412 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-mpich-devel-parmetis", +"repository": "rhel8-CRB" +} +], +"set_id": 9414 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-abrt-container-addon", +"repository": "rhel8-AppStream" +} +], +"set_id": 9415 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sos-audit", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9416 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-evdev", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9417 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-wacom", +"repository": "rhel7-base" +} +], +"set_id": 9418 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-wacom", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-wacom-serial-support", +"repository": "rhel8-AppStream" +} +], +"set_id": 9419 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-numpy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 9420 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dmraid-events-logwatch", +"repository": "rhel7-optional" +} +], +"set_id": 9422 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dmraid-events", +"repository": "rhel7-base" +} +], +"set_id": 9423 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dmraid-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9424 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fence-sanlock", +"repository": "rhel7-base" +} +], +"set_id": 9425 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ixpdimm_sw-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9426 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ixpdimm-monitor", +"repository": "rhel7-optional" +} +], +"set_id": 9427 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libixpdimm-cim", +"repository": "rhel7-optional" +} +], +"set_id": 9428 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ixpdimm_sw", +"repository": "rhel7-optional" +} +], +"set_id": 9429 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libixpdimm-core", +"repository": "rhel7-optional" +} +], +"set_id": 9433 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libinvm-cim", +"repository": "rhel7-base" +} +], +"set_id": 9434 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libinvm-cim-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9435 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libinvm-cli", +"repository": "rhel7-base" +} +], +"set_id": 9436 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libinvm-cli-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9437 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libinvm-i18n", +"repository": "rhel7-base" +} +], +"set_id": 9438 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libinvm-i18n-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9439 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-azure-sdk", +"repository": "rhel7-base" +} +], +"set_id": 9440 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-azure-sdk", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9441 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-utils", +"repository": "rhel7-base" +} +], +"set_id": 9444 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-utils", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "alsa-utils-alsabat", +"repository": "rhel8-AppStream" +} +], +"set_id": 9445 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibutils", +"repository": "rhel7-optional" +} +], +"set_id": 9446 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibutils-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9447 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibutils-libs", +"repository": "rhel7-optional" +} +], +"set_id": 9448 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infinipath-psm", +"repository": "rhel7-optional" +} +], +"set_id": 9449 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infinipath-psm-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9450 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infiniband-diags-devel", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "libibmad-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9452 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infiniband-diags-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9453 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infiniband-diags-devel-static", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "libibmad-static", +"repository": "rhel7-optional" +} +], +"set_id": 9454 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infiniband-diags-devel-static", +"repository": "rhel8-CRB" +} +], +"set_id": 9455 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "infiniband-diags-compat", +"repository": "rhel8-CRB" +} +], +"set_id": 9456 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-setproctitle", +"repository": "rhel7-base" +} +], +"set_id": 9462 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-rtslib-doc", +"repository": "rhel7-optional" +} +], +"set_id": 9463 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lvm2-python-boom", +"repository": "rhel7-base" +} +], +"set_id": 9465 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boom-boot", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "boom-boot-conf", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "boom-boot-grub2", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-boom", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9474 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "userspace-rcu", +"repository": "rhel7-rhceph-tools-3" +} +], +"set_id": 9468 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "userspace-rcu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9469 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "userspace-rcu-devel", +"repository": "rhel7-rhgs-server-3.1" +} +], +"set_id": 9470 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "userspace-rcu-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9471 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lvm2-sysvinit", +"repository": "rhel7-optional" +} +], +"set_id": 9472 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lvm2-cluster", +"repository": "rhel7-resilientstorage" +} +], +"set_id": 9473 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lvm2-python-libs", +"repository": "rhel7-base" +} +], +"set_id": 9475 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lvm2-dbusd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9476 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isns-utils-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9477 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isns-utils-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9478 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx-mod-http-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 9479 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx-mod-http-image-filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 9480 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx-mod-http-xslt-filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 9481 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 9482 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx-mod-stream", +"repository": "rhel8-AppStream" +} +], +"set_id": 9483 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx-mod-mail", +"repository": "rhel8-AppStream" +} +], +"set_id": 9484 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx-all-modules", +"repository": "rhel8-AppStream" +} +], +"set_id": 9485 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx", +"repository": "rhel8-AppStream" +} +], +"set_id": 9486 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redis", +"repository": "rhel7-openstack-13" +} +], +"set_id": 9487 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redis", +"repository": "rhel8-AppStream" +} +], +"set_id": 9488 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redis-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9489 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redis-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 9490 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "varnish", +"repository": "rhel8-AppStream" +} +], +"set_id": 9491 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "varnish-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9492 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "varnish-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 9493 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "varnish-modules", +"repository": "rhel8-AppStream" +} +], +"set_id": 9494 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-host", +"repository": "rhel8-AppStream" +} +], +"set_id": 9496 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-host-fxr-2.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 9498 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-2.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 9499 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-2.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 9500 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-2.1.5xx", +"repository": "rhel8-AppStream" +} +], +"set_id": 9501 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scons", +"repository": "rhel7-ose-3.9" +} +], +"set_id": 9502 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-scons", +"repository": "rhel8-CRB" +} +], +"set_id": 9503 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-auctex", +"repository": "rhel7-optional" +} +], +"set_id": 9504 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-auctex-doc", +"repository": "rhel7-optional" +} +], +"set_id": 9505 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tex-preview", +"repository": "rhel7-optional" +} +], +"set_id": 9506 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsigsegv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9507 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsigsegv-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9508 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iputils-sysvinit", +"repository": "rhel7-optional" +} +], +"set_id": 9509 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pigz", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9510 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-ibmpkcs11", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9511 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "debugmode", +"repository": "rhel7-optional" +} +], +"set_id": 9512 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdrskin", +"repository": "rhel7-base" +} +], +"set_id": 9513 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "agg", +"repository": "rhel7-optional" +} +], +"set_id": 9514 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libomp-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9522 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libomp-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 9523 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libomp", +"repository": "rhel8-AppStream" +} +], +"set_id": 9524 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lld", +"repository": "rhel8-AppStream" +} +], +"set_id": 9525 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lld-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 9526 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lld-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9527 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lldb-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9528 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lldb", +"repository": "rhel8-AppStream" +} +], +"set_id": 9529 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lldb", +"repository": "rhel8-AppStream" +} +], +"set_id": 9530 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compiler-rt", +"repository": "rhel8-AppStream" +} +], +"set_id": 9533 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lit", +"repository": "rhel8-AppStream" +} +], +"set_id": 9534 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-srpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 9535 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-jaxb-api", +"repository": "rhel7-base" +} +], +"set_id": 9536 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-jaxb-api", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-jaxb-api-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 9537 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glassfish-fastinfoset", +"repository": "rhel7-base" +} +], +"set_id": 9538 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-fastinfoset", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-fastinfoset-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 9539 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-apps", +"repository": "rhel7-base" +} +], +"set_id": 9542 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-apps", +"repository": "rhel8-CRB" +} +], +"set_id": 9543 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libusnic_verbs", +"repository": "rhel7-base" +} +], +"set_id": 9553 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rfkill", +"repository": "rhel7-base" +} +], +"set_id": 9554 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "latencytop", +"repository": "rhel7-base" +} +], +"set_id": 9555 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dvgrab", +"repository": "rhel7-base" +} +], +"set_id": 9556 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ras-utils", +"repository": "rhel7-optional" +} +], +"set_id": 9558 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-di", +"repository": "rhel7-base" +} +], +"set_id": 9560 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-compress-bzip2-plugin", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9561 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9562 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-compress-plugins-all", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9563 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-crypto-openssl-plugin", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9564 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-crypto-plugins-all", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9565 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-plugins-all", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9566 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-compress-lzma-plugin", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9567 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-crypto-nss-plugin", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9568 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-compress-zlib-plugin", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9569 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-compress-lz4-plugin", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9570 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9571 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-compress-lzo2-plugin", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 9572 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stratisd", +"repository": "rhel8-AppStream" +} +], +"set_id": 9573 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stratis-cli", +"repository": "rhel8-AppStream" +} +], +"set_id": 9574 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcaudiolib", +"repository": "rhel8-AppStream" +} +], +"set_id": 9577 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sanlock-python", +"repository": "rhel7-base" +} +], +"set_id": 9578 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-lvm-dbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 9579 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iscsi-initiator-utils", +"repository": "rhel7-base" +} +], +"set_id": 9580 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iscsi-initiator-utils", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-iscsi-initiator-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9581 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "device-mapper-multipath-sysvinit", +"repository": "rhel7-optional" +} +], +"set_id": 9582 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libipt", +"repository": "rhel8-AppStream" +} +], +"set_id": 9583 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "udftools", +"repository": "rhel7-base" +} +], +"set_id": 9584 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "latencytop-tui", +"repository": "rhel7-base" +} +], +"set_id": 9585 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "latencytop-common", +"repository": "rhel7-base" +} +], +"set_id": 9586 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "agg-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9587 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osad", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9588 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osad", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-osad", +"repository": "rhel8-AppStream" +} +], +"set_id": 9589 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "koan", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9590 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "koan", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-koan", +"repository": "rhel8-AppStream" +} +], +"set_id": 9591 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhncfg", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9592 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhncfg", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "rhncfg", +"repository": "rhel8-AppStream" +} +], +"set_id": 9593 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhncfg-actions", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9594 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhncfg-actions", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "rhncfg-actions", +"repository": "rhel8-AppStream" +} +], +"set_id": 9595 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhncfg-client", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9596 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhncfg-client", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "rhncfg-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 9597 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhncfg-management", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9598 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhncfg-management", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "rhncfg-management", +"repository": "rhel8-AppStream" +} +], +"set_id": 9599 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhnpush", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9600 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhnpush", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "rhnpush", +"repository": "rhel8-AppStream" +} +], +"set_id": 9601 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhn-virtualization-host", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9602 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhn-virtualization-host", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "rhn-virtualization-host", +"repository": "rhel8-AppStream" +} +], +"set_id": 9603 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-abrt", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9604 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-spacewalk-abrt", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "spacewalk-abrt", +"repository": "rhel8-AppStream" +} +], +"set_id": 9605 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-client-cert", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9606 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-client-cert", +"repository": "rhel8-AppStream" +} +], +"set_id": 9607 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-koan", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9608 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-spacewalk-koan", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "spacewalk-koan", +"repository": "rhel8-AppStream" +} +], +"set_id": 9609 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-oscap", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9610 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-spacewalk-oscap", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "spacewalk-oscap", +"repository": "rhel8-AppStream" +} +], +"set_id": 9611 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-usix", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9612 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-spacewalk-usix", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "spacewalk-usix", +"repository": "rhel8-AppStream" +} +], +"set_id": 9613 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jabberpy", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9614 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jabberpy", +"repository": "rhel8-AppStream" +} +], +"set_id": 9615 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhn-virtualization-common", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9616 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rhn-virtualization-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 9617 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osa-common", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9618 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-osa-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 9619 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-backend-libs", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9620 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-spacewalk-backend-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 9621 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhn-custom-info", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9622 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhn-custom-info", +"repository": "rhel8-AppStream" +} +], +"set_id": 9623 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-remote-utils", +"repository": "rhel7-rhn-tools" +} +], +"set_id": 9624 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spacewalk-remote-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 9625 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xvattr", +"repository": "rhel7-base" +} +], +"set_id": 9626 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vulkan-filesystem", +"repository": "rhel7-base" +} +], +"set_id": 9627 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vulkan-loader", +"repository": "rhel8-AppStream" +} +], +"set_id": 9628 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse-sshfs", +"repository": "rhel8-CRB" +} +], +"set_id": 9629 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sdparm", +"repository": "rhel7-base" +} +], +"set_id": 9630 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemobj++-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9631 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-d050000l-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9632 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-standard-symbols-ps-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9633 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-nimbus-sans-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9634 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-nimbus-roman-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9635 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-bookman-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9636 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-c059-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9637 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9638 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-p052-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9639 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-fonts-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9640 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-fonts-common", +"repository": "rhel8-CRB" +} +], +"set_id": 9641 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-nimbus-mono-ps-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9642 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-z003-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9643 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "urw-base35-gothic-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 9644 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemcto-debug", +"repository": "rhel7-optional" +} +], +"set_id": 9645 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemcto-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9646 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemcto", +"repository": "rhel7-optional" +} +], +"set_id": 9647 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gflags-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9648 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gflags", +"repository": "rhel8-CRB" +} +], +"set_id": 9649 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glog", +"repository": "rhel8-CRB" +} +], +"set_id": 9650 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glog-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9651 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenIPMI-modalias", +"repository": "rhel7-base" +} +], +"set_id": 9652 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipmitool", +"repository": "rhel7-base" +} +], +"set_id": 9653 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipmievd", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "ipmitool", +"repository": "rhel8-AppStream" +} +], +"set_id": 9654 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lensfun-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9655 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lensfun", +"repository": "rhel8-CRB" +} +], +"set_id": 9656 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "leptonica", +"repository": "rhel8-CRB" +} +], +"set_id": 9657 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "leptonica-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9658 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdap-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9659 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdap", +"repository": "rhel8-CRB" +} +], +"set_id": 9660 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librx-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9661 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librx", +"repository": "rhel8-CRB" +} +], +"set_id": 9662 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunicap-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9663 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunicap", +"repository": "rhel8-AppStream" +} +], +"set_id": 9664 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liboggz", +"repository": "rhel8-CRB" +} +], +"set_id": 9665 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "metis-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9666 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "metis", +"repository": "rhel8-CRB" +} +], +"set_id": 9667 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adobe-mappings-cmap", +"repository": "rhel8-AppStream" +} +], +"set_id": 9668 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adobe-mappings-cmap-deprecated", +"repository": "rhel8-AppStream" +} +], +"set_id": 9669 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adobe-mappings-pdf", +"repository": "rhel8-AppStream" +} +], +"set_id": 9670 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpage", +"repository": "rhel7-optional" +} +], +"set_id": 9674 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9675 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-vpd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9676 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-zlib-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9677 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-zlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9678 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "munge-libs", +"repository": "rhel8-CRB" +} +], +"set_id": 9679 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "munge", +"repository": "rhel8-CRB" +} +], +"set_id": 9680 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "munge-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9681 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "torque-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9682 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "torque", +"repository": "rhel8-CRB" +} +], +"set_id": 9683 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "torque-libs", +"repository": "rhel8-CRB" +} +], +"set_id": 9684 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ucx", +"repository": "rhel8-AppStream" +} +], +"set_id": 9685 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libibcommon-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9686 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libibcommon", +"repository": "rhel7-optional" +} +], +"set_id": 9687 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libibcommon-static", +"repository": "rhel7-optional" +} +], +"set_id": 9688 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usnic-tools", +"repository": "rhel7-base" +} +], +"set_id": 9689 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-ucm", +"repository": "rhel8-AppStream" +} +], +"set_id": 9690 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bluez", +"repository": "rhel7-base" +} +], +"set_id": 9691 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bluez", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "bluez-obexd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9692 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pmix", +"repository": "rhel8-AppStream" +} +], +"set_id": 9693 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-libwayland-egl", +"repository": "rhel7-base" +} +], +"set_id": 9695 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwayland-egl", +"repository": "rhel8-AppStream" +} +], +"set_id": 9696 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-libwayland-egl-devel", +"repository": "rhel7-optional" +}, +{ +"modulestreams": [ +null +], +"name": "wayland-devel", +"repository": "rhel7-base" +} +], +"set_id": 9697 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wayland-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9698 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "eglexternalplatform-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9699 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "egl-wayland", +"repository": "rhel8-AppStream" +} +], +"set_id": 9700 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXNVCtrl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9701 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXNVCtrl", +"repository": "rhel8-AppStream" +} +], +"set_id": 9702 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evemu-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 9703 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evemu", +"repository": "rhel8-AppStream" +} +], +"set_id": 9704 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-libEGL-devel", +"repository": "rhel7-base" +} +], +"set_id": 9705 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-khr-devel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "mesa-libEGL-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9706 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-mpich", +"repository": "rhel8-CRB" +} +], +"set_id": 9707 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-openmpi", +"repository": "rhel8-CRB" +} +], +"set_id": 9708 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-mpi-hooks", +"repository": "rhel8-AppStream" +} +], +"set_id": 9709 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcmpiutil", +"repository": "rhel7-optional" +} +], +"set_id": 9710 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcmpiutil-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9711 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-streaming-agent", +"repository": "rhel7-optional" +} +], +"set_id": 9712 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-streaming-agent-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9713 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvarlink-util", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9714 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvarlink-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9715 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvarlink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9716 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tn5250-devel", +"repository": "rhel7-optional" +} +], +"set_id": 9717 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tn5250", +"repository": "rhel7-optional" +} +], +"set_id": 9718 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsass", +"repository": "rhel8-CRB" +} +], +"set_id": 9719 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsass-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9720 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libaec-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9721 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libaec", +"repository": "rhel8-CRB" +} +], +"set_id": 9722 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "obex-data-server", +"repository": "rhel7-base" +} +], +"set_id": 9723 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "obexd", +"repository": "rhel7-base" +} +], +"set_id": 9724 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtest-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9725 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gmock-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9726 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtest", +"repository": "rhel8-CRB" +} +], +"set_id": 9727 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gmock", +"repository": "rhel8-CRB" +} +], +"set_id": 9728 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorriso", +"repository": "rhel8-AppStream" +} +], +"set_id": 9729 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dumpet", +"repository": "rhel7-base" +} +], +"set_id": 9730 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pyblock", +"repository": "rhel7-base" +} +], +"set_id": 9731 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-release-client", +"repository": "rhel7-base" +} +], +"set_id": 9732 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-release", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "redhat-release-eula", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9733 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-release-computenode", +"repository": "rhel7-base" +} +], +"set_id": 9734 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-release", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "redhat-release-eula", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9735 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-release-workstation", +"repository": "rhel7-base" +} +], +"set_id": 9736 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-release", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "redhat-release-eula", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9737 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "container-exception-logger", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9738 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "blivet-data", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9739 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "integritysetup", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9740 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "peripety", +"repository": "rhel8-AppStream" +} +], +"set_id": 9741 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pmreorder", +"repository": "rhel8-AppStream" +} +], +"set_id": 9742 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-photos-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 9743 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs-nodemon", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9744 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SuperLU", +"repository": "rhel8-CRB" +} +], +"set_id": 9745 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SuperLU-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9746 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Xaw3d-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9747 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "comps-extras", +"repository": "rhel7-base" +} +], +"set_id": 9749 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "anaconda-core", +"repository": "rhel7-base" +} +], +"set_id": 9750 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "anaconda-core", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "anaconda-install-env-deps", +"repository": "rhel8-AppStream" +} +], +"set_id": 9751 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sassist", +"repository": "rhel8-AppStream" +} +], +"set_id": 9752 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozvoikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 9753 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "potrace", +"repository": "rhel8-AppStream" +} +], +"set_id": 9754 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unoconv", +"repository": "rhel7-optional" +} +], +"set_id": 9755 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuseiso", +"repository": "rhel7-base" +} +], +"set_id": 9756 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "CUnit-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9757 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "js-uglify", +"repository": "rhel8-CRB" +} +], +"set_id": 9758 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uglify-js", +"repository": "rhel8-CRB" +} +], +"set_id": 9759 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "web-assets-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9760 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "web-assets-filesystem", +"repository": "rhel8-CRB" +} +], +"set_id": 9761 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rspec", +"repository": "rhel8-CRB" +} +], +"set_id": 9762 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rspec-core", +"repository": "rhel8-CRB" +} +], +"set_id": 9763 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rspec-expectations", +"repository": "rhel8-CRB" +} +], +"set_id": 9764 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rspec-mocks", +"repository": "rhel8-CRB" +} +], +"set_id": 9765 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rspec-support", +"repository": "rhel8-CRB" +} +], +"set_id": 9766 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-diff-lcs", +"repository": "rhel8-CRB" +} +], +"set_id": 9767 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-scour", +"repository": "rhel8-AppStream" +} +], +"set_id": 9768 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ordered-set", +"repository": "rhel8-AppStream" +} +], +"set_id": 9769 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-setuptools_scm", +"repository": "rhel8-CRB" +} +], +"set_id": 9770 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-unittest2", +"repository": "rhel8-CRB" +} +], +"set_id": 9771 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-hypothesis", +"repository": "rhel8-CRB" +} +], +"set_id": 9772 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-html5lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 9773 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-webencodings", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9774 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-markdown", +"repository": "rhel8-CRB" +} +], +"set_id": 9775 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sure", +"repository": "rhel8-CRB" +} +], +"set_id": 9776 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-adal", +"repository": "rhel7-base" +} +], +"set_id": 9777 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-msrest", +"repository": "rhel7-base" +} +], +"set_id": 9778 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-msrestazure", +"repository": "rhel7-base" +} +], +"set_id": 9779 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fence-agents-redfish", +"repository": "rhel8-AppStream" +} +], +"set_id": 9780 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gflags", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9781 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-google-api-client", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9782 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-fasteners", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9783 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-oauth2client", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9784 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-uritemplate", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 9785 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "c2esp", +"repository": "rhel8-AppStream" +} +], +"set_id": 9786 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "splix", +"repository": "rhel8-AppStream" +} +], +"set_id": 9787 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-tools-rhev", +"repository": "rhel7-rhevh" +} +], +"set_id": 9788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-common", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-nfv-host-bin", +"repository": "rhel8-NFV" +} +], +"set_id": 9789 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-tools-ma", +"repository": "rhel7-base" +} +], +"set_id": 9790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-common", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-nfv-host-bin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9791 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-argh", +"repository": "rhel8-AppStream" +} +], +"set_id": 9792 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-argcomplete", +"repository": "rhel8-AppStream" +} +], +"set_id": 9793 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-humanize", +"repository": "rhel8-AppStream" +} +], +"set_id": 9794 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-EastAsianWidth", +"repository": "rhel8-CRB" +} +], +"set_id": 9795 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sparsehash-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9796 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sphinx-theme-openlmi", +"repository": "rhel7-optional" +} +], +"set_id": 9797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gssntlmssp", +"repository": "rhel8-AppStream" +} +], +"set_id": 9798 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-logging", +"repository": "rhel8-AppStream" +} +], +"set_id": 9799 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-logging-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 9800 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-jaxrs-2.0-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 9801 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdeparser", +"repository": "rhel8-AppStream" +} +], +"set_id": 9802 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uid_wrapper", +"repository": "rhel8-CRB" +} +], +"set_id": 9803 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "socket_wrapper", +"repository": "rhel8-CRB" +} +], +"set_id": 9804 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-asn1crypto", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9805 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lesscpy", +"repository": "rhel8-CRB" +} +], +"set_id": 9806 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlstreambuffer-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 9807 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlstreambuffer", +"repository": "rhel8-AppStream" +} +], +"set_id": 9808 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sscg", +"repository": "rhel8-AppStream" +} +], +"set_id": 9809 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "utf8proc", +"repository": "rhel8-AppStream" +} +], +"set_id": 9810 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_http2", +"repository": "rhel8-AppStream" +} +], +"set_id": 9811 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libserf", +"repository": "rhel8-AppStream" +} +], +"set_id": 9812 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mipv6-daemon", +"repository": "rhel7-base" +} +], +"set_id": 9813 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jimtcl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 9814 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jimtcl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9815 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sushy", +"repository": "rhel8-AppStream" +} +], +"set_id": 9816 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdc1394", +"repository": "rhel8-AppStream" +} +], +"set_id": 9817 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redfish-finder", +"repository": "rhel8-AppStream" +} +], +"set_id": 9818 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "re2c", +"repository": "rhel8-CRB" +} +], +"set_id": 9819 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "switcheroo-control", +"repository": "rhel8-AppStream" +} +], +"set_id": 9820 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-renderer", +"repository": "rhel8-AppStream" +} +], +"set_id": 9821 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dbus-client-gen", +"repository": "rhel8-AppStream" +} +], +"set_id": 9822 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-into-dbus-python", +"repository": "rhel8-AppStream" +} +], +"set_id": 9823 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dbus-python-client-gen", +"repository": "rhel8-AppStream" +} +], +"set_id": 9824 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dbus-signature-pyparsing", +"repository": "rhel8-AppStream" +} +], +"set_id": 9825 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-justbytes", +"repository": "rhel8-AppStream" +} +], +"set_id": 9826 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-justbases", +"repository": "rhel8-AppStream" +} +], +"set_id": 9827 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pykickstart", +"repository": "rhel7-base" +} +], +"set_id": 9828 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pykickstart", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-kickstart", +"repository": "rhel8-AppStream" +} +], +"set_id": 9829 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-desktop-icons", +"repository": "rhel8-AppStream" +} +], +"set_id": 9830 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iio-sensor-proxy", +"repository": "rhel8-AppStream" +} +], +"set_id": 9831 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm2-abrmd-selinux", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9832 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ar", +"repository": "rhel7-optional" +} +], +"set_id": 9833 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ar", +"repository": "rhel8-AppStream" +} +], +"set_id": 9834 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-bg", +"repository": "rhel7-optional" +} +], +"set_id": 9835 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-bg", +"repository": "rhel8-AppStream" +} +], +"set_id": 9836 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-bn", +"repository": "rhel7-optional" +} +], +"set_id": 9837 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-bn", +"repository": "rhel8-AppStream" +} +], +"set_id": 9838 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ca", +"repository": "rhel7-optional" +} +], +"set_id": 9839 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 9840 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-cs", +"repository": "rhel7-optional" +} +], +"set_id": 9841 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-cs", +"repository": "rhel8-AppStream" +} +], +"set_id": 9842 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-da", +"repository": "rhel7-optional" +} +], +"set_id": 9843 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-da", +"repository": "rhel8-AppStream" +} +], +"set_id": 9844 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-de", +"repository": "rhel7-optional" +} +], +"set_id": 9845 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-de", +"repository": "rhel8-AppStream" +} +], +"set_id": 9846 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-dz", +"repository": "rhel7-optional" +} +], +"set_id": 9847 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-dz", +"repository": "rhel8-AppStream" +} +], +"set_id": 9848 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-el", +"repository": "rhel7-optional" +} +], +"set_id": 9849 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-el", +"repository": "rhel8-AppStream" +} +], +"set_id": 9850 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-es", +"repository": "rhel7-optional" +} +], +"set_id": 9853 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-es", +"repository": "rhel8-AppStream" +} +], +"set_id": 9854 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-et", +"repository": "rhel7-optional" +} +], +"set_id": 9855 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-et", +"repository": "rhel8-AppStream" +} +], +"set_id": 9856 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-eu", +"repository": "rhel7-optional" +} +], +"set_id": 9857 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-eu", +"repository": "rhel8-AppStream" +} +], +"set_id": 9858 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-fi", +"repository": "rhel7-optional" +} +], +"set_id": 9859 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-fi", +"repository": "rhel8-AppStream" +} +], +"set_id": 9860 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-fr", +"repository": "rhel7-optional" +} +], +"set_id": 9861 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-fr", +"repository": "rhel8-AppStream" +} +], +"set_id": 9862 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-gl", +"repository": "rhel7-optional" +} +], +"set_id": 9863 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-gl", +"repository": "rhel8-AppStream" +} +], +"set_id": 9864 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-gu", +"repository": "rhel7-optional" +} +], +"set_id": 9865 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-gu", +"repository": "rhel8-AppStream" +} +], +"set_id": 9866 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-he", +"repository": "rhel7-optional" +} +], +"set_id": 9867 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-he", +"repository": "rhel8-AppStream" +} +], +"set_id": 9868 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-hi", +"repository": "rhel7-optional" +} +], +"set_id": 9869 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-hi", +"repository": "rhel8-AppStream" +} +], +"set_id": 9870 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-hr", +"repository": "rhel7-optional" +} +], +"set_id": 9871 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-hr", +"repository": "rhel8-AppStream" +} +], +"set_id": 9872 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-hu", +"repository": "rhel7-optional" +} +], +"set_id": 9873 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-hu", +"repository": "rhel8-AppStream" +} +], +"set_id": 9874 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-id", +"repository": "rhel7-optional" +} +], +"set_id": 9875 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-id", +"repository": "rhel8-AppStream" +} +], +"set_id": 9876 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-it", +"repository": "rhel7-optional" +} +], +"set_id": 9877 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-it", +"repository": "rhel8-AppStream" +} +], +"set_id": 9878 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ja", +"repository": "rhel7-optional" +} +], +"set_id": 9879 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ja", +"repository": "rhel8-AppStream" +} +], +"set_id": 9880 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ko", +"repository": "rhel7-optional" +} +], +"set_id": 9881 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ko", +"repository": "rhel8-AppStream" +} +], +"set_id": 9882 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-lt", +"repository": "rhel7-optional" +} +], +"set_id": 9883 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-lt", +"repository": "rhel8-AppStream" +} +], +"set_id": 9884 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-lv", +"repository": "rhel7-optional" +} +], +"set_id": 9885 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-lv", +"repository": "rhel8-AppStream" +} +], +"set_id": 9886 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-nb", +"repository": "rhel7-optional" +} +], +"set_id": 9887 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-nb", +"repository": "rhel8-AppStream" +} +], +"set_id": 9888 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-nl", +"repository": "rhel7-optional" +} +], +"set_id": 9889 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-nl", +"repository": "rhel8-AppStream" +} +], +"set_id": 9890 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-nn", +"repository": "rhel7-optional" +} +], +"set_id": 9891 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-nn", +"repository": "rhel8-AppStream" +} +], +"set_id": 9892 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-pl", +"repository": "rhel7-optional" +} +], +"set_id": 9893 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-pl", +"repository": "rhel8-AppStream" +} +], +"set_id": 9894 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-pt-BR", +"repository": "rhel7-optional" +} +], +"set_id": 9895 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-pt-BR", +"repository": "rhel8-AppStream" +} +], +"set_id": 9896 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-pt-PT", +"repository": "rhel7-optional" +} +], +"set_id": 9897 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-pt-PT", +"repository": "rhel8-AppStream" +} +], +"set_id": 9898 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ro", +"repository": "rhel7-optional" +} +], +"set_id": 9899 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ro", +"repository": "rhel8-AppStream" +} +], +"set_id": 9900 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ru", +"repository": "rhel7-optional" +} +], +"set_id": 9901 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ru", +"repository": "rhel8-AppStream" +} +], +"set_id": 9902 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-si", +"repository": "rhel7-optional" +} +], +"set_id": 9903 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-si", +"repository": "rhel8-AppStream" +} +], +"set_id": 9904 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-sk", +"repository": "rhel7-optional" +} +], +"set_id": 9905 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-sk", +"repository": "rhel8-AppStream" +} +], +"set_id": 9906 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-sl", +"repository": "rhel7-optional" +} +], +"set_id": 9907 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-sl", +"repository": "rhel8-AppStream" +} +], +"set_id": 9908 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-sv", +"repository": "rhel7-optional" +} +], +"set_id": 9909 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-sv", +"repository": "rhel8-AppStream" +} +], +"set_id": 9910 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ta", +"repository": "rhel7-optional" +} +], +"set_id": 9911 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-ta", +"repository": "rhel8-AppStream" +} +], +"set_id": 9912 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-tr", +"repository": "rhel7-optional" +} +], +"set_id": 9913 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-tr", +"repository": "rhel8-AppStream" +} +], +"set_id": 9914 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-uk", +"repository": "rhel7-optional" +} +], +"set_id": 9915 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-uk", +"repository": "rhel8-AppStream" +} +], +"set_id": 9916 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-zh-Hans", +"repository": "rhel7-optional" +} +], +"set_id": 9917 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-zh-Hans", +"repository": "rhel8-AppStream" +} +], +"set_id": 9918 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-zh-Hant", +"repository": "rhel7-optional" +} +], +"set_id": 9919 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-zh-Hant", +"repository": "rhel8-AppStream" +} +], +"set_id": 9920 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-base", +"repository": "rhel7-optional" +} +], +"set_id": 9921 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-base", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 9922 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-calc", +"repository": "rhel7-optional" +} +], +"set_id": 9923 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-calc", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 9924 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-core", +"repository": "rhel7-optional" +} +], +"set_id": 9925 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-core", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 9926 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-draw", +"repository": "rhel7-optional" +} +], +"set_id": 9927 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-draw", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-en", +"repository": "rhel8-AppStream" +} +], +"set_id": 9928 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-impress", +"repository": "rhel7-optional" +} +], +"set_id": 9929 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-en", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libreoffice-impress", +"repository": "rhel8-AppStream" +} +], +"set_id": 9930 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-math", +"repository": "rhel7-optional" +} +], +"set_id": 9931 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-en", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libreoffice-math", +"repository": "rhel8-AppStream" +} +], +"set_id": 9932 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-writer", +"repository": "rhel7-optional" +} +], +"set_id": 9933 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-en", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "libreoffice-writer", +"repository": "rhel8-AppStream" +} +], +"set_id": 9934 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkeepalive", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9935 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lldpd-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 9936 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lldpd", +"repository": "rhel8-AppStream" +} +], +"set_id": 9937 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "teamd", +"repository": "rhel7-base" +} +], +"set_id": 9938 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "network-scripts-team", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "teamd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9939 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slirp4netns", +"repository": "rhel8-AppStream" +} +], +"set_id": 9940 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse-overlayfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 9941 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pid", +"repository": "rhel8-AppStream" +} +], +"set_id": 9942 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pydbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 9943 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests-file", +"repository": "rhel8-AppStream" +} +], +"set_id": 9944 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests-ftp", +"repository": "rhel8-AppStream" +} +], +"set_id": 9945 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-simpleline", +"repository": "rhel8-AppStream" +} +], +"set_id": 9946 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-varlink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9947 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "firstboot", +"repository": "rhel7-base" +} +], +"set_id": 9948 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-initial-setup", +"repository": "rhel8-AppStream" +} +], +"set_id": 9949 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-access-gui", +"repository": "rhel7-base" +} +], +"set_id": 9950 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-config-kickstart", +"repository": "rhel7-base" +} +], +"set_id": 9951 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trace-cmd", +"repository": "rhel7-base" +} +], +"set_id": 9952 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernelshark", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "trace-cmd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9953 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-docs-info", +"repository": "rhel8-AppStream" +} +], +"set_id": 9954 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tlog", +"repository": "rhel8-AppStream" +} +], +"set_id": 9955 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openvswitch-test", +"repository": "rhel7-optional" +} +], +"set_id": 9956 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openvswitch", +"repository": "rhel7-optional" +} +], +"set_id": 9957 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-openvswitch", +"repository": "rhel7-optional" +} +], +"set_id": 9958 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openvswitch-controller", +"repository": "rhel7-optional" +} +], +"set_id": 9959 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-sap", +"repository": "rhel7-sap" +} +], +"set_id": 9960 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-sap-hana", +"repository": "rhel7-sap-hana" +} +], +"set_id": 9961 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap", +"repository": "rhel7-sap" +} +], +"set_id": 9962 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 10354 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana", +"repository": "rhel7-sap-hana" +} +], +"set_id": 9963 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 10355 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xsom", +"repository": "rhel7-base" +} +], +"set_id": 9964 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xsom", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xsom-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 9965 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jss", +"repository": "rhel7-base" +} +], +"set_id": 9966 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "jss", +"repository": "rhel8-AppStream" +} +], +"set_id": 9967 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base-libs", +"repository": "rhel7-base" +} +], +"set_id": 9968 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 9969 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_auth_openidc", +"repository": "rhel7-base" +} +], +"set_id": 9970 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_auth_openidc", +"repository": "rhel8-AppStream" +} +], +"set_id": 9971 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldapjdk", +"repository": "rhel7-base" +} +], +"set_id": 9972 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "ldapjdk", +"repository": "rhel8-AppStream" +} +], +"set_id": 9973 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-server", +"repository": "rhel7-base" +} +], +"set_id": 9988 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 9989 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-tools", +"repository": "rhel7-base" +} +], +"set_id": 10008 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 10009 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-kra", +"repository": "rhel7-base" +} +], +"set_id": 9986 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-kra", +"repository": "rhel8-AppStream" +} +], +"set_id": 9987 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-ca", +"repository": "rhel7-base" +} +], +"set_id": 9984 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 9985 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-symkey", +"repository": "rhel7-base" +} +], +"set_id": 9982 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-symkey", +"repository": "rhel8-AppStream" +} +], +"set_id": 9983 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-server", +"repository": "rhel7-base" +} +], +"set_id": 9990 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "idm", +"stream": "DL1" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 9991 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-server-common", +"repository": "rhel7-base" +} +], +"set_id": 9992 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "idm", +"stream": "DL1" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-server-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 9993 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-server-dns", +"repository": "rhel7-base" +} +], +"set_id": 9994 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "idm", +"stream": "DL1" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-server-dns", +"repository": "rhel8-AppStream" +} +], +"set_id": 9995 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-server-trust-ad", +"repository": "rhel7-base" +} +], +"set_id": 9996 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "idm", +"stream": "DL1" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-server-trust-ad", +"repository": "rhel8-AppStream" +} +], +"set_id": 9997 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client", +"repository": "rhel7-base" +} +], +"set_id": 9998 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client", +"repository": "rhel8-BaseOS" +} +], +"set_id": 9999 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client-common", +"repository": "rhel7-base" +} +], +"set_id": 10000 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client-common", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10001 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-common", +"repository": "rhel7-base" +} +], +"set_id": 10002 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 10003 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-python-compat", +"repository": "rhel7-base" +} +], +"set_id": 10004 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-python-compat", +"repository": "rhel8-AppStream" +} +], +"set_id": 10005 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slapi-nis", +"repository": "rhel7-base" +} +], +"set_id": 10006 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "idm", +"stream": "DL1" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "slapi-nis", +"repository": "rhel8-AppStream" +} +], +"set_id": 10007 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-dyndb-ldap", +"repository": "rhel7-base" +} +], +"set_id": 10010 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "idm", +"stream": "DL1" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "bind-dyndb-ldap", +"repository": "rhel8-AppStream" +} +], +"set_id": 10011 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stax-ex", +"repository": "rhel7-base" +} +], +"set_id": 10012 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-deps", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "stax-ex", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "stax-ex-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10013 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "softhsm", +"repository": "rhel7-base" +} +], +"set_id": 10014 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "idm", +"stream": "DL1" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "softhsm", +"repository": "rhel8-AppStream" +} +], +"set_id": 10015 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcatjss", +"repository": "rhel7-base" +} +], +"set_id": 10016 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "tomcatjss", +"repository": "rhel8-AppStream" +} +], +"set_id": 10017 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "relaxngcc-javadoc", +"repository": "rhel7-optional" +} +], +"set_id": 10019 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base-snmp", +"repository": "rhel7-optional" +} +], +"set_id": 10022 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base-snmp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10023 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base-devel", +"repository": "rhel7-optional" +} +], +"set_id": 10024 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10025 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opendnssec", +"repository": "rhel7-base" +} +], +"set_id": 10026 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "idm", +"stream": "DL1" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "opendnssec", +"repository": "rhel8-AppStream" +} +], +"set_id": 10027 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "si-units", +"repository": "rhel7-base" +} +], +"set_id": 10028 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "si-units", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "si-units-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10029 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uom-lib", +"repository": "rhel7-base" +} +], +"set_id": 10030 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uom-lib", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "uom-lib-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10031 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uom-se", +"repository": "rhel7-base" +} +], +"set_id": 10034 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uom-se", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "uom-se-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10035 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uom-systems", +"repository": "rhel7-base" +} +], +"set_id": 10036 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uom-systems", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "uom-systems-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10037 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unit-api", +"repository": "rhel7-base" +} +], +"set_id": 10038 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unit-api", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "unit-api-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10039 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uom-parent", +"repository": "rhel7-optional" +} +], +"set_id": 10040 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uom-parent", +"repository": "rhel8-AppStream" +} +], +"set_id": 10041 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "parfait", +"repository": "rhel7-base" +} +], +"set_id": 10042 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "parfait", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "parfait-examples", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "parfait-javadoc", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "pcp-parfait-agent", +"repository": "rhel8-AppStream" +} +], +"set_id": 10043 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imake", +"repository": "rhel7-base" +} +], +"set_id": 10044 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imake", +"repository": "rhel8-CRB" +} +], +"set_id": 10045 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zhongyi-song-fonts", +"repository": "rhel8-Supplementary" +} +], +"set_id": 10046 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virtio-win", +"repository": "rhel8-Supplementary" +} +], +"set_id": 10047 +}, +"initial_release": null, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "udica", +"repository": "rhel8-AppStream" +} +], +"set_id": 10049 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lmdb-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 10051 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fapolicyd", +"repository": "rhel8-AppStream" +} +], +"set_id": 10052 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-servers", +"repository": "rhel8-CRB" +} +], +"set_id": 10053 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idn2", +"repository": "rhel8-AppStream" +} +], +"set_id": 10055 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-distro", +"repository": "rhel8-AppStream" +} +], +"set_id": 10057 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pip-wheel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10058 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-setuptools-wheel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10059 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-wheel-wheel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10060 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-pip-wheel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10061 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-setuptools-wheel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10062 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-wheel-wheel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10063 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-dc-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10064 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client-samba", +"repository": "rhel8-AppStream" +} +], +"set_id": 10065 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-irb", +"repository": "rhel8-AppStream" +} +], +"set_id": 10066 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libssh2", +"repository": "rhel8-AppStream" +} +], +"set_id": 10067 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libssh2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libssh-config", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10069 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c", +"repository": "rhel7-extras" +} +], +"set_id": 10073 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c", +"repository": "rhel8-AppStream" +} +], +"set_id": 10074 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-indication_helper", +"repository": "rhel8-AppStream" +} +], +"set_id": 10079 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-wbemcli", +"repository": "rhel8-AppStream" +} +], +"set_id": 10080 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-cmpi-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 10081 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-createrepo_c", +"repository": "rhel7-extras" +} +], +"set_id": 10093 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-createrepo_c", +"repository": "rhel8-AppStream" +} +], +"set_id": 10094 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libselinux-python", +"repository": "rhel7-base" +} +], +"set_id": 10110 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libselinux-python", +"repository": "rhel7-base" +}, +{ +"modulestreams": [ +null +], +"name": "libselinux-python3", +"repository": "rhel7-base" +} +], +"set_id": 10111 +}, +"release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10115 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yum-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10116 +}, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-polkit-rules", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10117 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_auth_mellon-diagnostics", +"repository": "rhel8-AppStream" +} +], +"set_id": 10123 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-servlet-container", +"repository": "rhel8-AppStream" +} +], +"set_id": 10124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-servlet-engine", +"repository": "rhel8-AppStream" +} +], +"set_id": 10125 +}, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ansible-freeipa", +"repository": "rhel8-AppStream" +} +], +"set_id": 10126 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-healthcheck", +"repository": "rhel8-AppStream" +} +], +"set_id": 10127 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap", +"repository": "rhel8-AppStream" +} +], +"set_id": 10130 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap", +"repository": "rhel8-SAP-NetWeaver" +}, +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap-common", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 10131 +}, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jna", +"repository": "rhel8-CRB" +} +], +"set_id": 10132 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jna", +"repository": "rhel8-AppStream" +} +], +"set_id": 10133 +}, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Judy-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10134 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "asio-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10135 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "whois", +"repository": "rhel8-AppStream" +} +], +"set_id": 10136 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "whois-debuginfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 10137 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "whois-debugsource", +"repository": "rhel8-AppStream" +} +], +"set_id": 10138 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "whois-nls", +"repository": "rhel8-AppStream" +} +], +"set_id": 10139 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LDAP", +"repository": "rhel8-AppStream" +} +], +"set_id": 10140 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Convert-ASN1", +"repository": "rhel8-AppStream" +} +], +"set_id": 10141 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-bpftrace", +"repository": "rhel8-AppStream" +} +], +"set_id": 10142 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-webapi", +"repository": "rhel8-AppStream" +} +], +"set_id": 10143 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10144 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-webapp-grafana", +"repository": "rhel8-AppStream" +} +], +"set_id": 10145 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10146 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-webapp-blinkenlights", +"repository": "rhel8-AppStream" +} +], +"set_id": 10147 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10148 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-webapp-graphite", +"repository": "rhel8-AppStream" +} +], +"set_id": 10149 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10150 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-webapp-vector", +"repository": "rhel8-AppStream" +} +], +"set_id": 10151 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10152 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-webjs", +"repository": "rhel8-AppStream" +} +], +"set_id": 10153 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-pcp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10154 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quagga", +"repository": "rhel7-base" +} +], +"set_id": 10159 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "frr", +"repository": "rhel8-AppStream" +} +], +"set_id": 10160 +}, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quagga-contrib", +"repository": "rhel7-base" +} +], +"set_id": 10161 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "frr-contrib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10162 +}, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnftnl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10164 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 6704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opae", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10175 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xdp-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 10176 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slirp4netns", +"repository": "rhel8-AppStream" +} +], +"set_id": 10182 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libslirp", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "slirp4netns", +"repository": "rhel8-AppStream" +} +], +"set_id": 10183 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oci-seccomp-bpf-hook", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10184 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen-libopts-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10185 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-unixODBC234", +"repository": "rhel7-base" +} +], +"set_id": 10186 +}, +"initial_release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "network-manager-applet", +"repository": "rhel8-AppStream" +} +], +"set_id": 10190 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnma", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "network-manager-applet", +"repository": "rhel8-AppStream" +} +], +"set_id": 10191 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librsvg-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10196 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librsvg2-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 10198 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-lite-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10201 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10203 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-part-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10204 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-loop-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10205 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-swap-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10206 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-mdraid-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10207 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-fs-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10208 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-crypto-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10209 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-lvm-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10210 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-vdo-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10211 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libudisks2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10212 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-server-source", +"repository": "rhel8-CRB" +} +], +"set_id": 10213 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 10214 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setools-console-analyses", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10216 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setools-gui", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10217 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmaxminddb-devel-debuginfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 10218 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dovecot-pigeonhole", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10219 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxkbfile-1.1.0-1.el8", +"repository": "rhel8-AppStream" +} +], +"set_id": 10220 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-utils-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10221 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXvMC-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10222 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-default-gems", +"repository": "rhel8-AppStream" +} +], +"set_id": 10223 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 10224 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 10225 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana-scaleout", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 10226 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana-scaleout", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 10227 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-did_you_mean", +"repository": "rhel8-AppStream" +} +], +"set_id": 10228 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire0.2", +"repository": "rhel8-AppStream" +} +], +"set_id": 10229 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tracker-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10230 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "net-snmp-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 10231 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "udisks2-vdo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10233 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstoragemgmt-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10234 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "udisks2-lsm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10235 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le" +], +"id": 6744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-bootwrapper", +"repository": "rhel7-base" +} +], +"set_id": 10236 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le" +], +"id": 6745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-dmidecode", +"repository": "rhel7-base" +} +], +"set_id": 10237 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nispor", +"repository": "rhel8-AppStream" +} +], +"set_id": 10238 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libselinux-python3", +"repository": "rhel7-base" +} +], +"set_id": 10239 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libselinux", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10240 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10241 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "postfix-ldap", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "postfix-pcre", +"repository": "rhel8-AppStream" +} +], +"set_id": 10242 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix-cdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 10243 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix-sqlite", +"repository": "rhel8-AppStream" +} +], +"set_id": 10244 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix-pgsql", +"repository": "rhel8-AppStream" +} +], +"set_id": 10245 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Object-HashBase-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 10246 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Object-HashBase", +"repository": "rhel8-AppStream" +} +], +"set_id": 10247 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "quota-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10248 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyodbc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10249 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libecpg", +"repository": "rhel8-AppStream" +} +], +"set_id": 10250 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpgtypes", +"repository": "rhel8-AppStream" +} +], +"set_id": 10251 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libecpg-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10252 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crash-spu-commands", +"repository": "rhel7-base" +} +], +"set_id": 10254 +}, +"initial_release": { +"major_version": 7, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-ui", +"repository": "rhel8-CRB" +} +], +"set_id": 10255 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-ui-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10256 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-gobject-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10257 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "avahi-glib-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10258 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-String", +"repository": "rhel8-CRB" +} +], +"set_id": 10259 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-String", +"repository": "rhel8-AppStream" +} +], +"set_id": 10260 +}, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "webkit2gtk3-plugin-process-gtk2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10262 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-gtk2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10263 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-gtk3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10264 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-systemtap", +"repository": "rhel8-AppStream" +} +], +"set_id": 10267 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10", +"repository": "rhel8-AppStream" +} +], +"set_id": 10268 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsemanage-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10272 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-rhev-debuginfo", +"repository": "rhel7-rhevh" +} +], +"set_id": 10273 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "av" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-guest-agent-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-img-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-block-curl-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-block-gluster-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-block-iscsi-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-block-rbd-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-block-ssh-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-common-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-core-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-debugsource", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "qemu-kvm-tests-debuginfo", +"repository": "rhel8-Advanced-Virt" +} +], +"set_id": 10274 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-install", +"repository": "rhel7-base" +} +], +"set_id": 10277 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-install", +"repository": "rhel8-AppStream" +} +], +"set_id": 10278 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt", +"repository": "rhel7-base" +} +], +"set_id": 10279 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 10280 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-admin", +"repository": "rhel7-optional" +} +], +"set_id": 10281 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-admin", +"repository": "rhel8-AppStream" +} +], +"set_id": 10282 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-bash-completion", +"repository": "rhel7-base" +} +], +"set_id": 10283 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-bash-completion", +"repository": "rhel8-AppStream" +} +], +"set_id": 10284 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-client", +"repository": "rhel7-base" +} +], +"set_id": 10285 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 10286 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon", +"repository": "rhel7-base" +} +], +"set_id": 10287 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon", +"repository": "rhel8-AppStream" +} +], +"set_id": 10288 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-config-network", +"repository": "rhel7-base" +} +], +"set_id": 10289 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-config-network", +"repository": "rhel8-AppStream" +} +], +"set_id": 10290 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-config-nwfilter", +"repository": "rhel7-base" +} +], +"set_id": 10291 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-config-nwfilter", +"repository": "rhel8-AppStream" +} +], +"set_id": 10292 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-interface", +"repository": "rhel7-base" +} +], +"set_id": 10293 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-interface", +"repository": "rhel8-AppStream" +} +], +"set_id": 10294 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-network", +"repository": "rhel7-base" +} +], +"set_id": 10301 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-network", +"repository": "rhel8-AppStream" +} +], +"set_id": 10302 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-nodedev", +"repository": "rhel7-base" +} +], +"set_id": 10303 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-nodedev", +"repository": "rhel8-AppStream" +} +], +"set_id": 10304 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-nwfilter", +"repository": "rhel7-base" +} +], +"set_id": 10305 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-nwfilter", +"repository": "rhel8-AppStream" +} +], +"set_id": 10306 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-qemu", +"repository": "rhel7-base" +} +], +"set_id": 10307 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-qemu", +"repository": "rhel8-AppStream" +} +], +"set_id": 10308 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-secret", +"repository": "rhel7-base" +} +], +"set_id": 10309 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-secret", +"repository": "rhel8-AppStream" +} +], +"set_id": 10310 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage", +"repository": "rhel7-base" +} +], +"set_id": 10311 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage", +"repository": "rhel8-AppStream" +} +], +"set_id": 10312 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-core", +"repository": "rhel7-base" +} +], +"set_id": 10313 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 10314 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-disk", +"repository": "rhel7-base" +} +], +"set_id": 10315 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-disk", +"repository": "rhel8-AppStream" +} +], +"set_id": 10316 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 6790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-gluster", +"repository": "rhel7-base" +} +], +"set_id": 10317 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-gluster", +"repository": "rhel8-AppStream" +} +], +"set_id": 10318 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-iscsi", +"repository": "rhel7-base" +} +], +"set_id": 10319 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-iscsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 10320 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-logical", +"repository": "rhel7-base" +} +], +"set_id": 10321 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-logical", +"repository": "rhel8-AppStream" +} +], +"set_id": 10322 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-mpath", +"repository": "rhel7-base" +} +], +"set_id": 10323 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-mpath", +"repository": "rhel8-AppStream" +} +], +"set_id": 10324 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 6794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-rbd", +"repository": "rhel7-base" +} +], +"set_id": 10325 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-rbd", +"repository": "rhel8-AppStream" +} +], +"set_id": 10326 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-scsi", +"repository": "rhel7-base" +} +], +"set_id": 10327 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-scsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 10328 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-kvm", +"repository": "rhel7-base" +} +], +"set_id": 10329 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-kvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 10330 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-devel", +"repository": "rhel7-base" +} +], +"set_id": 10331 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10332 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-docs", +"repository": "rhel7-base" +} +], +"set_id": 10333 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 10334 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-libs", +"repository": "rhel7-base" +} +], +"set_id": 10335 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 10336 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-lock-sanlock", +"repository": "rhel7-optional" +} +], +"set_id": 10337 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-lock-sanlock", +"repository": "rhel8-AppStream" +} +], +"set_id": 10338 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-nss", +"repository": "rhel7-optional" +} +], +"set_id": 10339 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-nss", +"repository": "rhel8-AppStream" +} +], +"set_id": 10340 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt-kvm", +"repository": "rhel7-nfv" +} +], +"set_id": 10341 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-rt-kvm", +"repository": "rhel8-NFV" +} +], +"set_id": 10342 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rshim", +"repository": "rhel8-AppStream" +} +], +"set_id": 10343 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsmi-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10344 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-8", +"repository": "rhel7-sap" +} +], +"set_id": 10348 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-9", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 10349 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhel-system-roles-sap", +"repository": "rhel7-sap-hana" +} +], +"set_id": 10350 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhel-system-roles-sap", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 10352 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6809, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-10", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 10353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 6810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana-scaleout", +"repository": "rhel7-sap-hana" +} +], +"set_id": 10356 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana-scaleout", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 10357 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 6811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sap-cluster-connector", +"repository": "rhel7-sap" +} +], +"set_id": 10358 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sap-cluster-connector", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 10359 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6812, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vhostmd", +"repository": "rhel7-sap" +} +], +"set_id": 10362 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vhostmd", +"repository": "rhel8-AppStream" +} +], +"set_id": 10363 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vm-dump-metrics", +"repository": "rhel7-sap" +} +], +"set_id": 10364 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vm-dump-metrics", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10365 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-docker", +"repository": "rhel7-extras" +} +], +"set_id": 10366 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "container-tools", +"stream": "1.0" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +} +], +"name": "cockpit-podman", +"repository": "rhel8-AppStream" +} +], +"set_id": 10367 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-kubernetes", +"repository": "rhel7-ose-3.7" +} +], +"set_id": 10368 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6816, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "perl-Sys-Virt", +"repository": "rhel8-AppStream" +} +], +"set_id": 10369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "netcf", +"repository": "rhel8-AppStream" +} +], +"set_id": 10370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "netcf-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 10371 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-prefork", +"repository": "rhel8-CRB" +} +], +"set_id": 10372 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.0" +} +], +"name": "swig", +"repository": "rhel8-AppStream" +} +], +"set_id": 10374 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.0" +} +], +"name": "swig-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10375 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.0" +} +], +"name": "swig-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 10376 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 6824, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-sap", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 10378 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 6825, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-sap-hana", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 10379 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mailx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10385 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "s-nail", +"repository": "rhel9-AppStream" +} +], +"set_id": 10386 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6828, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mailx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10385 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6829, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "scala", +"stream": "2.10" +} +], +"name": "scala", +"repository": "rhel8-AppStream" +} +], +"set_id": 10387 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mercurial", +"stream": "4.8" +} +], +"name": "mercurial", +"repository": "rhel8-AppStream" +} +], +"set_id": 10388 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpng12", +"repository": "rhel8-AppStream" +} +], +"set_id": 10389 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6832, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-support-tool", +"repository": "rhel8-AppStream" +} +], +"set_id": 10390 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-support-lib-python", +"repository": "rhel8-AppStream" +} +], +"set_id": 10391 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64" +], +"id": 6834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rt-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 10392 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "realtime-tests", +"repository": "rhel9-AppStream" +} +], +"set_id": 10393 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64" +], +"id": 6835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rt-setup", +"repository": "rhel8-RT" +} +], +"set_id": 10394 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "realtime-setup", +"repository": "rhel9-RT" +} +], +"set_id": 10395 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libs", +"repository": "rhel7-base" +} +], +"set_id": 10400 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-debug", +"repository": "rhel7-optional" +} +], +"set_id": 10401 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-devel", +"repository": "rhel7-optional" +} +], +"set_id": 10402 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-idle", +"repository": "rhel7-optional" +} +], +"set_id": 10403 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-test", +"repository": "rhel7-optional" +} +], +"set_id": 10404 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tkinter", +"repository": "rhel7-optional" +} +], +"set_id": 10405 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6844, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3", +"repository": "rhel7-base" +} +], +"set_id": 10406 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6845, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-setuptools", +"repository": "rhel7-base" +} +], +"set_id": 10407 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-setuptools", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "python3-setuptools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10408 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-devel", +"repository": "rhel7-base" +} +], +"set_id": 10415 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog-udpspoof", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10421 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6848, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog-udpspoof", +"repository": "rhel9-AppStream" +} +], +"set_id": 10793 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 10479 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-static", +"repository": "rhel8-CRB" +} +], +"set_id": 10478 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10477 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf", +"repository": "rhel8-CRB" +} +], +"set_id": 10476 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvncserver", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10468 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nkf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10452 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXNVCtrl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10453 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mcpp", +"repository": "rhel9-AppStream" +} +], +"set_id": 10455 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsolv-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10456 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsolv-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 10457 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnf-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10458 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librepo-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10459 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librhsm-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10460 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-kiosk-40~alpha-7.el9", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10461 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isl", +"repository": "rhel8-AppStream" +} +], +"set_id": 10480 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10481 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr32", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10464 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "utf8cpp", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10465 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyOpenSSL", +"repository": "rhel8-AppStream" +} +], +"set_id": 10467 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xapian-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 10469 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hplip-gui", +"repository": "rhel8-AppStream" +} +], +"set_id": 10470 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hplip", +"repository": "rhel9-AppStream" +} +], +"set_id": 10471 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sane-frontends", +"repository": "rhel8-AppStream" +} +], +"set_id": 10472 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xsane-gimp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10473 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sane-airscan", +"repository": "rhel9-AppStream" +} +], +"set_id": 10474 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gutenprint-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 10475 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf", +"repository": "rhel8-CRB" +} +], +"set_id": 10476 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10477 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-static", +"repository": "rhel8-CRB" +} +], +"set_id": 10478 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarf-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 10479 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isl", +"repository": "rhel8-AppStream" +} +], +"set_id": 10480 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "isl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10481 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "univocity-output-tester", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10482 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-sshd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10483 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-server-Xwayland", +"repository": "rhel8-AppStream" +} +], +"set_id": 10487 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "adobe-source-sans-pro-fonts-3.02803.el9.noarch.rpm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10489 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "annobin", +"repository": "rhel9-AppStream" +} +], +"set_id": 10490 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhc", +"repository": "rhel9-AppStream" +} +], +"set_id": 10491 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "buildnumber-maven-plugin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10494 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "treelayout", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10495 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-0.14.3-4.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10500 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgovirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 12309 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcacard", +"repository": "rhel8-AppStream" +} +], +"set_id": 12307 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "phodav-2.5-4.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10504 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbd-3.21-2.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10506 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-lwt-5.3.0-7.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10507 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-ounit-2.2.2-15.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10508 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-ocplib-endian-1.1-5.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10509 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-result-1.5-7.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10510 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-seq-0.2.2-4.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10511 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-mmap-1.1.0-16.el9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10512 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pecl-xdebug", +"repository": "rhel8-AppStream" +} +], +"set_id": 10514 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pecl-xdebug3", +"repository": "rhel9-AppStream" +} +], +"set_id": 10515 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mptcpd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10516 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libIDL", +"repository": "rhel8-CRB" +} +], +"set_id": 10517 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libIDL-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10518 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gfbgraph", +"repository": "rhel8-AppStream" +} +], +"set_id": 10519 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "re2c", +"repository": "rhel8-CRB" +} +], +"set_id": 10520 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbxtool", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10521 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-iscsi-direct", +"repository": "rhel8-Advanced-Virt" +} +], +"set_id": 10522 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-debuginfo", +"repository": "rhel7-base" +} +], +"set_id": 10524 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "av" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-admin-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-client-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-interface-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-network-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-nodedev-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-nwfilter-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-qemu-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-secret-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-core-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-gluster-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-iscsi-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-iscsi-direct-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-logical-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-mpath-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-rbd-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-daemon-driver-storage-scsi-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-dbus-debuginfo-1.3.0-2.module", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-dbus-debugsource-1.3.0-2.module", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-debuginfo-6.0.0-25.5.module", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-debugsource-6.0.0-25.5.module", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-libs-debuginfo-6.0.0-25.5.module", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-lock-sanlock-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-nss-debuginfo", +"repository": "rhel8-Advanced-Virt" +}, +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "av" +} +], +"name": "libvirt-python-debugsource", +"repository": "rhel8-Advanced-Virt" +} +], +"set_id": 10525 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-online-miners", +"repository": "rhel8-AppStream" +} +], +"set_id": 10528 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autoconf213", +"repository": "rhel8-CRB" +} +], +"set_id": 10529 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-menus", +"repository": "rhel8-AppStream" +} +], +"set_id": 10530 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire0.2-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10531 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire0.2-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 10532 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stringtemplate", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10533 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-mock", +"repository": "rhel8-CRB" +} +], +"set_id": 10534 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-mock", +"repository": "rhel8-AppStream" +} +], +"set_id": 10535 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-mock", +"repository": "rhel8-AppStream" +} +], +"set_id": 10535 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "python3-nss", +"repository": "rhel8-AppStream" +} +], +"set_id": 10537 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "python3-nss", +"repository": "rhel8-AppStream" +} +], +"set_id": 10537 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10538 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libavc1394", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10539 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libraw1394", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10540 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiec61883", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10541 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-console-framework", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10542 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-slip", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10543 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paranamer", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10544 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "curl", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10545 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gphoto2", +"repository": "rhel8-AppStream" +} +], +"set_id": 10546 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cmirror", +"repository": "rhel8-ResilientStorage" +} +], +"set_id": 10547 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sanlk-reset", +"repository": "rhel8-AppStream" +} +], +"set_id": 10548 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcomps-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10549 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcomps-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10550 +}, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen", +"repository": "rhel8-CRB" +} +], +"set_id": 14314 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guile", +"repository": "rhel8-AppStream" +} +], +"set_id": 10552 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guile", +"repository": "rhel8-AppStream" +} +], +"set_id": 10552 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "timedatex", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10553 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmetalink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10554 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmetalink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10554 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-apps", +"repository": "rhel8-AppStream" +} +], +"set_id": 10555 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-font-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 10558 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mkfontscale", +"repository": "rhel9-AppStream" +} +], +"set_id": 10559 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-xkb-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10560 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "setxkbmap", +"repository": "rhel9-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "xkbcomp", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10561 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-schedutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10564 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-schedutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10564 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-logmanager", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10565 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-logmanager", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10565 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-click", +"repository": "rhel8-AppStream" +} +], +"set_id": 10566 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-click", +"repository": "rhel8-AppStream" +} +], +"set_id": 10566 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-flask", +"repository": "rhel8-AppStream" +} +], +"set_id": 10567 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-flask", +"repository": "rhel8-AppStream" +} +], +"set_id": 10567 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-itsdangerous", +"repository": "rhel8-AppStream" +} +], +"set_id": 10568 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-itsdangerous", +"repository": "rhel8-AppStream" +} +], +"set_id": 10568 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-werkzeug", +"repository": "rhel8-AppStream" +} +], +"set_id": 10569 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-werkzeug", +"repository": "rhel8-AppStream" +} +], +"set_id": 10569 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stax2-api", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10570 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stax2-api", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10570 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-ibmpkcs11", +"repository": "rhel8-AppStream" +} +], +"set_id": 10572 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-ibmpkcs11", +"repository": "rhel8-AppStream" +} +], +"set_id": 10572 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "reflections", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10573 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "reflections", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10573 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10574 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "batik", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10574 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pydbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 10575 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pydbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 10575 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 6996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-annotations-1.2-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10576 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jboss-annotations-1.2-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10576 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "environment-modules-compat", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10577 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 6999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "environment-modules-compat", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10577 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "future", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10578 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "future", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10578 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pillow", +"repository": "rhel8-AppStream" +} +], +"set_id": 10579 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pillow", +"repository": "rhel8-AppStream" +} +], +"set_id": 10579 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipython", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10580 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipython", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10580 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "woodstox-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10582 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "woodstox-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10582 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glog", +"repository": "rhel8-CRB" +} +], +"set_id": 10583 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glog-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10584 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libaec", +"repository": "rhel8-CRB" +} +], +"set_id": 10585 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libaec-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10586 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libyami", +"repository": "rhel8-AppStream" +} +], +"set_id": 10587 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libyami", +"repository": "rhel8-AppStream" +} +], +"set_id": 10587 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 10588 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 10588 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-contrib", +"repository": "rhel8-AppStream" +} +], +"set_id": 10589 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-contrib", +"repository": "rhel8-AppStream" +} +], +"set_id": 10589 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencv-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10590 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jwt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10591 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jwt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10591 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-oauthlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12405 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-oauthlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 12406 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests-oauthlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12407 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests-oauthlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 12408 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-html5lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 10595 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-html5lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 10595 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-webencodings", +"repository": "rhel8-AppStream" +} +], +"set_id": 10600 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-webencodings", +"repository": "rhel8-AppStream" +} +], +"set_id": 10600 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-hypothesis", +"repository": "rhel8-CRB" +} +], +"set_id": 10602 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pulseaudio", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10604 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-pulseaudio", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10605 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uglify-js", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10606 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uglify-js", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10606 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "js-uglify", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10607 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "js-uglify", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10607 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-scm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10608 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-scm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10608 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bouncycastle", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10609 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bouncycastle", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10609 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 10610 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "createrepo_c-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 10611 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uthash", +"repository": "rhel8-CRB" +} +], +"set_id": 10614 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gdb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10613 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pandoc", +"repository": "rhel8-CRB" +} +], +"set_id": 10615 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shrinkwrap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10616 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shrinkwrap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10616 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-jsp-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10618 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-jsp-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10618 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-el", +"repository": "rhel8-AppStream" +} +], +"set_id": 10621 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-el", +"repository": "rhel8-AppStream" +} +], +"set_id": 10621 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-artifact-resolver", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-artifact-transfer", +"repository": "rhel8-CRB" +} +], +"set_id": 10624 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-artifact-transfer", +"repository": "rhel9-CRB" +} +], +"set_id": 10625 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "cal10n", +"repository": "rhel8-CRB" +} +], +"set_id": 10626 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "cal10n", +"repository": "rhel8-CRB" +} +], +"set_id": 10626 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "spice-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10627 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "spice-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10627 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "javassist", +"repository": "rhel8-AppStream" +} +], +"set_id": 10628 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "javassist", +"repository": "rhel8-AppStream" +} +], +"set_id": 10628 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "isorelax", +"repository": "rhel8-CRB" +} +], +"set_id": 10629 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "isorelax", +"repository": "rhel8-CRB" +} +], +"set_id": 10629 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "forge-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10630 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "forge-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10630 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "objectweb-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 10631 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "objectweb-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 10631 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-component-api", +"repository": "rhel8-CRB" +} +], +"set_id": 10632 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-component-api", +"repository": "rhel8-CRB" +} +], +"set_id": 10632 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "weld-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10633 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "weld-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10633 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "jboss-interceptors-1.2-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10634 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "jboss-interceptors-1.2-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10634 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-install-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10635 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-install-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10635 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "geronimo-jpa", +"repository": "rhel8-CRB" +} +], +"set_id": 10636 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "geronimo-jpa", +"repository": "rhel8-CRB" +} +], +"set_id": 10636 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jaxen", +"repository": "rhel8-CRB" +} +], +"set_id": 10637 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jaxen", +"repository": "rhel8-CRB" +} +], +"set_id": 10637 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "aopalliance", +"repository": "rhel8-AppStream" +} +], +"set_id": 10638 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "aopalliance", +"repository": "rhel8-AppStream" +} +], +"set_id": 10638 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jtidy", +"repository": "rhel8-CRB" +} +], +"set_id": 10639 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jtidy", +"repository": "rhel8-CRB" +} +], +"set_id": 10639 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvoikko-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10641 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "base64coder", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10642 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "base64coder", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10642 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-custodia", +"repository": "rhel8-AppStream" +} +], +"set_id": 10644 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-custodia", +"repository": "rhel8-AppStream" +} +], +"set_id": 10644 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "custodia", +"repository": "rhel8-AppStream" +} +], +"set_id": 10645 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-varlink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10649 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsqlite3x", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10647 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsqlite3x", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10647 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-varlink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10649 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvarlink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10650 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvarlink", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10650 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "binutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10651 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "binutils", +"repository": "rhel9-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "binutils-gold", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10652 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sysfsutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10653 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sysfsutils", +"repository": "rhel9-AppStream" +} +], +"set_id": 10654 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "criu-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 10656 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "criu-libs", +"repository": "rhel9-CRB" +} +], +"set_id": 10657 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmodulemd1", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10658 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmodulemd1", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10658 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcgroup", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10659 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcgroup", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10659 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "httpcomponents-client", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jakarta-commons-httpclient", +"repository": "rhel8-CRB" +} +], +"set_id": 10660 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-client", +"repository": "rhel9-AppStream" +} +], +"set_id": 10661 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "spec-version-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10662 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javacc", +"repository": "rhel8-CRB" +} +], +"set_id": 10663 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests-gssapi", +"repository": "rhel9-AppStream" +} +], +"set_id": 10664 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-urllib-gssapi", +"repository": "rhel9-AppStream" +} +], +"set_id": 10665 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javacc-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10666 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-exec", +"repository": "rhel8-CRB" +} +], +"set_id": 10667 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "exec-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10668 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-velocity", +"repository": "rhel8-CRB" +} +], +"set_id": 10669 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-interactivity", +"repository": "rhel8-CRB" +} +], +"set_id": 10670 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-i18n", +"repository": "rhel8-CRB" +} +], +"set_id": 10671 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-reporting-api", +"repository": "rhel8-CRB" +} +], +"set_id": 10672 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-invoker", +"repository": "rhel8-CRB" +} +], +"set_id": 10673 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-invoker-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10674 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-ivy", +"repository": "rhel8-CRB" +} +], +"set_id": 10675 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-contrib", +"repository": "rhel8-CRB" +} +], +"set_id": 10676 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia", +"repository": "rhel8-CRB" +} +], +"set_id": 10677 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-sitetools", +"repository": "rhel8-CRB" +} +], +"set_id": 10678 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-clean-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10679 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "bsh", +"repository": "rhel8-CRB" +} +], +"set_id": 10680 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-script-interpreter", +"repository": "rhel8-CRB" +} +], +"set_id": 10681 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-reporting-impl", +"repository": "rhel8-CRB" +} +], +"set_id": 10682 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-bisect-ppx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10683 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-bisect-ppx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10683 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlgraphics-commons", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10684 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlgraphics-commons", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10684 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10685 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jetty", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10685 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmcpp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10687 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmcpp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10687 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-doc", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10688 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-ckb", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10689 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-langpack-mnw", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10690 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flex-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10691 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfl-devel", +"repository": "rhel9-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "libfl-static", +"repository": "rhel9-CRB" +} +], +"set_id": 10692 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "os-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10693 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cpio", +"repository": "rhel8-AppStream" +} +], +"set_id": 10694 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cpio", +"repository": "rhel8-AppStream" +} +], +"set_id": 10694 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cbi-plugins", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10695 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cbi-plugins", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10695 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "codehaus-parent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10696 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "codehaus-parent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10696 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 10697 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 10697 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-devel-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10698 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-devel-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10698 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-libelf-devel-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10699 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-libelf-devel-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10699 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpfm-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 10700 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpfm-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 10700 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-pymongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 10701 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-pymongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 10701 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "highlight-gui", +"repository": "rhel8-AppStream" +} +], +"set_id": 10702 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "highlight-gui", +"repository": "rhel8-AppStream" +} +], +"set_id": 10702 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "sonatype-oss-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10703 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "log4j12", +"repository": "rhel8-AppStream" +} +], +"set_id": 10704 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "log4j12", +"repository": "rhel8-AppStream" +} +], +"set_id": 10704 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javamail", +"repository": "rhel8-CRB" +} +], +"set_id": 10705 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-mail", +"repository": "rhel9-CRB" +} +], +"set_id": 10706 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "metacity", +"repository": "rhel8-AppStream" +} +], +"set_id": 10707 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-kiosk", +"repository": "rhel9-AppStream" +} +], +"set_id": 10708 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtcanvas3d", +"repository": "rhel8-AppStream" +} +], +"set_id": 10768 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libGLEW", +"repository": "rhel8-CRB" +} +], +"set_id": 10710 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glew-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10711 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dyninst-testsuite", +"repository": "rhel9-CRB" +} +], +"set_id": 10712 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemtap-testsuite", +"repository": "rhel8-CRB" +} +], +"set_id": 10713 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemtap-testsuite", +"repository": "rhel9-CRB" +} +], +"set_id": 10714 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xfsprogs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10717 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xfsprogs", +"repository": "rhel9-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "xfsprogs-xfs_scrub", +"repository": "rhel9-AppStream" +} +], +"set_id": 10718 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 7172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fio", +"repository": "rhel8-AppStream" +} +], +"set_id": 10719 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fio", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-dev-dax", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-http", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-libaio", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-libpmem", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-nbd", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-pmemblk", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-rados", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-rbd", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-rdma", +"repository": "rhel9-AppStream" +} +], +"set_id": 10720 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"s390x" +], +"id": 7173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fio", +"repository": "rhel8-AppStream" +} +], +"set_id": 10721 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fio", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-http", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-libaio", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-nbd", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-rados", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-rbd", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "fio-engine-rdma", +"repository": "rhel9-AppStream" +} +], +"set_id": 10722 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "drpm", +"repository": "rhel8-AppStream" +} +], +"set_id": 10723 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "drpm", +"repository": "rhel8-AppStream" +} +], +"set_id": 10723 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "drpm-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10724 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10725 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "parfait", +"repository": "rhel8-AppStream" +} +], +"set_id": 10726 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "parfait", +"repository": "rhel8-AppStream" +} +], +"set_id": 10726 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "parfait-examples", +"repository": "rhel8-AppStream" +} +], +"set_id": 10727 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "parfait-examples", +"repository": "rhel8-AppStream" +} +], +"set_id": 10727 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "parfait-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10728 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "parfait-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 10728 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "pcp-parfait-agent", +"repository": "rhel8-AppStream" +} +], +"set_id": 10729 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "pcp-parfait-agent", +"repository": "rhel8-AppStream" +} +], +"set_id": 10729 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-rpm", +"repository": "rhel8-AppStream" +} +], +"set_id": 13192 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnf-plugin-subscription-manager", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10734 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-initial-setup-addon", +"repository": "rhel8-AppStream" +} +], +"set_id": 10735 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-initial-setup-addon", +"repository": "rhel8-AppStream" +} +], +"set_id": 10735 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-migration", +"repository": "rhel8-AppStream" +} +], +"set_id": 10736 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-migration", +"repository": "rhel8-AppStream" +} +], +"set_id": 10736 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-migration-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 10737 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-migration-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 10737 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-syspurpose", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10806 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnf-plugin-subscription-manager", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "subscription-manager", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10739 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10740 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hesiod", +"repository": "rhel8-AppStream" +} +], +"set_id": 10741 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-hesiod", +"repository": "rhel9-AppStream" +} +], +"set_id": 10742 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-annotations", +"repository": "rhel8-AppStream" +} +], +"set_id": 10743 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-jackson-annotations", +"repository": "rhel9-AppStream" +} +], +"set_id": 10744 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 10745 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-jackson-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 10746 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-databind", +"repository": "rhel8-AppStream" +} +], +"set_id": 10747 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-jackson-databind", +"repository": "rhel9-AppStream" +} +], +"set_id": 10748 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-jaxrs-json-provider", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10749 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-jackson-jaxrs-json-provider", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10750 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-jaxrs-providers", +"repository": "rhel8-AppStream" +} +], +"set_id": 10751 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-jackson-jaxrs-providers", +"repository": "rhel9-AppStream" +} +], +"set_id": 10752 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "resteasy", +"repository": "rhel8-AppStream" +} +], +"set_id": 10753 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-resteasy-client", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "pki-resteasy-core", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "pki-resteasy-jackson2-provider", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "pki-resteasy-jaxb-provider", +"repository": "rhel9-AppStream" +} +], +"set_id": 10754 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "python3-qrcode", +"repository": "rhel8-AppStream" +} +], +"set_id": 10755 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-qrcode-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 10756 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "ee4j-parent", +"repository": "rhel8-AppStream" +} +], +"set_id": 10757 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "ee4j-parent", +"repository": "rhel8-AppStream" +} +], +"set_id": 10757 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "jaf", +"repository": "rhel8-AppStream" +} +], +"set_id": 10758 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "jaf", +"repository": "rhel8-AppStream" +} +], +"set_id": 10758 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdb-minimal", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10759 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunwind", +"repository": "rhel8-AppStream" +} +], +"set_id": 10766 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libunwind", +"repository": "rhel8-AppStream" +} +], +"set_id": 10766 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtcanvas3d", +"repository": "rhel8-AppStream" +} +], +"set_id": 10768 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtcanvas3d-examples", +"repository": "rhel8-AppStream" +} +], +"set_id": 10769 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtcanvas3d-examples", +"repository": "rhel8-AppStream" +} +], +"set_id": 10769 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "selinux-policy-minimum", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10770 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "selinux-policy-minimum", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10770 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "libselinux-python", +"stream": "2.8" +} +], +"name": "libselinux-python", +"repository": "rhel8-AppStream" +} +], +"set_id": 10771 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "libselinux-python", +"stream": "2.8" +} +], +"name": "libselinux-python", +"repository": "rhel8-AppStream" +} +], +"set_id": 10771 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-B-Debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 10772 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-B-Debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 10772 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-B-Lint", +"repository": "rhel8-AppStream" +} +], +"set_id": 11395 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Factory-Util", +"repository": "rhel8-CRB" +} +], +"set_id": 11396 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Format-HTTP", +"repository": "rhel8-CRB" +} +], +"set_id": 10778 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DateTime-Format-Mail", +"repository": "rhel8-CRB" +} +], +"set_id": 10779 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jolokia-jvm-agent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10782 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jolokia-jvm-agent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10782 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-CheckTree", +"repository": "rhel8-AppStream" +} +], +"set_id": 10783 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-CheckTree", +"repository": "rhel8-AppStream" +} +], +"set_id": 10783 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-scons", +"repository": "rhel8-CRB" +} +], +"set_id": 10785 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-BSD-Resource", +"repository": "rhel9-AppStream" +} +], +"set_id": 10786 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Size-Any", +"repository": "rhel9-AppStream" +} +], +"set_id": 10787 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Size-Perl", +"repository": "rhel9-AppStream" +} +], +"set_id": 10788 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gssntlmssp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10797 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gssntlmssp", +"repository": "rhel8-AppStream" +} +], +"set_id": 10797 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trace-cmd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10799 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtracecmd", +"repository": "rhel9-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "libtracecmd-devel", +"repository": "rhel9-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "trace-cmd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10800 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-syspurpose", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10806 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shadow-utils-subid", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10807 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shadow-utils-subid-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 10808 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-api", +"repository": "rhel9-AppStream" +} +], +"set_id": 10809 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-api-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 10810 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-cli", +"repository": "rhel9-AppStream" +} +], +"set_id": 10811 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-client-xlators", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10812 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 10813 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-fuse", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10814 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-libs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10815 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-rdma", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10816 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-interpreter", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10817 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-AutoLoader", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-AutoSplit", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-autouse", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-B", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-base", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Benchmark", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-blib", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Class-Struct", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Config-Extensions", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-DBM_Filter", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-debugger", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-deprecate", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-diagnostics", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-DirHandle", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-doc", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Dumpvalue", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-DynaLoader", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-encoding-warnings", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-English", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Constant", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Fcntl", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-fields", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-Basename", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-FileCache", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-Compare", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-Copy", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-DosGlob", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-Find", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-FileHandle", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-stat", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-filetest", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-FindBin", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-GDBM_File", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Getopt-Std", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Hash-Util", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Hash-Util-FieldHash", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-I18N-Collate", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-I18N-Langinfo", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-I18N-LangTags", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-if", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-interpreter", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-IPC-Open3", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-less", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-lib", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-locale", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-meta-notation", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-mro", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-NDBM_File", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Net", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-NEXT", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-ODBM_File", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Opcode", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-overload", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-overloading", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-ph", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Functions", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-POSIX", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Safe", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Search-Dict", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-SelectSaver", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-sigtrap", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-sort", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-subs", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Symbol", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Sys-Hostname", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Term-Complete", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Term-ReadLine", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Text-Abbrev", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Thread", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Thread-Semaphore", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Tie", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Tie-File", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Tie-Memoize", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Tie-RefHash", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Time", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-UCD", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-User-pwent", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-vars", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-vmsish", +"repository": "rhel9-AppStream" +} +], +"set_id": 10818 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le" +], +"id": 7284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcxl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10819 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le" +], +"id": 7286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcxl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10820 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10821 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-vpd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10822 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-vpd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10822 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-zlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10823 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-zlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10823 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-zlib-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10824 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genwqe-zlib-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10824 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdap", +"repository": "rhel8-CRB" +} +], +"set_id": 10825 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdap-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10826 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openhpi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10833 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openhpi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10833 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openhpi-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10834 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openhpi-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10834 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmusicbrainz5", +"repository": "rhel8-AppStream" +} +], +"set_id": 10835 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmusicbrainz5", +"repository": "rhel8-AppStream" +} +], +"set_id": 10835 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmusicbrainz5-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 10836 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-XString", +"repository": "rhel9-CRB" +} +], +"set_id": 10837 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBD-MariaDB", +"repository": "rhel9-AppStream" +} +], +"set_id": 10839 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-gather", +"repository": "rhel8-AppStream" +} +], +"set_id": 10842 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-schedutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10843 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-schedutils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10843 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-debuginfod", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10854 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-debuginfod", +"repository": "rhel9-AppStream" +} +], +"set_id": 10855 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-debuginfod-client-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10856 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-debuginfod-client-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 10857 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10858 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 10859 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-libelf-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10860 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "elfutils-libelf-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 10861 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbabeltrace", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10852 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbabeltrace", +"repository": "rhel9-AppStream" +} +], +"set_id": 10853 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rig", +"repository": "rhel9-BaseOS" +} +], +"set_id": 10863 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-atk-wrapper", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10864 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-atk-wrapper", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10864 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9", +"repository": "rhel8-AppStream" +} +], +"set_id": 10865 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-annobin", +"repository": "rhel8-AppStream" +} +], +"set_id": 10866 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-build", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10867 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-perftools", +"repository": "rhel8-AppStream" +} +], +"set_id": 10868 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 10869 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-toolchain", +"repository": "rhel8-BaseOS" +} +], +"set_id": 10870 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "apache-commons-jxpath", +"repository": "rhel8-AppStream" +} +], +"set_id": 10877 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "apache-commons-jxpath", +"repository": "rhel8-AppStream" +} +], +"set_id": 10877 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10879 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10880 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-resource-bundles", +"repository": "rhel8-CRB" +} +], +"set_id": 10881 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "apiguardian", +"repository": "rhel8-AppStream" +} +], +"set_id": 10882 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "apiguardian", +"repository": "rhel8-AppStream" +} +], +"set_id": 10882 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "assertj-core-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 10883 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "byaccj", +"repository": "rhel8-CRB" +} +], +"set_id": 10885 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-osgi-compendium", +"repository": "rhel8-CRB" +} +], +"set_id": 10887 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-osgi-core", +"repository": "rhel8-CRB" +} +], +"set_id": 10888 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-osgi-foundation", +"repository": "rhel8-CRB" +} +], +"set_id": 10889 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10890 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "fusesource-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 10891 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "geronimo-annotation", +"repository": "rhel8-AppStream" +} +], +"set_id": 10892 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "geronimo-annotation", +"repository": "rhel8-AppStream" +} +], +"set_id": 10892 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "geronimo-jms", +"repository": "rhel8-CRB" +} +], +"set_id": 10893 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "geronimo-parent-poms", +"repository": "rhel8-CRB" +} +], +"set_id": 10894 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-annotation-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10895 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-annotation-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10895 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "glassfish-legal", +"repository": "rhel8-CRB" +} +], +"set_id": 10896 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "glassfish-master-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 10897 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-servlet-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10898 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-servlet-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 10898 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "scala", +"stream": "2.10" +}, +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "hawtjni", +"repository": "rhel8-AppStream" +} +], +"set_id": 10899 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "scala", +"stream": "2.10" +}, +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "hawtjni", +"repository": "rhel8-AppStream" +} +], +"set_id": 10899 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "httpcomponents-project", +"repository": "rhel8-CRB" +} +], +"set_id": 10900 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "scala", +"stream": "2.10" +}, +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "jansi-native", +"repository": "rhel8-AppStream" +} +], +"set_id": 10902 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "scala", +"stream": "2.10" +}, +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "jansi-native", +"repository": "rhel8-AppStream" +} +], +"set_id": 10902 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "java_cup", +"repository": "rhel8-CRB" +} +], +"set_id": 10903 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jboss-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10904 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdependency", +"repository": "rhel8-CRB" +} +], +"set_id": 10906 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdom", +"repository": "rhel8-CRB" +} +], +"set_id": 10907 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdom2", +"repository": "rhel8-CRB" +} +], +"set_id": 10908 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jflex", +"repository": "rhel8-CRB" +} +], +"set_id": 10910 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "scala", +"stream": "2.10" +} +], +"name": "jline", +"repository": "rhel8-AppStream" +} +], +"set_id": 10911 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "scala", +"stream": "2.10" +} +], +"name": "jline", +"repository": "rhel8-AppStream" +} +], +"set_id": 10911 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jvnet-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10914 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-antrun-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10916 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-assembly-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10917 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-dependency-analyzer", +"repository": "rhel8-CRB" +} +], +"set_id": 10918 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-dependency-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10919 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10920 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugins-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 10921 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shade-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10922 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shared", +"repository": "rhel8-CRB" +} +], +"set_id": 10923 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-verifier-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 10924 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "modello", +"repository": "rhel8-CRB" +} +], +"set_id": 10925 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "mojo-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10926 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "munge-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 10927 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "objectweb-asm-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 10928 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "objectweb-asm-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 10928 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-ant-factory", +"repository": "rhel8-CRB" +} +], +"set_id": 10930 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-bsh-factory", +"repository": "rhel8-CRB" +} +], +"set_id": 10931 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-cli", +"repository": "rhel8-CRB" +} +], +"set_id": 10932 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-component-factories-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 10933 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-components-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 10934 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 10935 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock", +"repository": "rhel8-CRB" +} +], +"set_id": 10936 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "regexp-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 10937 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "sisu-mojos", +"repository": "rhel8-CRB" +} +], +"set_id": 10939 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "sonatype-plugins-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 10940 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "testng", +"repository": "rhel8-CRB" +} +], +"set_id": 10941 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xz-java-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 10944 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xz-java-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 10944 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-activation", +"repository": "rhel9-AppStream" +} +], +"set_id": 10967 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-annotations", +"repository": "rhel9-AppStream" +} +], +"set_id": 10968 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-servlet", +"repository": "rhel9-CRB" +} +], +"set_id": 10969 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-provider-junit5", +"repository": "rhel9-CRB" +} +], +"set_id": 10995 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "lucene", +"repository": "rhel8-AppStream" +} +], +"set_id": 11026 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "lucene", +"repository": "rhel8-AppStream" +} +], +"set_id": 11026 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "icu4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 11032 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "icu4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 11032 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbpf-tools", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11033 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "3.1" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-abrt", +"repository": "rhel8-AppStream" +} +], +"set_id": 11034 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "3.1" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-abrt", +"repository": "rhel8-AppStream" +} +], +"set_id": 11034 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "3.1" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-abrt-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11035 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "3.1" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-abrt-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11035 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11036 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11036 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-manual", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11037 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "msv-manual", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11037 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10", +"repository": "rhel8-AppStream" +} +], +"set_id": 11038 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-annobin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11039 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-binutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 11040 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-binutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11041 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-build", +"repository": "rhel8-AppStream" +} +], +"set_id": 11042 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-dwz", +"repository": "rhel8-AppStream" +} +], +"set_id": 11043 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-dyninst", +"repository": "rhel8-AppStream" +} +], +"set_id": 11044 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-dyninst-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11045 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "cargo-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11112 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cargo-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 11113 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust", +"repository": "rhel8-AppStream" +} +], +"set_id": 11054 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust", +"repository": "rhel9-AppStream" +} +], +"set_id": 11055 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 11129 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-gdb", +"repository": "rhel9-AppStream" +} +], +"set_id": 11130 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-elfutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 11067 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-elfutils-debuginfod-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 11075 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-elfutils-debuginfod-client-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11076 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-elfutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11077 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-elfutils-libelf", +"repository": "rhel8-AppStream" +} +], +"set_id": 11078 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-elfutils-libelf-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11079 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-elfutils-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11080 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-gcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11081 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-gcc-c++", +"repository": "rhel8-AppStream" +} +], +"set_id": 11082 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-gcc-gdb-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11083 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-gcc-gfortran", +"repository": "rhel8-AppStream" +} +], +"set_id": 11084 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-libasan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11085 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-libatomic-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11086 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-libitm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11087 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-liblsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11088 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-libquadmath-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11089 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-libstdc++-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11090 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-libstdc++-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11091 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-libtsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11092 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-libubsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11093 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 11094 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-gdb-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11095 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-gdb-gdbserver", +"repository": "rhel8-AppStream" +} +], +"set_id": 11096 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "cargo", +"repository": "rhel8-AppStream" +} +], +"set_id": 11097 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cargo", +"repository": "rhel9-AppStream" +} +], +"set_id": 11098 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-ltrace", +"repository": "rhel8-AppStream" +} +], +"set_id": 11099 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-make", +"repository": "rhel8-AppStream" +} +], +"set_id": 11100 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-make-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11101 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-strace", +"repository": "rhel8-AppStream" +} +], +"set_id": 11102 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-systemtap", +"repository": "rhel8-AppStream" +} +], +"set_id": 11103 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-systemtap-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 11104 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-systemtap-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11105 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-systemtap-initscript", +"repository": "rhel8-AppStream" +} +], +"set_id": 11106 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-systemtap-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 11107 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-systemtap-sdt-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11108 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-systemtap-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 11109 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-valgrind", +"repository": "rhel8-AppStream" +} +], +"set_id": 11110 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-valgrind-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11111 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "clippy", +"repository": "rhel8-AppStream" +} +], +"set_id": 11114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clippy", +"repository": "rhel9-AppStream" +} +], +"set_id": 11115 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rls", +"repository": "rhel8-AppStream" +} +], +"set_id": 11116 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rls", +"repository": "rhel9-AppStream" +} +], +"set_id": 11117 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-analysis", +"repository": "rhel8-AppStream" +} +], +"set_id": 11118 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-analysis", +"repository": "rhel9-AppStream" +} +], +"set_id": 11119 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-debugger-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 11120 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-debugger-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 11121 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-toolchain", +"repository": "rhel8-AppStream" +} +], +"set_id": 11122 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 11123 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 11125 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-perftools", +"repository": "rhel8-AppStream" +} +], +"set_id": 11126 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rustfmt", +"repository": "rhel8-AppStream" +} +], +"set_id": 11127 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rustfmt", +"repository": "rhel9-AppStream" +} +], +"set_id": 11128 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-lldb", +"repository": "rhel8-AppStream" +} +], +"set_id": 11131 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-lldb", +"repository": "rhel9-AppStream" +} +], +"set_id": 11132 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-src", +"repository": "rhel8-AppStream" +} +], +"set_id": 11133 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-src", +"repository": "rhel9-AppStream" +} +], +"set_id": 11134 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-std-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 11135 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-std-static", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11136 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-std-static-wasm32-unknown-unknown", +"repository": "rhel8-AppStream" +} +], +"set_id": 11137 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-std-static-wasm32-unknown-unknown", +"repository": "rhel9-AppStream" +} +], +"set_id": 11138 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-toolset", +"repository": "rhel8-AppStream" +} +], +"set_id": 11139 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-toolset", +"repository": "rhel9-AppStream" +} +], +"set_id": 11140 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "delve", +"repository": "rhel8-AppStream" +} +], +"set_id": 11141 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "delve", +"repository": "rhel9-AppStream" +} +], +"set_id": 11142 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "golang", +"repository": "rhel8-AppStream" +} +], +"set_id": 11143 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang", +"repository": "rhel9-AppStream" +} +], +"set_id": 11144 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "golang-bin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11145 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-bin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11146 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "golang-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11147 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11148 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "golang-misc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11149 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-misc", +"repository": "rhel9-AppStream" +} +], +"set_id": 11150 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "golang-race", +"repository": "rhel8-AppStream" +} +], +"set_id": 11151 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-race", +"repository": "rhel9-AppStream" +} +], +"set_id": 11152 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "golang-src", +"repository": "rhel8-AppStream" +} +], +"set_id": 11153 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-src", +"repository": "rhel9-AppStream" +} +], +"set_id": 11154 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "golang-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 11155 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "golang-tests", +"repository": "rhel9-AppStream" +} +], +"set_id": 11156 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "go-toolset", +"stream": "rhel8" +} +], +"name": "go-toolset", +"repository": "rhel8-AppStream" +} +], +"set_id": 11157 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "go-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "go-toolset", +"repository": "rhel9-AppStream" +} +], +"set_id": 11158 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "clang", +"repository": "rhel8-AppStream" +} +], +"set_id": 11159 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang", +"repository": "rhel9-AppStream" +} +], +"set_id": 11160 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "clang-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11161 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11162 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "compiler-rt", +"repository": "rhel8-AppStream" +} +], +"set_id": 11163 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compiler-rt", +"repository": "rhel9-AppStream" +} +], +"set_id": 11164 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "libomp", +"repository": "rhel8-AppStream" +} +], +"set_id": 11165 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libomp", +"repository": "rhel9-AppStream" +} +], +"set_id": 11166 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "libomp-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11167 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libomp-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11168 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "libomp-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 11169 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libomp-test", +"repository": "rhel9-AppStream" +} +], +"set_id": 11170 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "lld", +"repository": "rhel8-AppStream" +} +], +"set_id": 11171 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lld", +"repository": "rhel9-AppStream" +} +], +"set_id": 11172 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "lldb", +"repository": "rhel8-AppStream" +} +], +"set_id": 11173 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lldb", +"repository": "rhel9-AppStream" +} +], +"set_id": 11174 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "lld-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11175 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lld-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11176 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "lld-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 11177 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lld-test", +"repository": "rhel9-AppStream" +} +], +"set_id": 11178 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "llvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 11179 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm", +"repository": "rhel9-AppStream" +} +], +"set_id": 11180 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "llvm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11181 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11182 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "llvm-googletest", +"repository": "rhel8-AppStream" +} +], +"set_id": 11183 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-googletest", +"repository": "rhel9-AppStream" +} +], +"set_id": 11184 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "llvm-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11185 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11186 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "llvm-static", +"repository": "rhel8-AppStream" +} +], +"set_id": 11187 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-static", +"repository": "rhel9-AppStream" +} +], +"set_id": 11188 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "llvm-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 11189 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-test", +"repository": "rhel9-AppStream" +} +], +"set_id": 11190 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "llvm-toolset", +"repository": "rhel8-AppStream" +} +], +"set_id": 11191 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-toolset", +"repository": "rhel9-AppStream" +} +], +"set_id": 11192 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "python3-clang", +"repository": "rhel8-AppStream" +} +], +"set_id": 11193 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-clang", +"repository": "rhel9-AppStream" +} +], +"set_id": 11194 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "python3-lit", +"repository": "rhel8-AppStream" +} +], +"set_id": 11195 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lit", +"repository": "rhel9-AppStream" +} +], +"set_id": 11196 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "python3-lldb", +"repository": "rhel8-AppStream" +} +], +"set_id": 11197 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lldb", +"repository": "rhel9-AppStream" +} +], +"set_id": 11198 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11199 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11200 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "jss", +"repository": "rhel8-AppStream" +} +], +"set_id": 11201 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jss", +"repository": "rhel9-AppStream" +} +], +"set_id": 11202 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "ldapjdk", +"repository": "rhel8-AppStream" +} +], +"set_id": 11203 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldapjdk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11204 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-acme", +"repository": "rhel8-AppStream" +} +], +"set_id": 11207 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-acme", +"repository": "rhel9-AppStream" +} +], +"set_id": 11208 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 11209 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 11210 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-base-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 11211 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-base-java", +"repository": "rhel9-AppStream" +} +], +"set_id": 11212 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 11213 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-ca", +"repository": "rhel9-AppStream" +} +], +"set_id": 11214 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-kra", +"repository": "rhel8-AppStream" +} +], +"set_id": 11215 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-kra", +"repository": "rhel9-AppStream" +} +], +"set_id": 11216 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 11217 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 11218 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-symkey", +"repository": "rhel8-AppStream" +} +], +"set_id": 11219 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-symkey", +"repository": "rhel9-AppStream" +} +], +"set_id": 11220 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 11221 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11222 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "python3-pki", +"repository": "rhel8-AppStream" +} +], +"set_id": 11223 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pki", +"repository": "rhel9-AppStream" +} +], +"set_id": 11224 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "tomcatjss", +"repository": "rhel8-AppStream" +} +], +"set_id": 11225 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcatjss", +"repository": "rhel9-AppStream" +} +], +"set_id": 11226 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "python3-ipaclient", +"repository": "rhel8-AppStream" +} +], +"set_id": 11227 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ipaclient", +"repository": "rhel9-AppStream" +} +], +"set_id": 11228 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius", +"repository": "rhel8-AppStream" +} +], +"set_id": 11229 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "freeradius", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeradius", +"repository": "rhel9-AppStream" +} +], +"set_id": 11230 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11231 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "freeradius", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeradius-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11232 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11233 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "freeradius", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeradius-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 11234 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-krb5", +"repository": "rhel8-AppStream" +} +], +"set_id": 11235 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "freeradius", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeradius-krb5", +"repository": "rhel9-AppStream" +} +], +"set_id": 11236 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-ldap", +"repository": "rhel8-AppStream" +} +], +"set_id": 11237 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "freeradius", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeradius-ldap", +"repository": "rhel9-AppStream" +} +], +"set_id": 11238 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 11239 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "freeradius", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freeradius-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 11240 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "krb5-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11241 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "krb5-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11242 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11243 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11244 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "python3-freeradius", +"repository": "rhel8-AppStream" +} +], +"set_id": 11245 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "freeradius", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-freeradius", +"repository": "rhel9-AppStream" +} +], +"set_id": 11246 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "bind-dyndb-ldap", +"repository": "rhel8-AppStream" +} +], +"set_id": 11247 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-dyndb-ldap", +"repository": "rhel9-AppStream" +} +], +"set_id": 11248 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "ipa-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 11249 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client", +"repository": "rhel9-AppStream" +} +], +"set_id": 11250 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "ipa-client-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 11251 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 11252 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "ipa-client-epn", +"repository": "rhel8-AppStream" +} +], +"set_id": 11253 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client-epn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11254 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "ipa-client-samba", +"repository": "rhel8-AppStream" +} +], +"set_id": 11255 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-client-samba", +"repository": "rhel9-AppStream" +} +], +"set_id": 11256 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "ipa-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 11257 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 11258 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-healthcheck", +"repository": "rhel8-AppStream" +} +], +"set_id": 11259 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-healthcheck", +"repository": "rhel9-AppStream" +} +], +"set_id": 11260 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "ipa-healthcheck-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 11261 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-healthcheck-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 11262 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "ipa-selinux", +"repository": "rhel8-AppStream" +} +], +"set_id": 11263 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-selinux", +"repository": "rhel9-AppStream" +} +], +"set_id": 11264 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 11265 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 11266 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-server-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 11267 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-server-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 11268 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-server-dns", +"repository": "rhel8-AppStream" +} +], +"set_id": 11269 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-server-dns", +"repository": "rhel9-AppStream" +} +], +"set_id": 11270 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-server-trust-ad", +"repository": "rhel8-AppStream" +} +], +"set_id": 11271 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipa-server-trust-ad", +"repository": "rhel9-AppStream" +} +], +"set_id": 11272 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "opendnssec", +"repository": "rhel8-AppStream" +} +], +"set_id": 11273 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opendnssec", +"repository": "rhel9-AppStream" +} +], +"set_id": 11274 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "python3-ipalib", +"repository": "rhel8-AppStream" +} +], +"set_id": 11277 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ipalib", +"repository": "rhel9-AppStream" +} +], +"set_id": 11278 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "python3-ipaserver", +"repository": "rhel8-AppStream" +} +], +"set_id": 11279 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ipaserver", +"repository": "rhel9-AppStream" +} +], +"set_id": 11280 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "python3-ipatests", +"repository": "rhel8-AppStream" +} +], +"set_id": 11281 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ipatests", +"repository": "rhel9-CRB" +} +], +"set_id": 11282 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "python3-jwcrypto", +"repository": "rhel8-AppStream" +} +], +"set_id": 11283 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jwcrypto", +"repository": "rhel9-AppStream" +} +], +"set_id": 11284 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "python3-kdcproxy", +"repository": "rhel8-AppStream" +} +], +"set_id": 11285 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-kdcproxy", +"repository": "rhel9-AppStream" +} +], +"set_id": 11286 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "python3-pyusb", +"repository": "rhel8-AppStream" +} +], +"set_id": 11287 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyusb", +"repository": "rhel9-AppStream" +} +], +"set_id": 11288 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +}, +{ +"name": "idm", +"stream": "client" +} +], +"name": "python3-yubico", +"repository": "rhel8-AppStream" +} +], +"set_id": 11289 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "idm", +"stream": "client" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-yubico", +"repository": "rhel9-AppStream" +} +], +"set_id": 11290 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "slapi-nis", +"repository": "rhel8-AppStream" +} +], +"set_id": 11291 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slapi-nis", +"repository": "rhel9-AppStream" +} +], +"set_id": 11292 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "softhsm", +"repository": "rhel8-AppStream" +} +], +"set_id": 11293 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "idm", +"stream": "DL1" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "softhsm", +"repository": "rhel9-AppStream" +} +], +"set_id": 11294 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "c-ares-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11295 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "c-ares-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11296 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mod_auth_openidc", +"stream": "2.3" +} +], +"name": "cjose", +"repository": "rhel8-AppStream" +} +], +"set_id": 11297 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mod_auth_openidc", +"stream": "2.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cjose", +"repository": "rhel9-AppStream" +} +], +"set_id": 11298 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mod_auth_openidc", +"stream": "2.3" +} +], +"name": "mod_auth_openidc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11299 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mod_auth_openidc", +"stream": "2.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_auth_openidc", +"repository": "rhel9-AppStream" +} +], +"set_id": 11300 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11301 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11302 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aajohan-comfortaa-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11303 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aajohan-comfortaa-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11304 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontconfig", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11305 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontconfig", +"repository": "rhel9-AppStream" +} +], +"set_id": 11306 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontconfig-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11307 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontconfig-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11308 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gettext-common-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11309 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gettext-common-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11310 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gettext-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11311 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gettext-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11312 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-roboto-slab-fonts", +"repository": "rhel8-CRB" +} +], +"set_id": 11313 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-roboto-slab-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11314 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icu", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11315 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11316 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-fonts-common", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11317 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-fonts-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 11318 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-mono-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11319 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-mono-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11320 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-narrow-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11321 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-narrow-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11322 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-sans-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11323 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-sans-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11324 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-serif-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11325 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-serif-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11326 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libicu-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11327 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libicu-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11328 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-fonts", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11329 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liberation-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11330 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdatrie-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11331 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdatrie-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11332 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libthai-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11333 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libthai-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11334 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdrdao", +"repository": "rhel8-AppStream" +} +], +"set_id": 11335 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdrdao", +"repository": "rhel8-AppStream" +} +], +"set_id": 11335 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dvd+rw-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 11336 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dvd+rw-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 11336 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gflags-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11338 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gflags", +"repository": "rhel8-CRB" +} +], +"set_id": 11339 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lensfun-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11340 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lensfun", +"repository": "rhel8-CRB" +} +], +"set_id": 11341 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "metis-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11342 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "metis", +"repository": "rhel8-CRB" +} +], +"set_id": 11343 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scotch", +"repository": "rhel8-CRB" +} +], +"set_id": 11344 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scotch-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11345 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-mpich", +"repository": "rhel8-CRB" +} +], +"set_id": 11346 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-mpich-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11347 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-openmpi", +"repository": "rhel8-CRB" +} +], +"set_id": 11348 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-openmpi-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11349 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ptscotch-mpich-devel-parmetis", +"repository": "rhel8-CRB" +} +], +"set_id": 11350 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sparsehash-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11351 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SuperLU", +"repository": "rhel8-CRB" +} +], +"set_id": 11352 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SuperLU-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-solv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11354 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-solv", +"repository": "rhel9-AppStream" +} +], +"set_id": 11355 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bea-stax", +"repository": "rhel7-base" +} +], +"set_id": 11356 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bea-stax", +"repository": "rhel7-base" +} +], +"set_id": 11356 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "bea-stax-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 11359 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "bea-stax-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 11359 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "codemodel", +"repository": "rhel8-CRB" +} +], +"set_id": 11362 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-fastinfoset", +"repository": "rhel8-AppStream" +} +], +"set_id": 11363 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-fastinfoset", +"repository": "rhel8-AppStream" +} +], +"set_id": 11363 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-jaxb-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 11364 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-api", +"repository": "rhel9-AppStream" +} +], +"set_id": 11382 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-jaxb-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 11365 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-jaxb-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 11365 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-jaxb-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 11366 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-impl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11383 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-jaxb-txw2", +"repository": "rhel8-AppStream" +} +], +"set_id": 11367 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "glassfish-jaxb-txw2", +"repository": "rhel8-AppStream" +} +], +"set_id": 11367 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "istack-commons", +"repository": "rhel8-CRB" +} +], +"set_id": 11368 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-istack-commons", +"repository": "rhel9-CRB" +} +], +"set_id": 11387 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "istack-commons-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 11369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "istack-commons-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 11369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "istack-commons-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 11370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "istack-commons-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 11370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "python-nss-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11371 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "python-nss-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11371 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "relaxngDatatype", +"repository": "rhel8-AppStream" +} +], +"set_id": 11372 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "relaxngDatatype", +"repository": "rhel8-AppStream" +} +], +"set_id": 11372 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "stax-ex", +"repository": "rhel8-AppStream" +} +], +"set_id": 11373 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "stax-ex", +"repository": "rhel8-AppStream" +} +], +"set_id": 11373 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xmlstreambuffer", +"repository": "rhel8-AppStream" +} +], +"set_id": 11374 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xmlstreambuffer", +"repository": "rhel8-AppStream" +} +], +"set_id": 11374 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xsom", +"repository": "rhel8-AppStream" +} +], +"set_id": 11375 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xsom", +"repository": "rhel8-AppStream" +} +], +"set_id": 11375 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jackson-module-jaxb-annotations", +"repository": "rhel8-AppStream" +} +], +"set_id": 11377 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-jackson-module-jaxb-annotations", +"repository": "rhel9-AppStream" +} +], +"set_id": 11381 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inih", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11378 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-storage-manager", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11379 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "system-storage-manager", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11379 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "jss-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11380 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "jss-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11380 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-bom", +"repository": "rhel9-CRB" +} +], +"set_id": 11384 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-bom-ext", +"repository": "rhel9-CRB" +} +], +"set_id": 11386 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "ldapjdk-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11388 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "ldapjdk-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11388 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-B-Lint", +"repository": "rhel8-AppStream" +} +], +"set_id": 11395 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libxml-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 11397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libxml-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 11397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sblim-gather-provider", +"repository": "rhel8-AppStream" +} +], +"set_id": 11398 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhugetlbfs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11400 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7824, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhugetlbfs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11400 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7825, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Locale-Codes", +"repository": "rhel8-AppStream" +} +], +"set_id": 11401 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7826, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +null +], +"name": "perl-Locale-Codes", +"repository": "rhel8-AppStream" +} +], +"set_id": 11401 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhugetlbfs-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11402 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7828, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhugetlbfs-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11402 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhugetlbfs-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11405 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhugetlbfs-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11404 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7832, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL_sound", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11406 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL_sound", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11406 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeconf", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11410 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7836, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11411 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7837, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "google-gson", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15872 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mobile-broadband-provider-info-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11413 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblogging", +"repository": "rhel8-AppStream" +} +], +"set_id": 11414 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblogging", +"repository": "rhel8-AppStream" +} +], +"set_id": 11414 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmongocrypt", +"repository": "rhel8-AppStream" +} +], +"set_id": 11415 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmongocrypt", +"repository": "rhel8-AppStream" +} +], +"set_id": 11415 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7844, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mongo-c-driver", +"repository": "rhel8-AppStream" +} +], +"set_id": 11416 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7845, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mongo-c-driver", +"repository": "rhel8-AppStream" +} +], +"set_id": 11416 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpid-proton", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpid-proton", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gevent", +"repository": "rhel8-AppStream" +} +], +"set_id": 11419 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gevent", +"repository": "rhel8-AppStream" +} +], +"set_id": 11419 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7852, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnsl2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnsl2", +"repository": "rhel9-AppStream" +} +], +"set_id": 11421 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7853, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cffi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11422 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cffi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11423 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cryptography", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11424 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cryptography", +"repository": "rhel9-AppStream" +} +], +"set_id": 11425 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-dns", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-dns", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13042 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-dns", +"repository": "rhel9-AppStream" +} +], +"set_id": 13043 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7856, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ply", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11428 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ply", +"repository": "rhel9-AppStream" +} +], +"set_id": 11429 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pycparser", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11430 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pycparser", +"repository": "rhel9-AppStream" +} +], +"set_id": 11431 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unicode-ucd-unihan", +"repository": "rhel8-CRB" +} +], +"set_id": 11434 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-srpm-macros", +"repository": "rhel9-AppStream" +} +], +"set_id": 11435 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7864, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "linux-firmware-whence", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11436 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7865, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11437 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11438 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-headers", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11439 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-headers", +"repository": "rhel9-AppStream" +} +], +"set_id": 11440 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perf", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11441 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perf", +"repository": "rhel9-AppStream" +} +], +"set_id": 11442 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7868, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audit-libs-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11443 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audit-libs-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11444 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7869, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11445 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11446 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-ng-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11447 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-ng-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 11448 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libjose-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11449 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libjose-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11450 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libluksmeta-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11451 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libluksmeta-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11452 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-audit", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11453 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-audit", +"repository": "rhel9-AppStream" +} +], +"set_id": 11454 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fapolicyd-dnf-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11455 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-ng-python3", +"repository": "rhel9-AppStream" +} +], +"set_id": 11456 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sudo-python-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11457 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-sd8686-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11458 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-sd8686-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11458 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-usb8388-olpc-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11459 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-usb8388-olpc-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11459 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog-udpspoof", +"repository": "rhel8-AppStream" +} +], +"set_id": 11460 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sshpass", +"repository": "rhel9-AppStream" +} +], +"set_id": 11461 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-networkx-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 11462 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-networkx-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 11462 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-openssl10", +"repository": "rhel8-AppStream" +} +], +"set_id": 11463 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-openssl10", +"repository": "rhel8-AppStream" +} +], +"set_id": 11463 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-gtk", +"repository": "rhel8-AppStream" +} +], +"set_id": 11464 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-gtk", +"repository": "rhel8-AppStream" +} +], +"set_id": 11464 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fipscheck", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11465 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fipscheck", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11465 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fipscheck-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11466 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fipscheck-lib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11467 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fipscheck-lib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11467 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnupg2-smime", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11468 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnupg2-smime", +"repository": "rhel9-AppStream" +} +], +"set_id": 12620 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssh-cavs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11469 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssh-cavs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11469 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssh-ldap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11470 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssh-ldap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11470 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcsc-lite-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11471 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcsc-lite-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11471 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-emacs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11472 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-emacs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11472 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhsm-gtk", +"repository": "rhel8-AppStream" +} +], +"set_id": 11476 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhsm-gtk", +"repository": "rhel8-AppStream" +} +], +"set_id": 11476 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 7907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-10", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 11480 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 13359 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-server-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11482 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 7912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached", +"repository": "rhel8-AppStream" +} +], +"set_id": 11483 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached-awesome", +"repository": "rhel9-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "libmemcached-awesome-tools", +"repository": "rhel9-CRB" +} +], +"set_id": 11484 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached", +"repository": "rhel8-AppStream" +} +], +"set_id": 11483 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "rhel8" +} +], +"name": "crit", +"repository": "rhel8-AppStream" +} +], +"set_id": 11487 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtar", +"repository": "rhel8-AppStream" +} +], +"set_id": 11488 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtar", +"repository": "rhel8-AppStream" +} +], +"set_id": 11488 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trousers", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11489 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trousers", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11489 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "augeas", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11490 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "augeas", +"repository": "rhel9-AppStream" +} +], +"set_id": 11491 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "augeas-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11492 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "augeas-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11493 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dtc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11494 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dtc", +"repository": "rhel9-AppStream" +} +], +"set_id": 11495 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "hivex", +"repository": "rhel8-AppStream" +} +], +"set_id": 11498 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hivex", +"repository": "rhel9-AppStream" +} +], +"set_id": 11499 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "hivex-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11500 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hivex-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11501 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11502 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11503 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-bash-completion", +"repository": "rhel8-AppStream" +} +], +"set_id": 11504 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-bash-completion", +"repository": "rhel9-AppStream" +} +], +"set_id": 11505 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11506 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11507 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7930, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-gobject", +"repository": "rhel8-AppStream" +} +], +"set_id": 11508 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-gobject", +"repository": "rhel9-CRB" +} +], +"set_id": 11509 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-gobject-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11510 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-gobject-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11511 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-inspect-icons", +"repository": "rhel8-AppStream" +} +], +"set_id": 11512 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-inspect-icons", +"repository": "rhel9-AppStream" +} +], +"set_id": 11513 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-adwaita-icon-theme", +"repository": "rhel8-CRB" +} +], +"set_id": 11514 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-glib-networking", +"repository": "rhel9-CRB" +} +], +"set_id": 11515 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-nettle", +"repository": "rhel8-CRB" +} +], +"set_id": 11516 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-man-pages-ja", +"repository": "rhel8-AppStream" +} +], +"set_id": 11517 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-man-pages-ja", +"repository": "rhel9-CRB" +} +], +"set_id": 11518 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-man-pages-uk", +"repository": "rhel8-AppStream" +} +], +"set_id": 11519 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-man-pages-uk", +"repository": "rhel9-CRB" +} +], +"set_id": 11520 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-rescue", +"repository": "rhel8-AppStream" +} +], +"set_id": 11521 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-rescue", +"repository": "rhel9-AppStream" +} +], +"set_id": 11522 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-rsync", +"repository": "rhel8-AppStream" +} +], +"set_id": 11523 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-rsync", +"repository": "rhel9-AppStream" +} +], +"set_id": 11524 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-winsupport", +"repository": "rhel8-AppStream" +} +], +"set_id": 11525 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-winsupport", +"repository": "rhel9-AppStream" +} +], +"set_id": 11526 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-xfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11529 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-xfs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11530 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libiscsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 11531 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiscsi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11532 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libiscsi-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 11533 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiscsi-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 11534 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libnbd", +"repository": "rhel8-AppStream" +} +], +"set_id": 11535 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnbd", +"repository": "rhel9-AppStream" +} +], +"set_id": 11536 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libnbd-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11537 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnbd-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11538 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "libslirp", +"repository": "rhel8-AppStream" +} +], +"set_id": 11539 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libslirp", +"repository": "rhel9-AppStream" +} +], +"set_id": 11540 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 11541 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt", +"repository": "rhel9-AppStream" +} +], +"set_id": 11542 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 11543 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-client", +"repository": "rhel9-AppStream" +} +], +"set_id": 11544 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon", +"repository": "rhel8-AppStream" +} +], +"set_id": 11545 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon", +"repository": "rhel9-AppStream" +} +], +"set_id": 11546 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-config-network", +"repository": "rhel8-AppStream" +} +], +"set_id": 11547 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-config-network", +"repository": "rhel9-AppStream" +} +], +"set_id": 11548 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-config-nwfilter", +"repository": "rhel8-AppStream" +} +], +"set_id": 11549 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-config-nwfilter", +"repository": "rhel9-AppStream" +} +], +"set_id": 11550 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-interface", +"repository": "rhel8-AppStream" +} +], +"set_id": 11551 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-interface", +"repository": "rhel9-AppStream" +} +], +"set_id": 11552 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-network", +"repository": "rhel8-AppStream" +} +], +"set_id": 11553 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-network", +"repository": "rhel9-AppStream" +} +], +"set_id": 11554 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-nodedev", +"repository": "rhel8-AppStream" +} +], +"set_id": 11555 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-nodedev", +"repository": "rhel9-AppStream" +} +], +"set_id": 11556 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-nwfilter", +"repository": "rhel8-AppStream" +} +], +"set_id": 11557 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-nwfilter", +"repository": "rhel9-AppStream" +} +], +"set_id": 11558 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-qemu", +"repository": "rhel8-AppStream" +} +], +"set_id": 11559 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-qemu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11560 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-secret", +"repository": "rhel8-AppStream" +} +], +"set_id": 11561 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-secret", +"repository": "rhel9-AppStream" +} +], +"set_id": 11562 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage", +"repository": "rhel8-AppStream" +} +], +"set_id": 11563 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage", +"repository": "rhel9-AppStream" +} +], +"set_id": 11564 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 11565 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 11566 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-disk", +"repository": "rhel8-AppStream" +} +], +"set_id": 11567 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-disk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11568 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-iscsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 11569 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-iscsi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11570 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-logical", +"repository": "rhel8-AppStream" +} +], +"set_id": 11571 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-logical", +"repository": "rhel9-AppStream" +} +], +"set_id": 11572 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-mpath", +"repository": "rhel8-AppStream" +} +], +"set_id": 11573 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-mpath", +"repository": "rhel9-AppStream" +} +], +"set_id": 11574 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-rbd", +"repository": "rhel8-AppStream" +} +], +"set_id": 11575 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-rbd", +"repository": "rhel9-AppStream" +} +], +"set_id": 11576 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-scsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 11577 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-scsi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11578 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-kvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 11579 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-kvm", +"repository": "rhel9-AppStream" +} +], +"set_id": 11580 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-dbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 11581 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-dbus", +"repository": "rhel9-AppStream" +} +], +"set_id": 11582 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11583 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11584 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11585 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-docs", +"repository": "rhel9-CRB" +} +], +"set_id": 11586 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11587 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11588 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-lock-sanlock", +"repository": "rhel8-AppStream" +} +], +"set_id": 11589 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-lock-sanlock", +"repository": "rhel9-CRB" +} +], +"set_id": 11590 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-nss", +"repository": "rhel8-AppStream" +} +], +"set_id": 11591 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-nss", +"repository": "rhel9-AppStream" +} +], +"set_id": 11592 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "lua-guestfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11593 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-guestfs", +"repository": "rhel9-CRB" +} +], +"set_id": 11594 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdfuse", +"repository": "rhel8-AppStream" +} +], +"set_id": 11595 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdfuse", +"repository": "rhel9-AppStream" +} +], +"set_id": 11596 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit", +"repository": "rhel8-AppStream" +} +], +"set_id": 11597 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit", +"repository": "rhel9-AppStream" +} +], +"set_id": 11598 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-bash-completion", +"repository": "rhel8-AppStream" +} +], +"set_id": 11599 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-bash-completion", +"repository": "rhel9-AppStream" +} +], +"set_id": 11600 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-basic-filters", +"repository": "rhel8-AppStream" +} +], +"set_id": 11601 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-basic-filters", +"repository": "rhel9-AppStream" +} +], +"set_id": 11602 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-basic-plugins", +"repository": "rhel8-AppStream" +} +], +"set_id": 11603 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-basic-plugins", +"repository": "rhel9-AppStream" +} +], +"set_id": 11604 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-curl-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11605 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-curl-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11606 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11607 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11608 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-example-plugins", +"repository": "rhel8-AppStream" +} +], +"set_id": 11609 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-example-plugins", +"repository": "rhel9-CRB" +} +], +"set_id": 11610 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-linuxdisk-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11611 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-linuxdisk-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11612 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-python-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11613 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-python-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11614 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 11615 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 11616 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-ssh-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11617 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-ssh-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11618 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-vddk-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11619 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-vddk-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11620 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-xz-filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 11621 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-xz-filter", +"repository": "rhel9-AppStream" +} +], +"set_id": 11622 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt-devel", +"stream": "rhel" +} +], +"name": "ocaml-hivex", +"repository": "rhel8-CRB" +} +], +"set_id": 11623 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt-devel", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-hivex", +"repository": "rhel9-CRB" +} +], +"set_id": 11624 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt-devel", +"stream": "rhel" +} +], +"name": "ocaml-hivex-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11625 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt-devel", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-hivex-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11626 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt-devel", +"stream": "rhel" +} +], +"name": "ocaml-libguestfs", +"repository": "rhel8-CRB" +} +], +"set_id": 11627 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt-devel", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libguestfs", +"repository": "rhel9-CRB" +} +], +"set_id": 11628 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt-devel", +"stream": "rhel" +} +], +"name": "ocaml-libguestfs-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11629 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt-devel", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libguestfs-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11630 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt-devel", +"stream": "rhel" +} +], +"name": "ocaml-libnbd", +"repository": "rhel8-CRB" +} +], +"set_id": 11631 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt-devel", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libnbd", +"repository": "rhel9-CRB" +} +], +"set_id": 11632 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt-devel", +"stream": "rhel" +} +], +"name": "ocaml-libnbd-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11633 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt-devel", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-libnbd-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11634 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "perl-hivex", +"repository": "rhel8-AppStream" +} +], +"set_id": 11635 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-hivex", +"repository": "rhel9-AppStream" +} +], +"set_id": 11636 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "perl-Sys-Guestfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11637 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sys-Guestfs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11638 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-distro", +"repository": "rhel8-AppStream" +} +], +"set_id": 11639 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-distro", +"repository": "rhel9-AppStream" +} +], +"set_id": 11640 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "python3-hivex", +"repository": "rhel8-AppStream" +} +], +"set_id": 11641 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-hivex", +"repository": "rhel9-CRB" +} +], +"set_id": 11642 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 7999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "python3-libguestfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11643 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libguestfs", +"repository": "rhel9-CRB" +} +], +"set_id": 11644 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "python3-libnbd", +"repository": "rhel8-AppStream" +} +], +"set_id": 11645 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libnbd", +"repository": "rhel9-AppStream" +} +], +"set_id": 11646 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "python3-libvirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 11647 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libvirt", +"repository": "rhel9-AppStream" +} +], +"set_id": 11648 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-guest-agent", +"repository": "rhel8-AppStream" +} +], +"set_id": 11649 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-guest-agent", +"repository": "rhel9-AppStream" +} +], +"set_id": 11650 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-img", +"repository": "rhel8-AppStream" +} +], +"set_id": 11651 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-img", +"repository": "rhel9-AppStream" +} +], +"set_id": 11652 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 11653 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm", +"repository": "rhel9-AppStream" +} +], +"set_id": 11654 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-curl", +"repository": "rhel8-AppStream" +} +], +"set_id": 11655 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-block-curl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11656 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-rbd", +"repository": "rhel8-AppStream" +} +], +"set_id": 11657 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-block-rbd", +"repository": "rhel9-AppStream" +} +], +"set_id": 11658 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-ssh", +"repository": "rhel8-AppStream" +} +], +"set_id": 11659 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-block-ssh", +"repository": "rhel9-AppStream" +} +], +"set_id": 11660 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 11661 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 11662 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 11663 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 11664 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "ruby-hivex", +"repository": "rhel8-AppStream" +} +], +"set_id": 11665 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-hivex", +"repository": "rhel9-CRB" +} +], +"set_id": 11666 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "ruby-libguestfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 11667 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-libguestfs", +"repository": "rhel9-CRB" +} +], +"set_id": 11668 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "seabios", +"repository": "rhel8-AppStream" +} +], +"set_id": 11669 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "seabios", +"repository": "rhel9-AppStream" +} +], +"set_id": 11670 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "seabios-bin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11671 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "seabios-bin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11672 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "seavgabios-bin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11673 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "seavgabios-bin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11674 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "supermin", +"repository": "rhel8-AppStream" +} +], +"set_id": 11679 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "supermin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11680 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "supermin-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11681 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "supermin-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11682 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbredir-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 11683 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "usbredir-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11684 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vhostmd", +"repository": "rhel8-AppStream" +} +], +"set_id": 11685 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vhostmd", +"repository": "rhel9-SAP-NetWeaver" +} +], +"set_id": 11686 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "virt-v2v", +"repository": "rhel8-AppStream" +} +], +"set_id": 11689 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-v2v", +"repository": "rhel9-AppStream" +} +], +"set_id": 11690 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vm-dump-metrics", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11691 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vm-dump-metrics", +"repository": "rhel9-SAP-NetWeaver" +} +], +"set_id": 11692 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-protocol", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11693 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-protocol", +"repository": "rhel9-CRB" +} +], +"set_id": 11694 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "netronome-firmware", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11695 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iwl3945-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11696 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iwl3945-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11696 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iwl4965-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11697 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iwl4965-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11697 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-usb8388-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11698 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-usb8388-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11698 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libertas-sd8787-firmware", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11699 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-abi-whitelists", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11700 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-abi-stablelists", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11701 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "open-vm-tools-test", +"repository": "rhel9-AppStream" +} +], +"set_id": 11702 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 8034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-tools-c", +"repository": "rhel8-AppStream" +} +], +"set_id": 11703 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guestfs-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 17097 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hivex-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11704 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libguestfs-appliance", +"repository": "rhel9-AppStream" +} +], +"set_id": 11705 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnbd-bash-completion", +"repository": "rhel9-AppStream" +} +], +"set_id": 11706 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtpms", +"repository": "rhel9-AppStream" +} +], +"set_id": 11707 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-srvany", +"repository": "rhel9-AppStream" +} +], +"set_id": 11708 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-gzip-filter", +"repository": "rhel9-AppStream" +} +], +"set_id": 11709 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-nbd-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11710 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-tar-filter", +"repository": "rhel9-AppStream" +} +], +"set_id": 11711 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nbdkit-tmpdisk-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11712 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyrsistent", +"repository": "rhel9-AppStream" +} +], +"set_id": 11713 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11714 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-hw-usbredir", +"repository": "rhel9-AppStream" +} +], +"set_id": 11715 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11716 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-ui-opengl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11717 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-pr-helper", +"repository": "rhel9-AppStream" +} +], +"set_id": 11718 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-virtiofsd", +"repository": "rhel9-AppStream" +} +], +"set_id": 11719 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "swtpm", +"repository": "rhel9-AppStream" +} +], +"set_id": 11720 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "swtpm-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11721 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "swtpm-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11722 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-p2v", +"repository": "rhel9-AppStream" +} +], +"set_id": 11723 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-v2v-bash-completion", +"repository": "rhel9-AppStream" +} +], +"set_id": 11724 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-v2v-man-pages-ja", +"repository": "rhel9-CRB" +} +], +"set_id": 11725 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-v2v-man-pages-uk", +"repository": "rhel9-CRB" +} +], +"set_id": 11726 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"s390x" +], +"id": 8058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 11727 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-win-reg", +"repository": "rhel9-AppStream" +} +], +"set_id": 17098 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfido2", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11728 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxcrypt-compat", +"repository": "rhel9-AppStream" +} +], +"set_id": 11730 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libradospp-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11731 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-b2", +"repository": "rhel9-CRB" +} +], +"set_id": 11733 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-contract", +"repository": "rhel9-AppStream" +} +], +"set_id": 11734 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-doctools", +"repository": "rhel9-CRB" +} +], +"set_id": 11735 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-nowide", +"repository": "rhel9-AppStream" +} +], +"set_id": 11736 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "debugedit", +"repository": "rhel9-AppStream" +} +], +"set_id": 11737 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-gconv-extra", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11738 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "go-filesystem", +"repository": "rhel9-AppStream" +} +], +"set_id": 11739 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "go-rpm-macros", +"repository": "rhel9-AppStream" +} +], +"set_id": 11740 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "go-rpm-templates", +"repository": "rhel9-AppStream" +} +], +"set_id": 11741 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblockdev-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11742 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstoragemgmt-nfs-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11743 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstoragemgmt-targetd-plugin", +"repository": "rhel9-AppStream" +} +], +"set_id": 11744 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid", +"repository": "rhel9-AppStream" +} +], +"set_id": 11746 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid-base-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11747 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid-iface-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11748 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid-log-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11749 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid-mod-block-blkid", +"repository": "rhel9-AppStream" +} +], +"set_id": 11750 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid-mod-block-dm-mpath", +"repository": "rhel9-AppStream" +} +], +"set_id": 11751 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid-mod-dummies", +"repository": "rhel9-AppStream" +} +], +"set_id": 11752 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid-resource-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11753 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sid-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11754 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvma-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 11755 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mpich-autoload", +"repository": "rhel9-AppStream" +} +], +"set_id": 11756 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openmpi-java", +"repository": "rhel9-AppStream" +} +], +"set_id": 11757 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pmix-pmi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11758 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pmix-pmi-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11759 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pmix-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11760 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crda", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11761 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireless-regdb", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13082 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-nft", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13105 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-nft-services", +"repository": "rhel9-AppStream" +} +], +"set_id": 13106 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libell", +"repository": "rhel9-AppStream" +} +], +"set_id": 11764 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plotnetcfg", +"repository": "rhel9-AppStream" +} +], +"set_id": 11765 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyelftools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11766 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-scapy", +"repository": "rhel9-AppStream" +} +], +"set_id": 11767 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireguard-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11768 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ddiskit", +"repository": "rhel9-AppStream" +} +], +"set_id": 11769 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtraceevent", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11770 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtraceevent-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11771 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtracefs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11772 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtracefs-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11773 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm2-pkcs11", +"repository": "rhel9-AppStream" +} +], +"set_id": 11776 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm2-pkcs11-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 11777 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jq-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11778 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lasso-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 11779 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-libev", +"repository": "rhel9-BaseOS" +} +], +"set_id": 11781 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "anthy-unicode", +"repository": "rhel9-AppStream" +} +], +"set_id": 11782 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "appstream", +"repository": "rhel9-AppStream" +} +], +"set_id": 11783 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cldr-emoji-annotation-dtd", +"repository": "rhel9-AppStream" +} +], +"set_id": 11784 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-paratype-pt-sans-fonts-f33-f34", +"repository": "rhel9-AppStream" +} +], +"set_id": 11785 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-lgc-sans-mono-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11786 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dejavu-lgc-serif-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11787 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontpackages-filesystem", +"repository": "rhel8-BaseOS" +} +], +"set_id": 11788 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fonts-filesystem", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14042 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fontpackages-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 11789 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fonts-rpm-macros", +"repository": "rhel9-CRB" +} +], +"set_id": 14039 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fonts-srpm-macros", +"repository": "rhel9-AppStream" +} +], +"set_id": 11790 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-crosextra-carlito-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11791 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-carlito-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14055 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-sinhala-vf-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11793 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-gurmukhi-vf-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11794 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-serif-sinhala-vf-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11795 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-crosextra-caladea-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11797 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ht-caladea-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14056 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-eo", +"repository": "rhel9-AppStream" +} +], +"set_id": 11798 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-kkc", +"repository": "rhel8-AppStream" +} +], +"set_id": 11799 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-anthy", +"repository": "rhel9-AppStream" +} +], +"set_id": 14038 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-anthy-python", +"repository": "rhel9-AppStream" +} +], +"set_id": 11800 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kasumi-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 11801 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kasumi-unicode", +"repository": "rhel9-AppStream" +} +], +"set_id": 11802 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-battambang-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11803 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-battambang-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14046 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-bokor-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11804 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-bokor-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14047 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-base-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11805 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-content-fonts", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "khmer-os-system-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14053 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-handwritten-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11806 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-fasthand-fonts", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "khmer-os-freehand-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14052 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-handwritten-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11808 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-metal-chrieng-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11809 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-metal-chrieng-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14050 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-muol-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11810 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-muol-fonts", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "khmer-os-muol-pali-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14051 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-muol-fonts-all", +"repository": "rhel9-AppStream" +} +], +"set_id": 11811 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmeros-siemreap-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 11813 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "khmer-os-siemreap-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14048 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-bo", +"repository": "rhel9-AppStream" +} +], +"set_id": 11815 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-af", +"repository": "rhel9-AppStream" +} +], +"set_id": 11816 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-am", +"repository": "rhel9-AppStream" +} +], +"set_id": 11817 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ar", +"repository": "rhel9-AppStream" +} +], +"set_id": 11818 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-as", +"repository": "rhel9-AppStream" +} +], +"set_id": 11819 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ast", +"repository": "rhel9-AppStream" +} +], +"set_id": 11820 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-be", +"repository": "rhel9-AppStream" +} +], +"set_id": 11821 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-bg", +"repository": "rhel9-AppStream" +} +], +"set_id": 11822 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-bn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11823 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-bo", +"repository": "rhel9-AppStream" +} +], +"set_id": 11824 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-br", +"repository": "rhel9-AppStream" +} +], +"set_id": 11825 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-bs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11826 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ca", +"repository": "rhel9-AppStream" +} +], +"set_id": 11827 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-cs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11828 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-cy", +"repository": "rhel9-AppStream" +} +], +"set_id": 11829 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-da", +"repository": "rhel9-AppStream" +} +], +"set_id": 11830 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-de", +"repository": "rhel9-AppStream" +} +], +"set_id": 11831 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-dz", +"repository": "rhel9-AppStream" +} +], +"set_id": 11832 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-el", +"repository": "rhel9-AppStream" +} +], +"set_id": 11833 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-en", +"repository": "rhel9-AppStream" +} +], +"set_id": 11834 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-en_GB", +"repository": "rhel9-AppStream" +} +], +"set_id": 11835 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-eo", +"repository": "rhel9-AppStream" +} +], +"set_id": 11836 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-es", +"repository": "rhel9-AppStream" +} +], +"set_id": 11837 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-et", +"repository": "rhel9-AppStream" +} +], +"set_id": 11838 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-eu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11839 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-fa", +"repository": "rhel9-AppStream" +} +], +"set_id": 11840 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-fi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11841 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-af", +"repository": "rhel9-AppStream" +} +], +"set_id": 11842 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-am", +"repository": "rhel9-AppStream" +} +], +"set_id": 11843 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ar", +"repository": "rhel9-AppStream" +} +], +"set_id": 11844 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-as", +"repository": "rhel9-AppStream" +} +], +"set_id": 11845 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ast", +"repository": "rhel9-AppStream" +} +], +"set_id": 11846 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-be", +"repository": "rhel9-AppStream" +} +], +"set_id": 11847 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-bg", +"repository": "rhel9-AppStream" +} +], +"set_id": 11848 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-bn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11849 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-bo", +"repository": "rhel9-AppStream" +} +], +"set_id": 11850 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-br", +"repository": "rhel9-AppStream" +} +], +"set_id": 11851 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-bs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11852 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ca", +"repository": "rhel9-AppStream" +} +], +"set_id": 11853 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-cs", +"repository": "rhel9-AppStream" +} +], +"set_id": 11854 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-cy", +"repository": "rhel9-AppStream" +} +], +"set_id": 11855 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-da", +"repository": "rhel9-AppStream" +} +], +"set_id": 11856 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-de", +"repository": "rhel9-AppStream" +} +], +"set_id": 11857 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-dz", +"repository": "rhel9-AppStream" +} +], +"set_id": 11858 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-el", +"repository": "rhel9-AppStream" +} +], +"set_id": 11859 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-en", +"repository": "rhel9-AppStream" +} +], +"set_id": 11860 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-eo", +"repository": "rhel9-AppStream" +} +], +"set_id": 11861 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-es", +"repository": "rhel9-AppStream" +} +], +"set_id": 11862 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-et", +"repository": "rhel9-AppStream" +} +], +"set_id": 11863 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-eu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11864 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-fa", +"repository": "rhel9-AppStream" +} +], +"set_id": 11865 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-fi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11866 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-fr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11867 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ga", +"repository": "rhel9-AppStream" +} +], +"set_id": 11868 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-gl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11869 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-gu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11870 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-he", +"repository": "rhel9-AppStream" +} +], +"set_id": 11871 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-hi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11872 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-hr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11873 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-hu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11874 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ia", +"repository": "rhel9-AppStream" +} +], +"set_id": 11875 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-id", +"repository": "rhel9-AppStream" +} +], +"set_id": 11876 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-is", +"repository": "rhel9-AppStream" +} +], +"set_id": 11877 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-it", +"repository": "rhel9-AppStream" +} +], +"set_id": 11878 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ja", +"repository": "rhel9-AppStream" +} +], +"set_id": 11879 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ka", +"repository": "rhel9-AppStream" +} +], +"set_id": 11880 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-kk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11881 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-km", +"repository": "rhel9-AppStream" +} +], +"set_id": 11882 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-kn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11883 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ko", +"repository": "rhel9-AppStream" +} +], +"set_id": 11884 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ku", +"repository": "rhel9-AppStream" +} +], +"set_id": 11885 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-lt", +"repository": "rhel9-AppStream" +} +], +"set_id": 11886 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-lv", +"repository": "rhel9-AppStream" +} +], +"set_id": 11887 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-mai", +"repository": "rhel9-AppStream" +} +], +"set_id": 11888 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-mk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11889 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ml", +"repository": "rhel9-AppStream" +} +], +"set_id": 11890 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-mr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11891 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ms", +"repository": "rhel9-AppStream" +} +], +"set_id": 11892 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-my", +"repository": "rhel9-AppStream" +} +], +"set_id": 11893 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-nb", +"repository": "rhel9-AppStream" +} +], +"set_id": 11894 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ne", +"repository": "rhel9-AppStream" +} +], +"set_id": 11895 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-nl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11896 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-nn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11897 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-nr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11898 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-nso", +"repository": "rhel9-AppStream" +} +], +"set_id": 11899 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-or", +"repository": "rhel9-AppStream" +} +], +"set_id": 11900 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-pa", +"repository": "rhel9-AppStream" +} +], +"set_id": 11901 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-pl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11902 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-pt", +"repository": "rhel9-AppStream" +} +], +"set_id": 11903 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ro", +"repository": "rhel9-AppStream" +} +], +"set_id": 11904 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ru", +"repository": "rhel9-AppStream" +} +], +"set_id": 11905 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-si", +"repository": "rhel9-AppStream" +} +], +"set_id": 11906 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-sk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11907 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-sl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11908 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-sq", +"repository": "rhel9-AppStream" +} +], +"set_id": 11909 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-sr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11910 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ss", +"repository": "rhel9-AppStream" +} +], +"set_id": 11911 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-sv", +"repository": "rhel9-AppStream" +} +], +"set_id": 11912 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ta", +"repository": "rhel9-AppStream" +} +], +"set_id": 11913 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-te", +"repository": "rhel9-AppStream" +} +], +"set_id": 11914 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-th", +"repository": "rhel9-AppStream" +} +], +"set_id": 11915 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-tn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11916 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-tr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11917 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11918 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-uk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11919 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ur", +"repository": "rhel9-AppStream" +} +], +"set_id": 11920 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-ve", +"repository": "rhel9-AppStream" +} +], +"set_id": 11921 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-vi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11922 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-xh", +"repository": "rhel9-AppStream" +} +], +"set_id": 11923 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-yi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11924 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-zh_CN", +"repository": "rhel9-AppStream" +} +], +"set_id": 11925 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-zh_HK", +"repository": "rhel9-AppStream" +} +], +"set_id": 11926 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-zh_TW", +"repository": "rhel9-AppStream" +} +], +"set_id": 11927 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-font-zu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11928 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-fr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11929 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ga", +"repository": "rhel9-AppStream" +} +], +"set_id": 11930 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-gl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11931 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-gu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11932 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-he", +"repository": "rhel9-AppStream" +} +], +"set_id": 11933 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-hi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11934 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-hr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11935 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-hu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11936 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ia", +"repository": "rhel9-AppStream" +} +], +"set_id": 11937 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-id", +"repository": "rhel9-AppStream" +} +], +"set_id": 11938 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-is", +"repository": "rhel9-AppStream" +} +], +"set_id": 11939 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-it", +"repository": "rhel9-AppStream" +} +], +"set_id": 11940 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ja", +"repository": "rhel9-AppStream" +} +], +"set_id": 11941 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ka", +"repository": "rhel9-AppStream" +} +], +"set_id": 11942 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-kk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11943 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-km", +"repository": "rhel9-AppStream" +} +], +"set_id": 11944 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-kn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11945 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ko", +"repository": "rhel9-AppStream" +} +], +"set_id": 11946 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ku", +"repository": "rhel9-AppStream" +} +], +"set_id": 11947 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-lt", +"repository": "rhel9-AppStream" +} +], +"set_id": 11948 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-lv", +"repository": "rhel9-AppStream" +} +], +"set_id": 11949 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-mai", +"repository": "rhel9-AppStream" +} +], +"set_id": 11950 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-mk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11951 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ml", +"repository": "rhel9-AppStream" +} +], +"set_id": 11952 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-mr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11953 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ms", +"repository": "rhel9-AppStream" +} +], +"set_id": 11954 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-my", +"repository": "rhel9-AppStream" +} +], +"set_id": 11955 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-nb", +"repository": "rhel9-AppStream" +} +], +"set_id": 11956 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ne", +"repository": "rhel9-AppStream" +} +], +"set_id": 11957 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-nl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11958 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-nn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11959 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-nr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11960 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-nso", +"repository": "rhel9-AppStream" +} +], +"set_id": 11961 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-or", +"repository": "rhel9-AppStream" +} +], +"set_id": 11962 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-pa", +"repository": "rhel9-AppStream" +} +], +"set_id": 11963 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-pl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11964 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-pt", +"repository": "rhel9-AppStream" +} +], +"set_id": 11965 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-pt_BR", +"repository": "rhel9-AppStream" +} +], +"set_id": 11966 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ro", +"repository": "rhel9-AppStream" +} +], +"set_id": 11967 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ru", +"repository": "rhel9-AppStream" +} +], +"set_id": 11968 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-si", +"repository": "rhel9-AppStream" +} +], +"set_id": 11969 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-sk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11970 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-sl", +"repository": "rhel9-AppStream" +} +], +"set_id": 11971 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-sq", +"repository": "rhel9-AppStream" +} +], +"set_id": 11972 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-sr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11973 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ss", +"repository": "rhel9-AppStream" +} +], +"set_id": 11974 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-sv", +"repository": "rhel9-AppStream" +} +], +"set_id": 11975 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ta", +"repository": "rhel9-AppStream" +} +], +"set_id": 11976 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-te", +"repository": "rhel9-AppStream" +} +], +"set_id": 11977 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-th", +"repository": "rhel9-AppStream" +} +], +"set_id": 11978 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-tn", +"repository": "rhel9-AppStream" +} +], +"set_id": 11979 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-tr", +"repository": "rhel9-AppStream" +} +], +"set_id": 11980 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ts", +"repository": "rhel9-AppStream" +} +], +"set_id": 11981 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-uk", +"repository": "rhel9-AppStream" +} +], +"set_id": 11982 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ur", +"repository": "rhel9-AppStream" +} +], +"set_id": 11983 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-ve", +"repository": "rhel9-AppStream" +} +], +"set_id": 11984 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-vi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11985 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-xh", +"repository": "rhel9-AppStream" +} +], +"set_id": 11986 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-yi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11987 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-zh_CN", +"repository": "rhel9-AppStream" +} +], +"set_id": 11988 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-zh_HK", +"repository": "rhel9-AppStream" +} +], +"set_id": 11989 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-zh_TW", +"repository": "rhel9-AppStream" +} +], +"set_id": 11990 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-core-zu", +"repository": "rhel9-AppStream" +} +], +"set_id": 11991 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-dz", +"repository": "rhel9-AppStream" +} +], +"set_id": 11992 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-eo", +"repository": "rhel9-AppStream" +} +], +"set_id": 11993 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ka", +"repository": "rhel9-AppStream" +} +], +"set_id": 11994 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-km", +"repository": "rhel9-AppStream" +} +], +"set_id": 11995 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-ku", +"repository": "rhel9-AppStream" +} +], +"set_id": 11996 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-my", +"repository": "rhel9-AppStream" +} +], +"set_id": 11997 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-yi", +"repository": "rhel9-AppStream" +} +], +"set_id": 11998 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "langpacks-zh_HK", +"repository": "rhel9-AppStream" +} +], +"set_id": 11999 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-eo", +"repository": "rhel9-AppStream" +} +], +"set_id": 12000 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paratype-pt-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 12001 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pt-sans-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14054 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ruamel-yaml", +"repository": "rhel9-CRB" +} +], +"set_id": 12002 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ruamel-yaml-clib", +"repository": "rhel9-CRB" +} +], +"set_id": 12003 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uchardet", +"repository": "rhel9-CRB" +} +], +"set_id": 12004 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "voikko-fi", +"repository": "rhel9-AppStream" +} +], +"set_id": 12005 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ha-cloud-support", +"repository": "rhel9-ResilientStorage" +} +], +"set_id": 12006 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 8338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ha-cloud-support", +"repository": "rhel9-HighAvailability" +} +], +"set_id": 12007 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ha-openstack-support", +"repository": "rhel9-AppStream" +} +], +"set_id": 12008 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-compress-zstd-plugin", +"repository": "rhel9-ResilientStorage" +} +], +"set_id": 12009 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libknet1-compress-zstd-plugin", +"repository": "rhel9-HighAvailability" +} +], +"set_id": 12010 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "a52dec", +"repository": "rhel9-AppStream" +} +], +"set_id": 12011 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fdk-aac-free", +"repository": "rhel9-AppStream" +} +], +"set_id": 12012 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glslang", +"repository": "rhel9-AppStream" +} +], +"set_id": 12013 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lame", +"repository": "rhel9-AppStream" +} +], +"set_id": 12014 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libldac", +"repository": "rhel9-AppStream" +} +], +"set_id": 12015 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmpeg2", +"repository": "rhel9-AppStream" +} +], +"set_id": 12016 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsbc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12017 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvdpau-trace", +"repository": "rhel9-AppStream" +} +], +"set_id": 12018 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-demos", +"repository": "rhel9-AppStream" +} +], +"set_id": 12019 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-alsa", +"repository": "rhel9-AppStream" +} +], +"set_id": 12020 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-gstreamer", +"repository": "rhel9-AppStream" +} +], +"set_id": 12021 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-jack-audio-connection-kit", +"repository": "rhel9-AppStream" +} +], +"set_id": 12022 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-jack-audio-connection-kit-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12023 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-media-session", +"repository": "rhel9-AppStream" +} +], +"set_id": 12024 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "twolame", +"repository": "rhel9-AppStream" +} +], +"set_id": 12025 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wayland-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 12026 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "waypipe", +"repository": "rhel9-AppStream" +} +], +"set_id": 12027 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "anaconda-install-img-deps", +"repository": "rhel9-AppStream" +} +], +"set_id": 12028 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lorax-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12029 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pbzip2", +"repository": "rhel9-AppStream" +} +], +"set_id": 12030 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pycdlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 12031 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmem2", +"repository": "rhel9-AppStream" +} +], +"set_id": 12033 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmem2-debug", +"repository": "rhel9-AppStream" +} +], +"set_id": 12034 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmem2-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12035 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nfs-utils-coreos", +"repository": "rhel9-AppStream" +} +], +"set_id": 12036 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ignition", +"repository": "rhel9-AppStream" +} +], +"set_id": 12037 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zchunk-libs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12038 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "byteman-bmunit", +"repository": "rhel9-AppStream" +} +], +"set_id": 12039 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-17-openjdk", +"repository": "rhel9-AppStream" +} +], +"set_id": 12040 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-17-openjdk-headless", +"repository": "rhel9-AppStream" +} +], +"set_id": 12041 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flashrom", +"repository": "rhel9-AppStream" +} +], +"set_id": 12042 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fwupd-plugin-flashrom", +"repository": "rhel9-AppStream" +} +], +"set_id": 12043 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-efi-compat", +"repository": "rhel9-CRB" +} +], +"set_id": 12044 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libjcat", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12045 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "double-conversion", +"repository": "rhel9-AppStream" +} +], +"set_id": 12046 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evince-previewer", +"repository": "rhel9-AppStream" +} +], +"set_id": 12047 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evince-thumbnailer", +"repository": "rhel9-AppStream" +} +], +"set_id": 12048 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flatpak-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12049 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-connections", +"repository": "rhel9-AppStream" +} +], +"set_id": 12050 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libbrotli", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12051 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libical-glib", +"repository": "rhel9-AppStream" +} +], +"set_id": 12052 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libical-glib-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12053 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvala", +"repository": "rhel9-CRB" +} +], +"set_id": 12054 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vala-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12055 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvala-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 13089 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-scour", +"repository": "rhel9-AppStream" +} +], +"set_id": 12056 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5", +"repository": "rhel9-AppStream" +} +], +"set_id": 12057 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12058 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qt3d-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12059 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtbase-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12060 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtcharts-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12061 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtconnectivity-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12062 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtdatavis3d-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12063 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtdeclarative-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12064 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtgamepad-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12065 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtgraphicaleffects-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12066 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtimageformats-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12067 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtlocation-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtmultimedia-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12069 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtpurchasing-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12070 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtquickcontrols2-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12071 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtquickcontrols-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12072 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtremoteobjects-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12073 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtscript-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12074 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtscxml-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12075 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtsensors-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12076 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtserialbus-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12077 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtserialport-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12078 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtspeech-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12079 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtsvg-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12080 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qttools-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12081 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtvirtualkeyboard-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12082 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwayland-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12083 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwebchannel-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12084 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwebsockets-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12085 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwebview-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12086 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtx11extras-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12087 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtxmlpatterns-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12088 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-bookmarks", +"repository": "rhel9-AppStream" +} +], +"set_id": 12089 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xdg-dbus-proxy", +"repository": "rhel9-AppStream" +} +], +"set_id": 12090 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autocorr-dsb", +"repository": "rhel9-AppStream" +} +], +"set_id": 12091 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autocorr-el", +"repository": "rhel9-AppStream" +} +], +"set_id": 12092 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autocorr-hsb", +"repository": "rhel9-AppStream" +} +], +"set_id": 12093 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autocorr-vro", +"repository": "rhel9-AppStream" +} +], +"set_id": 12094 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Box2D", +"repository": "rhel9-CRB" +} +], +"set_id": 12095 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Box2D", +"repository": "rhel9-AppStream" +} +], +"set_id": 12096 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival", +"repository": "rhel9-AppStream" +} +], +"set_id": 12097 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festival-data", +"repository": "rhel9-AppStream" +} +], +"set_id": 12098 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "festvox-slt-arctic-hts", +"repository": "rhel9-AppStream" +} +], +"set_id": 12099 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcr-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 12100 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-sessionsaver", +"repository": "rhel9-AppStream" +} +], +"set_id": 12101 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gedit-plugin-synctex", +"repository": "rhel9-AppStream" +} +], +"set_id": 12102 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glade", +"repository": "rhel9-AppStream" +} +], +"set_id": 12103 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-devel-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12104 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-extensions-app", +"repository": "rhel9-AppStream" +} +], +"set_id": 12105 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-themes-extra", +"repository": "rhel9-AppStream" +} +], +"set_id": 12106 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-tour", +"repository": "rhel9-AppStream" +} +], +"set_id": 12107 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphene", +"repository": "rhel9-AppStream" +} +], +"set_id": 12108 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "graphene-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12109 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk4", +"repository": "rhel9-AppStream" +} +], +"set_id": 12110 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtksourceview4", +"repository": "rhel9-AppStream" +} +], +"set_id": 12111 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "highcontrast-icon-theme", +"repository": "rhel9-AppStream" +} +], +"set_id": 12112 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hunspell-filesystem", +"repository": "rhel9-AppStream" +} +], +"set_id": 12113 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libhandy", +"repository": "rhel9-AppStream" +} +], +"set_id": 12114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-help-eo", +"repository": "rhel9-AppStream" +} +], +"set_id": 12115 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-eo", +"repository": "rhel9-AppStream" +} +], +"set_id": 12116 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice-langpack-fy", +"repository": "rhel9-AppStream" +} +], +"set_id": 12117 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtracker-sparql", +"repository": "rhel9-AppStream" +} +], +"set_id": 12118 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwpe", +"repository": "rhel9-AppStream" +} +], +"set_id": 12119 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pygobject3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12120 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gobject-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 13092 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speech-tools-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12121 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sysprof-capture-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12122 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wpebackend-fdo", +"repository": "rhel9-AppStream" +} +], +"set_id": 12123 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bacula-console-bat", +"repository": "rhel9-AppStream" +} +], +"set_id": 12124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bacula-traymonitor", +"repository": "rhel9-AppStream" +} +], +"set_id": 12125 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bmc-snmp-proxy", +"repository": "rhel9-AppStream" +} +], +"set_id": 12126 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "console-setup", +"repository": "rhel9-AppStream" +} +], +"set_id": 12127 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook5-style-xsl", +"repository": "rhel9-AppStream" +} +], +"set_id": 12128 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook5-style-xsl-extensions", +"repository": "rhel9-AppStream" +} +], +"set_id": 12129 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "docbook-utils-pdf", +"repository": "rhel9-AppStream" +} +], +"set_id": 12130 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gegl04-devel-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12131 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gegl04-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 12132 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jasper", +"repository": "rhel9-AppStream" +} +], +"set_id": 12133 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jasper-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 12134 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libburn-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12135 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libisoburn-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12136 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libisofs-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12137 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librabbitmq-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 12138 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openslp-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 12140 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-volume_key", +"repository": "rhel9-AppStream" +} +], +"set_id": 12141 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-alphalph", +"repository": "rhel9-AppStream" +} +], +"set_id": 12142 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-atbegshi", +"repository": "rhel9-AppStream" +} +], +"set_id": 12143 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-attachfile2", +"repository": "rhel9-AppStream" +} +], +"set_id": 12144 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-atveryend", +"repository": "rhel9-AppStream" +} +], +"set_id": 12145 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-auxhook", +"repository": "rhel9-AppStream" +} +], +"set_id": 12146 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bigintcalc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12147 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bitset", +"repository": "rhel9-AppStream" +} +], +"set_id": 12148 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-bookmark", +"repository": "rhel9-AppStream" +} +], +"set_id": 12149 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-catchfile", +"repository": "rhel9-AppStream" +} +], +"set_id": 12150 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-colorprofiles", +"repository": "rhel9-AppStream" +} +], +"set_id": 12151 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-dehyph", +"repository": "rhel9-AppStream" +} +], +"set_id": 12152 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-epstopdf-pkg", +"repository": "rhel9-AppStream" +} +], +"set_id": 12153 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-etexcmds", +"repository": "rhel9-AppStream" +} +], +"set_id": 12154 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-etoc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12155 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-footnotehyper", +"repository": "rhel9-AppStream" +} +], +"set_id": 12156 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-gettitlestring", +"repository": "rhel9-AppStream" +} +], +"set_id": 12157 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-gnu-freefont", +"repository": "rhel9-CRB" +} +], +"set_id": 12158 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-grfext", +"repository": "rhel9-AppStream" +} +], +"set_id": 12159 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-grffile", +"repository": "rhel9-AppStream" +} +], +"set_id": 12160 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hanging", +"repository": "rhel9-AppStream" +} +], +"set_id": 12161 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hobsub", +"repository": "rhel9-AppStream" +} +], +"set_id": 12162 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hologo", +"repository": "rhel9-AppStream" +} +], +"set_id": 12163 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hycolor", +"repository": "rhel9-AppStream" +} +], +"set_id": 12164 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-hyphenex", +"repository": "rhel9-AppStream" +} +], +"set_id": 12165 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifplatform", +"repository": "rhel9-AppStream" +} +], +"set_id": 12166 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-infwarerr", +"repository": "rhel9-AppStream" +} +], +"set_id": 12167 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-intcalc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12168 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kvdefinekeys", +"repository": "rhel9-AppStream" +} +], +"set_id": 12169 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kvoptions", +"repository": "rhel9-AppStream" +} +], +"set_id": 12170 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-kvsetkeys", +"repository": "rhel9-AppStream" +} +], +"set_id": 12171 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-l3backend", +"repository": "rhel9-AppStream" +} +], +"set_id": 12172 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-latexbug", +"repository": "rhel9-AppStream" +} +], +"set_id": 12173 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-letltxmacro", +"repository": "rhel9-AppStream" +} +], +"set_id": 12174 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-listofitems", +"repository": "rhel9-AppStream" +} +], +"set_id": 12175 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ltxcmds", +"repository": "rhel9-AppStream" +} +], +"set_id": 12176 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-luahbtex", +"repository": "rhel9-AppStream" +} +], +"set_id": 12177 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-lwarp", +"repository": "rhel9-AppStream" +} +], +"set_id": 12178 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-minitoc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12179 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-modes", +"repository": "rhel9-AppStream" +} +], +"set_id": 12180 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-newfloat", +"repository": "rhel9-AppStream" +} +], +"set_id": 12181 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-newunicodechar", +"repository": "rhel9-AppStream" +} +], +"set_id": 12182 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-notoccite", +"repository": "rhel9-AppStream" +} +], +"set_id": 12183 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-obsolete", +"repository": "rhel9-AppStream" +} +], +"set_id": 12184 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdfcolmk", +"repository": "rhel9-AppStream" +} +], +"set_id": 12185 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdfescape", +"repository": "rhel9-AppStream" +} +], +"set_id": 12186 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdflscape", +"repository": "rhel9-AppStream" +} +], +"set_id": 12187 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-pdftexcmds", +"repository": "rhel9-AppStream" +} +], +"set_id": 12188 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-preview", +"repository": "rhel9-AppStream" +} +], +"set_id": 12189 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ragged2e", +"repository": "rhel9-AppStream" +} +], +"set_id": 12190 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-refcount", +"repository": "rhel9-AppStream" +} +], +"set_id": 12191 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-rerunfilecheck", +"repository": "rhel9-AppStream" +} +], +"set_id": 12192 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-sansmathaccent", +"repository": "rhel9-AppStream" +} +], +"set_id": 12193 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-stackengine", +"repository": "rhel9-AppStream" +} +], +"set_id": 12194 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-stringenc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12195 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-translator", +"repository": "rhel9-AppStream" +} +], +"set_id": 12196 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ucharcat", +"repository": "rhel9-AppStream" +} +], +"set_id": 12197 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-uniquecounter", +"repository": "rhel9-AppStream" +} +], +"set_id": 12198 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-wasy-type1", +"repository": "rhel9-AppStream" +} +], +"set_id": 12199 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-zref", +"repository": "rhel9-AppStream" +} +], +"set_id": 12200 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-c++", +"repository": "rhel9-AppStream" +} +], +"set_id": 12201 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuid-dce", +"repository": "rhel9-AppStream" +} +], +"set_id": 12202 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xhtml2fo-style-xsl", +"repository": "rhel9-AppStream" +} +], +"set_id": 12203 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlto-tex", +"repository": "rhel9-AppStream" +} +], +"set_id": 12204 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlto-xhtml", +"repository": "rhel9-AppStream" +} +], +"set_id": 12205 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-srpm-macros", +"repository": "rhel9-AppStream" +} +], +"set_id": 12206 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alternatives", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12208 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atlas-z15", +"repository": "rhel9-AppStream" +} +], +"set_id": 12209 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "blas64", +"repository": "rhel8-AppStream" +} +], +"set_id": 12210 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "blas64_", +"repository": "rhel9-CRB" +} +], +"set_id": 17574 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "curl-minimal", +"repository": "rhel9-AppStream" +} +], +"set_id": 12211 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-broker", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12212 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gawk-all-langpacks", +"repository": "rhel9-AppStream" +} +], +"set_id": 12213 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lapack64", +"repository": "rhel8-AppStream" +} +], +"set_id": 12214 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lapack64_", +"repository": "rhel9-CRB" +} +], +"set_id": 17573 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcbor", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12215 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-file-magic", +"repository": "rhel9-AppStream" +} +], +"set_id": 12216 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-oomd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12217 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd-rpm-macros", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12218 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "util-linux-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12219 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zram-generator", +"repository": "rhel9-AppStream" +} +], +"set_id": 12220 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-dnssec-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12221 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-dnssec-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 12222 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cups-printerapp", +"repository": "rhel9-AppStream" +} +], +"set_id": 12223 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-imapd-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12224 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-timezones", +"repository": "rhel9-AppStream" +} +], +"set_id": 12225 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libotr", +"repository": "rhel9-AppStream" +} +], +"set_id": 12226 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsane-airscan", +"repository": "rhel9-AppStream" +} +], +"set_id": 12227 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "memcached-selinux", +"repository": "rhel9-AppStream" +} +], +"set_id": 12228 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_lua", +"repository": "rhel9-AppStream" +} +], +"set_id": 12229 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Cyrus", +"repository": "rhel9-AppStream" +} +], +"set_id": 12230 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mail-AuthenticationResults", +"repository": "rhel9-AppStream" +} +], +"set_id": 12231 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-CIDR-Lite", +"repository": "rhel9-AppStream" +} +], +"set_id": 12232 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-spectrumscale", +"repository": "rhel9-AppStream" +} +], +"set_id": 12233 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xapian-core-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12234 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "babel-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 12235 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "byte-buddy-agent", +"repository": "rhel9-CRB" +} +], +"set_id": 12236 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emacs-cython-mode", +"repository": "rhel9-CRB" +} +], +"set_id": 12237 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flexiblas", +"repository": "rhel9-AppStream" +} +], +"set_id": 12238 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flexiblas-netlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 12239 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flexiblas-openblas-openmp", +"repository": "rhel9-AppStream" +} +], +"set_id": 12240 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javapackages-generators", +"repository": "rhel9-CRB" +} +], +"set_id": 12241 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jbigkit", +"repository": "rhel9-AppStream" +} +], +"set_id": 12242 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-connector-c-test", +"repository": "rhel9-CRB" +} +], +"set_id": 12243 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12244 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-serial", +"repository": "rhel9-AppStream" +} +], +"set_id": 12245 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-syntax", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12246 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-private-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12247 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-private-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12248 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyparsing-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 12249 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pyproject-rpm-macros", +"repository": "rhel9-CRB" +} +], +"set_id": 12250 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pytest-subtests", +"repository": "rhel9-CRB" +} +], +"set_id": 12256 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pytest-timeout", +"repository": "rhel9-CRB" +} +], +"set_id": 12257 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-readthedocs-sphinx-ext", +"repository": "rhel9-CRB" +} +], +"set_id": 12258 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests+security", +"repository": "rhel9-AppStream" +} +], +"set_id": 12259 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests+socks", +"repository": "rhel9-AppStream" +} +], +"set_id": 12260 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-setuptools_scm+toml", +"repository": "rhel9-CRB" +} +], +"set_id": 12261 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinxcontrib-applehelp", +"repository": "rhel9-CRB" +} +], +"set_id": 12262 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinxcontrib-devhelp", +"repository": "rhel9-CRB" +} +], +"set_id": 12263 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinxcontrib-htmlhelp", +"repository": "rhel9-CRB" +} +], +"set_id": 12264 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinxcontrib-httpdomain", +"repository": "rhel9-CRB" +} +], +"set_id": 12265 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinxcontrib-jsmath", +"repository": "rhel9-CRB" +} +], +"set_id": 12266 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinxcontrib-qthelp", +"repository": "rhel9-CRB" +} +], +"set_id": 12267 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinxcontrib-serializinghtml", +"repository": "rhel9-CRB" +} +], +"set_id": 12268 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sphinx-latex", +"repository": "rhel9-CRB" +} +], +"set_id": 12269 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-dateutil-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 12271 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-packaging-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 12272 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-pip-wheel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12273 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-setuptools-wheel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12274 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sphinx-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 12275 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sphinx_rtd_theme-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 12276 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-unversioned-command", +"repository": "rhel9-AppStream" +} +], +"set_id": 12277 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-wheel-wheel", +"repository": "rhel9-CRB" +} +], +"set_id": 12278 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-thread_order", +"repository": "rhel9-AppStream" +} +], +"set_id": 12282 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn-tools", +"repository": "rhel9-CRB" +} +], +"set_id": 12284 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "low-memory-monitor", +"repository": "rhel9-AppStream" +} +], +"set_id": 12285 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "power-profiles-daemon", +"repository": "rhel9-AppStream" +} +], +"set_id": 12286 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "totem-video-thumbnailer", +"repository": "rhel9-AppStream" +} +], +"set_id": 12287 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uresourced", +"repository": "rhel9-AppStream" +} +], +"set_id": 12288 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive-scripts-extra", +"repository": "rhel9-AppStream" +} +], +"set_id": 12289 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openldap-compat", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12290 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-redis", +"repository": "rhel8-AppStream" +} +], +"set_id": 12291 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-redis", +"repository": "rhel8-AppStream" +} +], +"set_id": 12291 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-zfcpdump-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12292 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-zfcpdump-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12293 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtest-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12294 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtest", +"repository": "rhel8-CRB" +} +], +"set_id": 12295 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gmock-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12296 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gmock", +"repository": "rhel8-CRB" +} +], +"set_id": 12297 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libpthread-nonshared", +"repository": "rhel8-AppStream" +} +], +"set_id": 12298 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libpthread-nonshared", +"repository": "rhel8-AppStream" +} +], +"set_id": 12298 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "make-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12300 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "make-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12300 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liboauth", +"repository": "rhel8-AppStream" +} +], +"set_id": 12301 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liboauth", +"repository": "rhel8-AppStream" +} +], +"set_id": 12301 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liboauth-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12302 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liboauth-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12302 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-glib", +"repository": "rhel8-AppStream" +} +], +"set_id": 12355 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-configobj", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12304 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-configobj", +"repository": "rhel9-AppStream" +} +], +"set_id": 12305 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 12306 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 12306 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcacard", +"repository": "rhel8-AppStream" +} +], +"set_id": 12307 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcacard-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12308 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcacard-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12308 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgovirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 12309 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-bzip2", +"repository": "rhel8-CRB" +} +], +"set_id": 12310 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-bzip2-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12311 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-bzip2-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12311 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-cairo", +"repository": "rhel8-CRB" +} +], +"set_id": 12312 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-expat", +"repository": "rhel8-CRB" +} +], +"set_id": 12313 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-fontconfig", +"repository": "rhel8-CRB" +} +], +"set_id": 12314 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-freetype", +"repository": "rhel8-CRB" +} +], +"set_id": 12315 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-freetype-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12316 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-gstreamer1", +"repository": "rhel8-CRB" +} +], +"set_id": 12317 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-harfbuzz", +"repository": "rhel8-CRB" +} +], +"set_id": 12318 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-harfbuzz-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12319 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-icu", +"repository": "rhel8-CRB" +} +], +"set_id": 12320 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libjpeg-turbo", +"repository": "rhel8-CRB" +} +], +"set_id": 12321 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libjpeg-turbo-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12322 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libpng", +"repository": "rhel8-CRB" +} +], +"set_id": 12323 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libpng-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12324 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libtiff", +"repository": "rhel8-CRB" +} +], +"set_id": 12325 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-libtiff-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12326 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-openssl", +"repository": "rhel8-CRB" +} +], +"set_id": 12327 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-readline", +"repository": "rhel8-CRB" +} +], +"set_id": 12328 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-sqlite", +"repository": "rhel8-CRB" +} +], +"set_id": 12329 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-sqlite-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12330 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-bzip2", +"repository": "rhel8-CRB" +} +], +"set_id": 12331 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-bzip2-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12332 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-cairo", +"repository": "rhel8-CRB" +} +], +"set_id": 12333 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-expat", +"repository": "rhel8-CRB" +} +], +"set_id": 12334 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-fontconfig", +"repository": "rhel8-CRB" +} +], +"set_id": 12335 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-freetype", +"repository": "rhel8-CRB" +} +], +"set_id": 12336 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-freetype-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12337 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-gstreamer1", +"repository": "rhel8-CRB" +} +], +"set_id": 12338 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-harfbuzz", +"repository": "rhel8-CRB" +} +], +"set_id": 12339 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-harfbuzz-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12340 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-icu", +"repository": "rhel8-CRB" +} +], +"set_id": 12341 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libjpeg-turbo", +"repository": "rhel8-CRB" +} +], +"set_id": 12342 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libjpeg-turbo-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12343 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libpng", +"repository": "rhel8-CRB" +} +], +"set_id": 12344 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libpng-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12345 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libtiff", +"repository": "rhel8-CRB" +} +], +"set_id": 12346 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-libtiff-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12347 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-openssl", +"repository": "rhel8-CRB" +} +], +"set_id": 12348 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-readline", +"repository": "rhel8-CRB" +} +], +"set_id": 12349 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-sqlite", +"repository": "rhel8-CRB" +} +], +"set_id": 12350 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-sqlite-static", +"repository": "rhel8-CRB" +} +], +"set_id": 12351 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-client-win-x64", +"repository": "rhel8-AppStream" +} +], +"set_id": 12352 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-client-win-x64", +"repository": "rhel8-AppStream" +} +], +"set_id": 12352 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-client-win-x86", +"repository": "rhel8-AppStream" +} +], +"set_id": 12353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-client-win-x86", +"repository": "rhel8-AppStream" +} +], +"set_id": 12353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-glib", +"repository": "rhel8-AppStream" +} +], +"set_id": 12355 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-glib-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12356 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-glib-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12356 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk", +"repository": "rhel8-AppStream" +} +], +"set_id": 12357 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk", +"repository": "rhel8-AppStream" +} +], +"set_id": 12357 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12358 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12358 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk3-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12359 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk3-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12359 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk3-vala", +"repository": "rhel8-AppStream" +} +], +"set_id": 12360 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk3-vala", +"repository": "rhel8-AppStream" +} +], +"set_id": 12360 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12361 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-gtk-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12361 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-qxl-wddm-dod", +"repository": "rhel8-AppStream" +} +], +"set_id": 12362 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-qxl-wddm-dod", +"repository": "rhel8-AppStream" +} +], +"set_id": 12362 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-streaming-agent", +"repository": "rhel8-AppStream" +} +], +"set_id": 12364 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-streaming-agent", +"repository": "rhel8-AppStream" +} +], +"set_id": 12364 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-vdagent-win-x64", +"repository": "rhel8-AppStream" +} +], +"set_id": 12365 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-vdagent-win-x64", +"repository": "rhel8-AppStream" +} +], +"set_id": 12365 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-vdagent-win-x86", +"repository": "rhel8-AppStream" +} +], +"set_id": 12366 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-vdagent-win-x86", +"repository": "rhel8-AppStream" +} +], +"set_id": 12366 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse-sshfs", +"repository": "rhel8-CRB" +} +], +"set_id": 12367 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdnet-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12368 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 8716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-benchmarking", +"repository": "rhel8-AppStream" +} +], +"set_id": 12369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 8717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-benchmarking", +"repository": "rhel8-AppStream" +} +], +"set_id": 12369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-gfs2", +"repository": "rhel8-AppStream" +} +], +"set_id": 12370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-gfs2", +"repository": "rhel8-AppStream" +} +], +"set_id": 12370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "netcf-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12371 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "netcf-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12371 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iwl6000-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12372 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iwl6000-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12372 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtalloc-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12373 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtalloc-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12374 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtevent-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12375 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtevent-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12376 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ldb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12377 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ldb", +"repository": "rhel9-AppStream" +} +], +"set_id": 12378 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-samba", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12379 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-samba", +"repository": "rhel9-AppStream" +} +], +"set_id": 12380 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-talloc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12381 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-talloc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12382 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tdb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12383 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tdb", +"repository": "rhel9-AppStream" +} +], +"set_id": 12384 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tevent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12385 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tevent", +"repository": "rhel9-AppStream" +} +], +"set_id": 12386 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-client", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12387 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-client", +"repository": "rhel9-AppStream" +} +], +"set_id": 12388 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-krb5-printing", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12389 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-krb5-printing", +"repository": "rhel9-AppStream" +} +], +"set_id": 12390 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-pidl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12391 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-pidl", +"repository": "rhel9-CRB" +} +], +"set_id": 12392 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-test", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12393 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-test", +"repository": "rhel9-CRB" +} +], +"set_id": 12394 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-test-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12395 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-test-libs", +"repository": "rhel9-CRB" +} +], +"set_id": 12396 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-winbind-clients", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-winbind-clients", +"repository": "rhel9-AppStream" +} +], +"set_id": 12398 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-winbind-krb5-locator", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12399 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-winbind-krb5-locator", +"repository": "rhel9-AppStream" +} +], +"set_id": 12400 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-winexe", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12401 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-winexe", +"repository": "rhel9-AppStream" +} +], +"set_id": 12402 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tdb-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12403 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tdb-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 12404 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ctdb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12409 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ctdb", +"repository": "rhel9-ResilientStorage" +} +], +"set_id": 12410 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libldb-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12411 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libldb-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12412 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtdb-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12413 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtdb-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12414 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 12417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 12417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-java-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12418 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-java-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12418 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12419 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12419 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-tools-c", +"repository": "rhel8-AppStream" +} +], +"set_id": 12421 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libguestfs-tools-c", +"repository": "rhel8-AppStream" +} +], +"set_id": 12421 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libiscsi-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12422 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libiscsi-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12422 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-admin", +"repository": "rhel8-AppStream" +} +], +"set_id": 12423 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-admin", +"repository": "rhel8-AppStream" +} +], +"set_id": 12423 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-bash-completion", +"repository": "rhel8-AppStream" +} +], +"set_id": 12424 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-bash-completion", +"repository": "rhel8-AppStream" +} +], +"set_id": 12424 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-gluster", +"repository": "rhel8-AppStream" +} +], +"set_id": 12425 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-gluster", +"repository": "rhel8-AppStream" +} +], +"set_id": 12425 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-iscsi-direct", +"repository": "rhel8-AppStream" +} +], +"set_id": 12426 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-iscsi-direct", +"repository": "rhel8-AppStream" +} +], +"set_id": 12426 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-gconfig", +"repository": "rhel8-AppStream" +} +], +"set_id": 12442 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-gobject", +"repository": "rhel8-AppStream" +} +], +"set_id": 12428 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-gobject", +"repository": "rhel8-AppStream" +} +], +"set_id": 12428 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-gzip-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 15437 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-camlp4", +"repository": "rhel8-CRB" +} +], +"set_id": 12430 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss-pam-ldapd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12431 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ocaml-camlp4-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12432 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 8774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-gluster", +"repository": "rhel8-AppStream" +} +], +"set_id": 12433 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 8775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-gluster", +"repository": "rhel8-AppStream" +} +], +"set_id": 12433 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-iscsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 12434 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-iscsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 12434 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt-devel", +"stream": "rhel" +} +], +"name": "qemu-kvm-tests", +"repository": "rhel8-CRB" +} +], +"set_id": 12435 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "SLOF", +"repository": "rhel8-AppStream" +} +], +"set_id": 12436 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "SLOF", +"repository": "rhel8-AppStream" +} +], +"set_id": 12436 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "virt-dib", +"repository": "rhel8-AppStream" +} +], +"set_id": 12437 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "virt-dib", +"repository": "rhel8-AppStream" +} +], +"set_id": 12437 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-p2v-maker", +"repository": "rhel8-AppStream" +} +], +"set_id": 12438 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virt-p2v-maker", +"repository": "rhel8-AppStream" +} +], +"set_id": 12438 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vm-dump-metrics-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12439 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vm-dump-metrics-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12439 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-qxl", +"repository": "rhel8-AppStream" +} +], +"set_id": 12440 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-qxl", +"repository": "rhel8-AppStream" +} +], +"set_id": 12440 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-server-Xspice", +"repository": "rhel8-AppStream" +} +], +"set_id": 12441 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-server-Xspice", +"repository": "rhel8-AppStream" +} +], +"set_id": 12441 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-gconfig", +"repository": "rhel8-AppStream" +} +], +"set_id": 12442 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-devel-matched", +"repository": "rhel9-AppStream" +} +], +"set_id": 12444 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-debug-devel-matched", +"repository": "rhel9-AppStream" +} +], +"set_id": 12445 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"s390x" +], +"id": 8794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-zfcpdump-devel-matched", +"repository": "rhel9-AppStream" +} +], +"set_id": 12446 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-debug-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12447 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-debug-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12448 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12449 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12450 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-cross-headers", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12451 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-cross-headers", +"repository": "rhel9-CRB" +} +], +"set_id": 12452 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 8799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 12456 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap", +"repository": "rhel9-SAP-NetWeaver" +} +], +"set_id": 12457 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 8800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 12458 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap", +"repository": "rhel9-SAP-NetWeaver" +} +], +"set_id": 12459 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 8801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sap-cluster-connector", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 12460 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sap-cluster-connector", +"repository": "rhel9-SAP-NetWeaver" +} +], +"set_id": 12461 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 8802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 12462 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana", +"repository": "rhel9-SAP-Solutions" +} +], +"set_id": 12463 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 8803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana-scaleout", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 12464 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-sap-hana-scaleout", +"repository": "rhel9-SAP-Solutions" +} +], +"set_id": 12465 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cscope", +"repository": "rhel9-AppStream" +} +], +"set_id": 12492 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 8805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatzip", +"repository": "rhel9-AppStream" +} +], +"set_id": 17063 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 8806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 17067 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 8807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17069 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 8808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatengine", +"repository": "rhel9-AppStream" +} +], +"set_id": 17065 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rng-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12482 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jitterentropy", +"repository": "rhel9-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "jitterentropy-devel", +"repository": "rhel9-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "rng-tools", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12483 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 8812, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap-common", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 12484 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-locales-sap-common", +"repository": "rhel9-SAP-NetWeaver" +} +], +"set_id": 12485 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 8813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-sap", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 12486 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-sap", +"repository": "rhel9-SAP-NetWeaver" +} +], +"set_id": 12487 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 8814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-sap-hana", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 12488 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-sap-hana", +"repository": "rhel9-SAP-Solutions" +} +], +"set_id": 12489 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 8815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhel-system-roles-sap", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 12490 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rhel-system-roles-sap", +"repository": "rhel9-SAP-Solutions" +} +], +"set_id": 12491 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 8817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-12", +"repository": "rhel9-SAP-NetWeaver" +} +], +"set_id": 12494 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpinyin-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12498 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ilmbase", +"repository": "rhel8-AppStream" +} +], +"set_id": 12501 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imath", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "openexr-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12502 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mailman", +"stream": "2.1" +} +], +"name": "mailman", +"repository": "rhel8-AppStream" +} +], +"set_id": 12535 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8858, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mailman", +"stream": "2.1" +} +], +"name": "mailman", +"repository": "rhel8-AppStream" +} +], +"set_id": 12536 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8859, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdparanoia", +"repository": "rhel8-AppStream" +} +], +"set_id": 12537 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8860, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdparanoia", +"repository": "rhel8-AppStream" +} +], +"set_id": 12537 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8861, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdparanoia-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12538 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdparanoia-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12539 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdparanoia-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12539 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8864, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dirsplit", +"repository": "rhel8-AppStream" +} +], +"set_id": 12540 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8865, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dirsplit", +"repository": "rhel8-AppStream" +} +], +"set_id": 12540 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genisoimage", +"repository": "rhel8-AppStream" +} +], +"set_id": 16917 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorriso", +"repository": "rhel9-AppStream" +} +], +"set_id": 16918 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "genisoimage", +"repository": "rhel8-AppStream" +} +], +"set_id": 12541 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8868, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icedax", +"repository": "rhel8-AppStream" +} +], +"set_id": 12542 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8869, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "icedax", +"repository": "rhel8-AppStream" +} +], +"set_id": 12542 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libusal", +"repository": "rhel8-AppStream" +} +], +"set_id": 12543 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libusal", +"repository": "rhel8-AppStream" +} +], +"set_id": 12543 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wodim", +"repository": "rhel8-AppStream" +} +], +"set_id": 16913 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdrskin", +"repository": "rhel9-AppStream" +} +], +"set_id": 16914 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wodim", +"repository": "rhel8-AppStream" +} +], +"set_id": 12544 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "weldr-client", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12545 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoipupdate", +"repository": "rhel8-AppStream" +} +], +"set_id": 12549 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoipupdate", +"repository": "rhel8-AppStream" +} +], +"set_id": 12548 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.0" +}, +{ +"name": "swig", +"stream": "3.0" +} +], +"name": "swig", +"repository": "rhel8-AppStream" +} +], +"set_id": 12550 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "swig", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "swig", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "swig", +"repository": "rhel9-CRB" +} +], +"set_id": 12551 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.0" +}, +{ +"name": "swig", +"stream": "3.0" +} +], +"name": "swig-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12552 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "swig", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "swig", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "swig-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 12553 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.0" +}, +{ +"name": "swig", +"stream": "3.0" +} +], +"name": "swig-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 12554 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "swig", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "swig", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "swig-gdb", +"repository": "rhel9-CRB" +} +], +"set_id": 12555 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mozilla-LDAP", +"repository": "rhel8-AppStream" +} +], +"set_id": 12556 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mozilla-LDAP", +"repository": "rhel8-AppStream" +} +], +"set_id": 12556 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-ISA", +"repository": "rhel8-AppStream" +} +], +"set_id": 12557 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-ISA", +"repository": "rhel8-AppStream" +} +], +"set_id": 12557 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 12558 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl", +"repository": "rhel9-AppStream" +} +], +"set_id": 12559 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-homedir", +"repository": "rhel8-AppStream" +} +], +"set_id": 12560 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-homedir", +"repository": "rhel8-AppStream" +} +], +"set_id": 12560 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-DeprecationManager", +"repository": "rhel8-CRB" +} +], +"set_id": 12562 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-LaTeX", +"repository": "rhel8-AppStream" +} +], +"set_id": 12563 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-LaTeX", +"repository": "rhel8-AppStream" +} +], +"set_id": 12563 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Plainer", +"repository": "rhel8-AppStream" +} +], +"set_id": 12564 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Plainer", +"repository": "rhel8-AppStream" +} +], +"set_id": 12564 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-String-CRC32", +"repository": "rhel8-AppStream" +} +], +"set_id": 12566 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-String-CRC32", +"repository": "rhel8-AppStream" +} +], +"set_id": 12566 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-SUPER", +"repository": "rhel8-CRB" +} +], +"set_id": 12567 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +null +], +"name": "perl-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 12568 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +null +], +"name": "perl-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 12568 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-YAML-Syck", +"repository": "rhel8-CRB" +} +], +"set_id": 12569 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +}, +null +], +"name": "perl-Object-HashBase-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12570 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +}, +null +], +"name": "perl-Object-HashBase-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12570 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-NKF", +"repository": "rhel8-CRB" +} +], +"set_id": 12571 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flatpak-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12573 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 12574 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksmtuned", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qemu-kvm", +"repository": "rhel9-AppStream" +} +], +"set_id": 12575 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libqrtr-glib", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12578 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "amanda", +"repository": "rhel8-AppStream" +} +], +"set_id": 12580 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "amanda", +"repository": "rhel8-AppStream" +} +], +"set_id": 12580 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "amanda-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 12581 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "amanda-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 12581 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "amanda-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12582 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "amanda-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12582 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "amanda-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 12583 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "amanda-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 12583 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tycho", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12584 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tycho", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12584 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tesseract", +"repository": "rhel8-AppStream" +} +], +"set_id": 12586 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tesseract-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12587 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "udftools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12588 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stress-ng", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12589 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "stress-ng", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12590 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pytz", +"repository": "rhel9-AppStream" +} +], +"set_id": 12591 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ypserv", +"repository": "rhel8-AppStream" +} +], +"set_id": 12592 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ypserv", +"repository": "rhel8-AppStream" +} +], +"set_id": 12592 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ypbind", +"repository": "rhel8-AppStream" +} +], +"set_id": 12593 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yp-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12594 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "yp-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12594 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_nis", +"repository": "rhel8-AppStream" +} +], +"set_id": 12595 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8930, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_nis", +"repository": "rhel8-AppStream" +} +], +"set_id": 12595 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-semantic_version", +"repository": "rhel8-AppStream" +} +], +"set_id": 12596 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-semantic_version", +"repository": "rhel8-AppStream" +} +], +"set_id": 12596 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lorax-composer", +"repository": "rhel8-AppStream" +} +], +"set_id": 12600 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osbuild-composer", +"repository": "rhel9-AppStream" +} +], +"set_id": 12601 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-openssl11", +"repository": "rhel9-AppStream" +} +], +"set_id": 12607 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pinentry-tty", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12608 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "npth-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12609 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12610 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12615 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-gs2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12611 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-gs2", +"repository": "rhel9-AppStream" +} +], +"set_id": 12616 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-ldap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12612 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-ldap", +"repository": "rhel9-AppStream" +} +], +"set_id": 12617 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-md5", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12613 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-md5", +"repository": "rhel9-AppStream" +} +], +"set_id": 12618 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-ntlm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12614 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-sasl-ntlm", +"repository": "rhel9-AppStream" +} +], +"set_id": 12619 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgcrypt-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12621 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgcrypt-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12622 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgpg-error-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12623 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgpg-error-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12624 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxcrypt-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12625 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxcrypt-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12626 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12627 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12628 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-perl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12629 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openssl-perl", +"repository": "rhel9-AppStream" +} +], +"set_id": 12630 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "p11-kit-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12631 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "p11-kit-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12632 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "p11-kit-server", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12633 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "p11-kit-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 12634 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam_ssh_agent_auth", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12635 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pam_ssh_agent_auth", +"repository": "rhel9-AppStream" +} +], +"set_id": 12636 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pwquality", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12637 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pwquality", +"repository": "rhel9-AppStream" +} +], +"set_id": 12638 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.10" +} +], +"name": "subversion-javahl", +"repository": "rhel8-AppStream" +} +], +"set_id": 12640 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.10" +} +], +"name": "subversion-javahl", +"repository": "rhel8-AppStream" +} +], +"set_id": 12640 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autoconf-archive", +"repository": "rhel8-CRB" +} +], +"set_id": 12641 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autoconf-archive", +"repository": "rhel9-AppStream" +} +], +"set_id": 12642 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-common", +"repository": "rhel8-CRB" +} +], +"set_id": 12643 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 12644 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 12645 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12646 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-perl", +"repository": "rhel8-CRB" +} +], +"set_id": 12647 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-perl", +"repository": "rhel9-AppStream" +} +], +"set_id": 12648 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-tests", +"repository": "rhel8-CRB" +} +], +"set_id": 12649 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evolution-data-server-tests", +"repository": "rhel9-AppStream" +} +], +"set_id": 12650 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-cpp", +"repository": "rhel8-CRB" +} +], +"set_id": 12651 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "poppler-cpp", +"repository": "rhel9-AppStream" +} +], +"set_id": 12652 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brotli", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12653 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brotli", +"repository": "rhel9-AppStream" +} +], +"set_id": 12654 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freetype-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12655 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "freetype-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12656 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libical", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12657 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libical", +"repository": "rhel9-AppStream" +} +], +"set_id": 12658 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsoup", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12659 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsoup", +"repository": "rhel9-AppStream" +} +], +"set_id": 12660 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkspell3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12661 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkspell3", +"repository": "rhel9-CRB" +} +], +"set_id": 12662 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwinpr-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12663 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwinpr-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12664 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "inkscape", +"stream": "0.92.3" +} +], +"name": "inkscape", +"repository": "rhel8-AppStream" +} +], +"set_id": 12665 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "inkscape", +"stream": "0.92.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape", +"repository": "rhel9-AppStream" +} +], +"set_id": 12666 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "inkscape", +"stream": "0.92.3" +} +], +"name": "inkscape-view", +"repository": "rhel8-AppStream" +} +], +"set_id": 12667 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "inkscape", +"stream": "0.92.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape-view", +"repository": "rhel9-AppStream" +} +], +"set_id": 12668 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-daemon", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12669 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-daemon", +"repository": "rhel9-AppStream" +} +], +"set_id": 12670 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-glib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12671 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-glib", +"repository": "rhel9-AppStream" +} +], +"set_id": 12672 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12673 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdk-pixbuf2", +"repository": "rhel9-AppStream" +} +], +"set_id": 12674 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib2-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12675 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib2-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12676 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib2-tests", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12677 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib2-tests", +"repository": "rhel9-AppStream" +} +], +"set_id": 12678 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsecret", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12679 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsecret", +"repository": "rhel9-AppStream" +} +], +"set_id": 12680 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsecret-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12681 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsecret-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12682 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxslt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12685 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxslt", +"repository": "rhel9-AppStream" +} +], +"set_id": 12686 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-logos", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12687 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-logos", +"repository": "rhel9-AppStream" +} +], +"set_id": 12688 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-logos-httpd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12689 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-logos-httpd", +"repository": "rhel9-AppStream" +} +], +"set_id": 12690 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gobject-introspection-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12691 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gobject-introspection-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 12692 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gobject-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 12693 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gobject-base", +"repository": "rhel9-CRB" +} +], +"set_id": 12694 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib2-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 12695 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib2-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12696 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12697 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12698 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flite", +"repository": "rhel8-CRB" +} +], +"set_id": 12699 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flite", +"repository": "rhel9-AppStream" +} +], +"set_id": 12700 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speech-dispatcher-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 12701 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "speech-dispatcher-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 12702 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-openipmi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12703 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-openipmi", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12703 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenIPMI-perl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12704 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenIPMI-perl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12704 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs52", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12705 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs52", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12705 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 8993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs60", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12706 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs60", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12706 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib2-fam", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12707 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glib2-fam", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12707 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcroco", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12708 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcroco", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12708 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 8999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gamin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12709 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gamin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12709 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-connector-dbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 12710 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-connector-dbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 12710 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-exiv2-026", +"repository": "rhel8-AppStream" +} +], +"set_id": 12712 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-exiv2-026", +"repository": "rhel8-AppStream" +} +], +"set_id": 12712 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ctags", +"repository": "rhel8-AppStream" +} +], +"set_id": 12713 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ctags", +"repository": "rhel8-AppStream" +} +], +"set_id": 12713 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 12714 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 12714 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-renderer", +"repository": "rhel8-AppStream" +} +], +"set_id": 12715 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-renderer", +"repository": "rhel8-AppStream" +} +], +"set_id": 12715 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 12716 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dleyna-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 12716 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evince-browser-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 12717 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evince-browser-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 12717 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "farstream02", +"repository": "rhel8-AppStream" +} +], +"set_id": 12718 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "farstream02", +"repository": "rhel8-AppStream" +} +], +"set_id": 12718 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "GConf2", +"repository": "rhel8-AppStream" +} +], +"set_id": 12719 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "GConf2", +"repository": "rhel8-AppStream" +} +], +"set_id": 12719 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-afc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12720 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-afc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12720 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-afp", +"repository": "rhel8-AppStream" +} +], +"set_id": 12721 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-afp", +"repository": "rhel8-AppStream" +} +], +"set_id": 12721 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-archive", +"repository": "rhel8-AppStream" +} +], +"set_id": 12722 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gvfs-archive", +"repository": "rhel8-AppStream" +} +], +"set_id": 12722 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappindicator-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12723 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappindicator-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12723 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu", +"repository": "rhel8-AppStream" +} +], +"set_id": 12724 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu", +"repository": "rhel8-AppStream" +} +], +"set_id": 12724 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12725 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12725 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12726 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator-gtk3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12726 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpurple", +"repository": "rhel8-AppStream" +} +], +"set_id": 12728 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpurple", +"repository": "rhel8-AppStream" +} +], +"set_id": 12728 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "meanwhile", +"repository": "rhel8-AppStream" +} +], +"set_id": 12729 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "meanwhile", +"repository": "rhel8-AppStream" +} +], +"set_id": 12729 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozvoikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 12730 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozvoikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 12730 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pidgin", +"repository": "rhel8-AppStream" +} +], +"set_id": 12731 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pidgin", +"repository": "rhel8-AppStream" +} +], +"set_id": 12731 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pidgin-sipe", +"repository": "rhel8-AppStream" +} +], +"set_id": 12732 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pidgin-sipe", +"repository": "rhel8-AppStream" +} +], +"set_id": 12732 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "purple-sipe", +"repository": "rhel8-AppStream" +} +], +"set_id": 12733 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "purple-sipe", +"repository": "rhel8-AppStream" +} +], +"set_id": 12733 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-reportlab", +"repository": "rhel8-AppStream" +} +], +"set_id": 12734 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-reportlab", +"repository": "rhel8-AppStream" +} +], +"set_id": 12734 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qrencode", +"repository": "rhel8-AppStream" +} +], +"set_id": 12735 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qrencode", +"repository": "rhel8-AppStream" +} +], +"set_id": 12735 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qrencode-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12736 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qrencode-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12736 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vinagre", +"repository": "rhel8-AppStream" +} +], +"set_id": 12737 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vinagre", +"repository": "rhel8-AppStream" +} +], +"set_id": 12737 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vino", +"repository": "rhel8-AppStream" +} +], +"set_id": 12738 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vino", +"repository": "rhel8-AppStream" +} +], +"set_id": 12738 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ctags-etags", +"repository": "rhel8-CRB" +} +], +"set_id": 12740 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "enca", +"repository": "rhel8-CRB" +} +], +"set_id": 12741 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "enca-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12742 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gamin-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12743 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "GConf2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12744 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkspell", +"repository": "rhel8-CRB" +} +], +"set_id": 12745 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkspell-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12746 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libappindicator-gtk3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12747 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libchamplain", +"repository": "rhel8-CRB" +} +], +"set_id": 12748 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libchamplain-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12749 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libchamplain-gtk", +"repository": "rhel8-CRB" +} +], +"set_id": 12750 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12751 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 12752 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdbusmenu-gtk3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12753 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libindicator-gtk3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12754 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpurple-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12756 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pidgin-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12757 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qrencode-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12758 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdm-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12760 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb", +"repository": "rhel9-AppStream" +} +], +"set_id": 12761 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmtp-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12762 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plymouth-plugin-throbgress", +"repository": "rhel8-AppStream" +} +], +"set_id": 12765 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plymouth-plugin-throbgress", +"repository": "rhel8-AppStream" +} +], +"set_id": 12765 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rarian", +"repository": "rhel8-AppStream" +} +], +"set_id": 12766 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rarian", +"repository": "rhel8-AppStream" +} +], +"set_id": 12766 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rarian-compat", +"repository": "rhel8-AppStream" +} +], +"set_id": 12767 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rarian-compat", +"repository": "rhel8-AppStream" +} +], +"set_id": 12767 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "file-roller", +"repository": "rhel8-AppStream" +} +], +"set_id": 12768 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "file-roller", +"repository": "rhel8-AppStream" +} +], +"set_id": 12768 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gavl", +"repository": "rhel8-AppStream" +} +], +"set_id": 12769 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gavl", +"repository": "rhel8-AppStream" +} +], +"set_id": 12769 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-disable-screenshield", +"repository": "rhel8-AppStream" +} +], +"set_id": 12770 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-disable-screenshield", +"repository": "rhel8-AppStream" +} +], +"set_id": 12770 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-horizontal-workspaces", +"repository": "rhel8-AppStream" +} +], +"set_id": 12771 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-horizontal-workspaces", +"repository": "rhel8-AppStream" +} +], +"set_id": 12771 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-no-hot-corner", +"repository": "rhel8-AppStream" +} +], +"set_id": 12772 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-no-hot-corner", +"repository": "rhel8-AppStream" +} +], +"set_id": 12772 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-window-grouper", +"repository": "rhel8-AppStream" +} +], +"set_id": 12773 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-window-grouper", +"repository": "rhel8-AppStream" +} +], +"set_id": 12773 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-themes-standard", +"repository": "rhel8-AppStream" +} +], +"set_id": 12774 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-themes-standard", +"repository": "rhel8-AppStream" +} +], +"set_id": 12774 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkmm24", +"repository": "rhel8-AppStream" +} +], +"set_id": 12775 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkmm24", +"repository": "rhel8-AppStream" +} +], +"set_id": 12775 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtksourceview3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12776 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtksourceview3", +"repository": "rhel8-AppStream" +} +], +"set_id": 12776 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgdither", +"repository": "rhel8-AppStream" +} +], +"set_id": 12777 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgdither", +"repository": "rhel8-AppStream" +} +], +"set_id": 12777 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mousetweaks", +"repository": "rhel8-AppStream" +} +], +"set_id": 12781 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mousetweaks", +"repository": "rhel8-AppStream" +} +], +"set_id": 12781 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-session-kiosk-session", +"repository": "rhel8-AppStream" +} +], +"set_id": 12782 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-kiosk", +"repository": "rhel9-AppStream" +} +], +"set_id": 12783 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-c++", +"repository": "rhel8-CRB" +} +], +"set_id": 12786 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-c++-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12787 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dbus-c++-glib", +"repository": "rhel8-CRB" +} +], +"set_id": 12788 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-menus-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12789 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkmm24-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12790 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtkmm24-docs", +"repository": "rhel8-CRB" +} +], +"set_id": 12791 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtksourceview3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12792 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcroco-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12795 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdazzle-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12796 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libepubgen-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12797 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsass", +"repository": "rhel8-CRB" +} +], +"set_id": 12798 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsass-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12799 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs52-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12801 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mozjs60-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 12802 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "file-roller-nautilus", +"repository": "rhel7-base" +} +], +"set_id": 12804 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 9137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "file-roller-nautilus", +"repository": "rhel7-base" +} +], +"set_id": 12804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tigervnc-server-applet", +"repository": "rhel7-optional" +} +], +"set_id": 12805 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tigervnc-server-applet", +"repository": "rhel7-optional" +} +], +"set_id": 12805 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-software-editor", +"repository": "rhel7-optional" +} +], +"set_id": 12806 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 9141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-software-editor", +"repository": "rhel7-optional" +} +], +"set_id": 12806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-boxes", +"repository": "rhel8-AppStream" +} +], +"set_id": 12807 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-boxes", +"repository": "rhel8-AppStream" +} +], +"set_id": 12807 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-alternate-tab", +"repository": "rhel7-base" +} +], +"set_id": 12808 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-alternate-tab", +"repository": "rhel7-base" +} +], +"set_id": 12808 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-guile18", +"repository": "rhel8-CRB" +} +], +"set_id": 12809 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnssec-trigger", +"repository": "rhel8-AppStream" +} +], +"set_id": 12810 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnssec-trigger", +"repository": "rhel8-AppStream" +} +], +"set_id": 12810 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn", +"repository": "rhel8-AppStream" +} +], +"set_id": 12811 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn", +"repository": "rhel8-AppStream" +} +], +"set_id": 12811 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pakchois", +"repository": "rhel8-AppStream" +} +], +"set_id": 12812 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pakchois", +"repository": "rhel8-AppStream" +} +], +"set_id": 12812 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-prioreset", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12815 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-prioreset", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12815 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shadow-utils-subid", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12816 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shadow-utils-subid-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12817 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12821 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm", +"repository": "rhel9-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-audit", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12822 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "popt-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12823 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "popt-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12824 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-apidocs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12825 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-apidocs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12826 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-cron", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12827 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-cron", +"repository": "rhel9-AppStream" +} +], +"set_id": 12828 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12829 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12830 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-ima", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12831 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-ima", +"repository": "rhel9-AppStream" +} +], +"set_id": 12832 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-syslog", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12833 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-syslog", +"repository": "rhel9-AppStream" +} +], +"set_id": 12834 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-systemd-inhibit", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12835 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-plugin-systemd-inhibit", +"repository": "rhel9-AppStream" +} +], +"set_id": 12836 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lua-rpm-macros", +"repository": "rhel9-AppStream" +} +], +"set_id": 12839 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-mongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 12841 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-mongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 12841 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-mongo-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12842 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-mongo-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12842 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-libwbclient", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12847 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-libwbclient", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12848 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12849 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ksc", +"repository": "rhel9-CRB" +} +], +"set_id": 12850 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-build-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12851 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpm-build-libs", +"repository": "rhel9-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "rpm-sign-libs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12852 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-Cython", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-Cython", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-Cython", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "python3-Cython", +"repository": "rhel8-CRB" +} +], +"set_id": 12861 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-Cython", +"repository": "rhel9-CRB" +} +], +"set_id": 12862 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-PyMySQL", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-PyMySQL", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-PyMySQL", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-PyMySQL", +"repository": "rhel8-AppStream" +} +], +"set_id": 12863 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-PyMySQL", +"repository": "rhel9-AppStream" +} +], +"set_id": 12864 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-attrs", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-attrs", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-attrs", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "python3-attrs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12865 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38-devel", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-attrs", +"repository": "rhel9-AppStream" +} +], +"set_id": 12866 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-babel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-babel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-babel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12867 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-babel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12868 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-backports", +"repository": "rhel8-AppStream" +} +], +"set_id": 12869 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-backports", +"repository": "rhel8-AppStream" +} +], +"set_id": 12869 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 12870 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 12870 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 12871 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 12871 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-chardet", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-chardet", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-chardet", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-chardet", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12872 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-chardet", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12873 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-coverage", +"repository": "rhel8-AppStream" +} +], +"set_id": 12874 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-coverage", +"repository": "rhel8-AppStream" +} +], +"set_id": 12874 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-coverage", +"repository": "rhel8-AppStream" +} +], +"set_id": 12875 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-coverage", +"repository": "rhel8-AppStream" +} +], +"set_id": 12875 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-coverage", +"repository": "rhel8-AppStream" +} +], +"set_id": 12876 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-coverage", +"repository": "rhel8-AppStream" +} +], +"set_id": 12876 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12881 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12881 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12882 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12882 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-docutils", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-docutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 12883 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": { +"name": "python36", +"stream": "3.6" +} +}, +{ +"in_modulestream": null, +"out_modulestream": { +"name": "python36", +"stream": "3.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-docutils", +"repository": "rhel9-CRB" +} +], +"set_id": 12884 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "babel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12885 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "babel", +"repository": "rhel9-AppStream" +} +], +"set_id": 12886 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python-nose-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12887 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python-nose-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12887 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python-psycopg2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12906 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python-psycopg2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12906 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python-sqlalchemy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12908 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python-sqlalchemy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12908 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-backports-ssl_match_hostname", +"repository": "rhel8-AppStream" +} +], +"set_id": 12909 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-backports-ssl_match_hostname", +"repository": "rhel8-AppStream" +} +], +"set_id": 12909 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-docs-info", +"repository": "rhel8-AppStream" +} +], +"set_id": 12912 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-docs-info", +"repository": "rhel8-AppStream" +} +], +"set_id": 12912 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-funcsigs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12913 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-funcsigs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12913 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-idna", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-idna", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-idna", +"repository": "rhel8-AppStream" +} +], +"set_id": 12914 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-idna", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12915 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-ipaddress", +"repository": "rhel8-AppStream" +} +], +"set_id": 12916 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-ipaddress", +"repository": "rhel8-AppStream" +} +], +"set_id": 12916 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-jinja2", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-jinja2", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-jinja2", +"repository": "rhel8-AppStream" +} +], +"set_id": 12917 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-jinja2", +"repository": "rhel9-AppStream" +} +], +"set_id": 12918 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-libs", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-libs", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-libs", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12919 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12920 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-lxml", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-lxml", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-lxml", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-lxml", +"repository": "rhel8-AppStream" +} +], +"set_id": 12921 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lxml", +"repository": "rhel9-AppStream" +} +], +"set_id": 12922 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-markupsafe", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-markupsafe", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-markupsafe", +"repository": "rhel8-AppStream" +} +], +"set_id": 12923 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-markupsafe", +"repository": "rhel9-AppStream" +} +], +"set_id": 12924 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-nose", +"repository": "rhel8-AppStream" +} +], +"set_id": 12925 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-nose", +"repository": "rhel8-AppStream" +} +], +"set_id": 12925 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-nose", +"repository": "rhel8-AppStream" +} +], +"set_id": 12926 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-nose", +"repository": "rhel8-AppStream" +} +], +"set_id": 12926 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-numpy", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-numpy", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-numpy", +"repository": "rhel8-AppStream" +} +], +"set_id": 12927 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-numpy", +"repository": "rhel9-AppStream" +} +], +"set_id": 12928 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-numpy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12929 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-numpy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12929 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-numpy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12930 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-numpy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12930 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-numpy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12931 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-numpy-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12931 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-numpy-f2py", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-numpy-f2py", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-numpy-f2py", +"repository": "rhel8-AppStream" +} +], +"set_id": 12932 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-numpy-f2py", +"repository": "rhel9-AppStream" +} +], +"set_id": 12933 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-pip", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pip", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-pip", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-pip", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pip", +"repository": "rhel8-AppStream" +} +], +"set_id": 12934 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pip", +"repository": "rhel9-AppStream" +} +], +"set_id": 12935 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pluggy", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-pluggy", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-pluggy", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pluggy", +"repository": "rhel8-AppStream" +} +], +"set_id": 12936 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38-devel", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pluggy", +"repository": "rhel9-CRB" +} +], +"set_id": 12937 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-psycopg2", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-psycopg2", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-psycopg2", +"repository": "rhel8-AppStream" +} +], +"set_id": 12938 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-psycopg2", +"repository": "rhel9-AppStream" +} +], +"set_id": 12939 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-psycopg2-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 12940 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-psycopg2-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 12940 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-psycopg2-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 12941 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-psycopg2-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 12941 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-psycopg2-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 12942 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-psycopg2-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 12942 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-psycopg2-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 12943 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-psycopg2-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 12943 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-py", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-py", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-py", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "python3-py", +"repository": "rhel8-AppStream" +} +], +"set_id": 12944 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38-devel", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-py", +"repository": "rhel9-CRB" +} +], +"set_id": 12945 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pygments", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-pygments", +"repository": "rhel8-AppStream" +} +], +"set_id": 12946 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pygments", +"repository": "rhel9-CRB" +} +], +"set_id": 12947 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pymongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 12948 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pymongo", +"repository": "rhel8-AppStream" +} +], +"set_id": 12948 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pymongo-gridfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12950 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pymongo-gridfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12950 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-pymongo-gridfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12951 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-pymongo-gridfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 12951 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pysocks", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-pysocks", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-pysocks", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pysocks", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12952 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pysocks", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12953 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pytest", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-pytest", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-pytest", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pytest", +"repository": "rhel8-AppStream" +} +], +"set_id": 12954 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38-devel", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pytest", +"repository": "rhel9-CRB" +} +], +"set_id": 12955 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pytest-mock", +"repository": "rhel8-AppStream" +} +], +"set_id": 12956 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pytest-mock", +"repository": "rhel8-AppStream" +} +], +"set_id": 12956 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pytz", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-pytz", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pytz", +"repository": "rhel8-AppStream" +} +], +"set_id": 12957 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pytz", +"repository": "rhel9-AppStream" +} +], +"set_id": 12958 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pyyaml", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-pyyaml", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-pyyaml", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pyyaml", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12959 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyyaml", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12960 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-requests", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-requests", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-requests", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-requests", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12961 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-requests", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12962 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-rpm-macros", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python36-rpm-macros", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-rpm-macros", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-rpm-macros", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 12963 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-rpm-macros", +"repository": "rhel9-AppStream" +} +], +"set_id": 12964 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-scipy", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-scipy", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-scipy", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-scipy", +"repository": "rhel8-AppStream" +} +], +"set_id": 12965 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-scipy", +"repository": "rhel9-AppStream" +} +], +"set_id": 12966 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog", +"repository": "rhel8-AppStream" +} +], +"set_id": 12967 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "rsyslog-logrotate", +"repository": "rhel9-AppStream" +} +], +"set_id": 13062 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-setuptools", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-setuptools", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-setuptools", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-setuptools", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-setuptools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12968 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-setuptools", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12969 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-setuptools_scm", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-setuptools_scm", +"repository": "rhel8-CRB" +} +], +"set_id": 12970 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-setuptools_scm", +"repository": "rhel9-CRB" +} +], +"set_id": 12971 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-six", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-six", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-six", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-six", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12972 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-six", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12973 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-sqlalchemy", +"repository": "rhel8-AppStream" +} +], +"set_id": 12974 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-sqlalchemy", +"repository": "rhel8-AppStream" +} +], +"set_id": 12974 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-sqlalchemy", +"repository": "rhel8-AppStream" +} +], +"set_id": 12975 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9279, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-sqlalchemy", +"repository": "rhel8-AppStream" +} +], +"set_id": 12975 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-test", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-test", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-test", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-test", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12976 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-test", +"repository": "rhel9-CRB" +} +], +"set_id": 12977 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-tkinter", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-tkinter", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-tkinter", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-tkinter", +"repository": "rhel8-AppStream" +} +], +"set_id": 12978 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tkinter", +"repository": "rhel9-AppStream" +} +], +"set_id": 12979 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12980 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 12980 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-urllib3", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-urllib3", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-urllib3", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-urllib3", +"repository": "rhel8-BaseOS" +} +], +"set_id": 12981 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-urllib3", +"repository": "rhel9-BaseOS" +} +], +"set_id": 12982 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-virtualenv", +"repository": "rhel8-AppStream" +} +], +"set_id": 12983 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-virtualenv", +"repository": "rhel8-AppStream" +} +], +"set_id": 12983 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-virtualenv", +"repository": "rhel8-AppStream" +} +], +"set_id": 12988 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-wheel", +"repository": "rhel8-AppStream" +} +], +"set_id": 12985 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-wheel", +"repository": "rhel9-CRB" +} +], +"set_id": 12986 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python-pymongo-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12987 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python-pymongo-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12987 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-virtualenv", +"repository": "rhel8-AppStream" +} +], +"set_id": 12988 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python-virtualenv-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12989 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python-virtualenv-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 12989 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-asn1crypto", +"repository": "rhel8-AppStream" +} +], +"set_id": 12990 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-asn1crypto", +"repository": "rhel8-AppStream" +} +], +"set_id": 12990 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-cffi", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-cffi", +"repository": "rhel8-AppStream" +} +], +"set_id": 12991 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cffi", +"repository": "rhel9-AppStream" +} +], +"set_id": 12992 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-cryptography", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-cryptography", +"repository": "rhel8-AppStream" +} +], +"set_id": 12993 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-cryptography", +"repository": "rhel9-AppStream" +} +], +"set_id": 12994 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-idle", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-idle", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-idle", +"repository": "rhel8-AppStream" +} +], +"set_id": 12995 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-idle", +"repository": "rhel9-CRB" +} +], +"set_id": 12996 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-mod_wsgi", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-mod_wsgi", +"repository": "rhel8-AppStream" +} +], +"set_id": 12997 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-mod_wsgi", +"repository": "rhel9-AppStream" +} +], +"set_id": 12998 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-ply", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-ply", +"repository": "rhel8-AppStream" +} +], +"set_id": 12999 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ply", +"repository": "rhel9-AppStream" +} +], +"set_id": 13000 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-psutil", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-psutil", +"repository": "rhel8-AppStream" +} +], +"set_id": 13001 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-psutil", +"repository": "rhel9-AppStream" +} +], +"set_id": 13002 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-psycopg2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13003 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-psycopg2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13003 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-psycopg2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13004 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-psycopg2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13004 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-pycparser", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-pycparser", +"repository": "rhel8-AppStream" +} +], +"set_id": 13005 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pycparser", +"repository": "rhel9-AppStream" +} +], +"set_id": 13006 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-atomicwrites", +"repository": "rhel8-CRB" +} +], +"set_id": 13007 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-more-itertools", +"repository": "rhel8-CRB" +} +], +"set_id": 13008 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-more-itertools", +"repository": "rhel8-CRB" +} +], +"set_id": 13009 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-packaging", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-packaging", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "python3-packaging", +"repository": "rhel8-CRB" +} +], +"set_id": 13010 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38-devel", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-packaging", +"repository": "rhel9-AppStream" +} +], +"set_id": 13011 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-pyparsing", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-pyparsing", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pyparsing", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13012 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38-devel", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pyparsing", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13013 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-pybind11", +"repository": "rhel8-CRB" +} +], +"set_id": 13016 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-pybind11-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13017 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-sphinx-locale", +"repository": "rhel8-CRB" +} +], +"set_id": 13018 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-iso8601", +"repository": "rhel8-CRB" +} +], +"set_id": 13019 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-iso8601", +"repository": "rhel8-CRB" +} +], +"set_id": 13020 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pillow-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13025 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pillow-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 13026 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pillow-tk", +"repository": "rhel8-CRB" +} +], +"set_id": 13027 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-slip", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13028 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-slip", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13028 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-slip-dbus", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13029 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-slip-dbus", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13029 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-sure", +"repository": "rhel8-CRB" +} +], +"set_id": 13030 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-unittest2", +"repository": "rhel8-CRB" +} +], +"set_id": 13031 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-whoosh", +"repository": "rhel8-CRB" +} +], +"set_id": 13033 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9328, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python36", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39", +"repository": "rhel8-AppStream" +} +], +"set_id": 13036 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13037 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-debug", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-debug", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python36-debug", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-debug", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-debug", +"repository": "rhel8-CRB" +} +], +"set_id": 13038 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-debug", +"repository": "rhel9-CRB" +} +], +"set_id": 13039 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "platform-python-devel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-devel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python36-devel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-devel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13040 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +}, +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 13041 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-toml", +"repository": "rhel8-AppStream" +} +], +"set_id": 13044 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-toml", +"repository": "rhel9-AppStream" +} +], +"set_id": 13045 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-iniconfig", +"repository": "rhel8-CRB" +} +], +"set_id": 13046 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-iniconfig", +"repository": "rhel9-CRB" +} +], +"set_id": 13047 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aide", +"repository": "rhel9-AppStream" +} +], +"set_id": 13048 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "audit", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13049 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clevis", +"repository": "rhel9-AppStream" +} +], +"set_id": 13050 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fapolicyd", +"repository": "rhel9-AppStream" +} +], +"set_id": 13051 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jose", +"repository": "rhel9-AppStream" +} +], +"set_id": 13052 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13053 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcap-ng", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13054 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libseccomp", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13055 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "luksmeta", +"repository": "rhel9-AppStream" +} +], +"set_id": 13056 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "scrub", +"repository": "rhel9-AppStream" +} +], +"set_id": 13057 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tang", +"repository": "rhel9-AppStream" +} +], +"set_id": 13058 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-sdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 13060 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-sdb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13061 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-sdb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13061 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 13068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-bson", +"repository": "rhel8-AppStream" +} +], +"set_id": 13068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-bson-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13069 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-bson-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13069 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ansible-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 13074 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ansible-test", +"repository": "rhel9-AppStream" +} +], +"set_id": 13075 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ansible-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 13076 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-resolvelib", +"repository": "rhel9-AppStream" +} +], +"set_id": 13078 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hostapd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13079 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python38-devel", +"stream": "3.8" +} +], +"name": "python38-wcwidth", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "python39-devel", +"stream": "3.9" +} +], +"name": "python39-wcwidth", +"repository": "rhel8-CRB" +} +], +"set_id": 13095 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python38-devel", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39-devel", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-wcwidth", +"repository": "rhel9-CRB" +} +], +"set_id": 13096 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "iptables-arptables", +"repository": "rhel8-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "iptables-ebtables", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13097 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-nft", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13098 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-services", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13101 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-nft-services", +"repository": "rhel9-AppStream" +} +], +"set_id": 13102 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 13103 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-libs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13104 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "iptables-utils", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13107 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 9380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatzip-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 17060 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipset-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13112 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-pkcs11", +"repository": "rhel8-AppStream" +} +], +"set_id": 13113 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-pkcs11", +"repository": "rhel8-AppStream" +} +], +"set_id": 13113 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-pkcs11-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 13114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-pkcs11-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 13114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-plugin-container", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13115 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clutter-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13116 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clutter-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 13117 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clutter-gst3-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13118 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clutter-gtk-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13119 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cogl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13120 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cogl-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 13121 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdbm-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13122 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdbm-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 13123 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcgroup-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libcgroup-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mercurial", +"stream": "4.8" +} +], +"name": "mercurial-hgk", +"repository": "rhel8-AppStream" +} +], +"set_id": 13127 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mercurial", +"stream": "4.8" +} +], +"name": "mercurial-hgk", +"repository": "rhel8-AppStream" +} +], +"set_id": 13127 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "recode", +"repository": "rhel8-AppStream" +} +], +"set_id": 13128 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "recode", +"repository": "rhel8-AppStream" +} +], +"set_id": 13128 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xdelta", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13129 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xdelta", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13129 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 9405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-dyninst", +"repository": "rhel8-AppStream" +} +], +"set_id": 13130 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 9406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-dyninst-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13131 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-elfutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 13132 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-elfutils-debuginfod-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 13133 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-elfutils-debuginfod-client-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13134 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-elfutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13135 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-elfutils-libelf", +"repository": "rhel8-AppStream" +} +], +"set_id": 13136 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-elfutils-libelf-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13137 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-elfutils-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13138 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-systemtap", +"repository": "rhel8-AppStream" +} +], +"set_id": 13139 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-systemtap-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 13140 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-systemtap-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13141 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-systemtap-initscript", +"repository": "rhel8-AppStream" +} +], +"set_id": 13142 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-systemtap-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 13143 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-systemtap-sdt-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13144 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-systemtap-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 13145 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 13146 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gdb-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13147 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gdb-gdbserver", +"repository": "rhel8-AppStream" +} +], +"set_id": 13148 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-valgrind", +"repository": "rhel8-AppStream" +} +], +"set_id": 13149 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-valgrind-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13150 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-10-gcc-plugin-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13151 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-strace", +"repository": "rhel8-AppStream" +} +], +"set_id": 13152 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rsyslog-mmfields", +"repository": "rhel9-AppStream" +} +], +"set_id": 13153 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-mysql", +"repository": "rhel8-AppStream" +} +], +"set_id": 13155 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-mysql", +"repository": "rhel8-AppStream" +} +], +"set_id": 13155 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 13156 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 13156 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-postgresql", +"repository": "rhel8-AppStream" +} +], +"set_id": 13157 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-postgresql", +"repository": "rhel8-AppStream" +} +], +"set_id": 13157 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-sqlite", +"repository": "rhel8-AppStream" +} +], +"set_id": 13158 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-sqlite", +"repository": "rhel8-AppStream" +} +], +"set_id": 13158 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-unixODBC", +"repository": "rhel8-AppStream" +} +], +"set_id": 13159 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "freeradius", +"stream": "3.0" +} +], +"name": "freeradius-unixODBC", +"repository": "rhel8-AppStream" +} +], +"set_id": 13159 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "softhsm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13160 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "softhsm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13160 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-networkx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13161 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ima-evm-utils0", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13165 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-ifetex", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ifluatex", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "texlive-ifxetex", +"repository": "rhel8-AppStream" +} +], +"set_id": 13166 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-iftex", +"repository": "rhel9-AppStream" +} +], +"set_id": 13167 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-tetex", +"repository": "rhel8-AppStream" +} +], +"set_id": 13168 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-texlive-scripts", +"repository": "rhel9-AppStream" +} +], +"set_id": 13169 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "satellite-5-client", +"stream": "1.0" +} +], +"name": "yum-rhn-plugin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13182 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "satellite-5-client", +"stream": "1.0" +} +], +"name": "dnf-plugin-spacewalk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13183 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-manager", +"repository": "rhel8-AppStream" +} +], +"set_id": 13184 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 9452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-papi", +"repository": "rhel8-AppStream" +} +], +"set_id": 13185 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-perfevent", +"repository": "rhel8-AppStream" +} +], +"set_id": 13186 +}, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-prometheus", +"repository": "rhel8-AppStream" +} +], +"set_id": 13187 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-openmetrics", +"repository": "rhel8-AppStream" +} +], +"set_id": 13188 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-azure-monitor", +"repository": "rhel8-AppStream" +} +], +"set_id": 13193 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-cloudwatch", +"repository": "rhel8-AppStream" +} +], +"set_id": 13194 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-elasticsearch", +"repository": "rhel8-AppStream" +} +], +"set_id": 13195 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-graphite", +"repository": "rhel8-AppStream" +} +], +"set_id": 13196 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-influxdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 13197 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-loki", +"repository": "rhel8-AppStream" +} +], +"set_id": 13198 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-mssql", +"repository": "rhel8-AppStream" +} +], +"set_id": 13199 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-mysql", +"repository": "rhel8-AppStream" +} +], +"set_id": 13200 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-opentsdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 13201 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-postgres", +"repository": "rhel8-AppStream" +} +], +"set_id": 13202 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-prometheus", +"repository": "rhel8-AppStream" +} +], +"set_id": 13203 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "grafana-stackdriver", +"repository": "rhel8-AppStream" +} +], +"set_id": 13204 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-denki", +"repository": "rhel8-AppStream" +} +], +"set_id": 13205 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-mongodb", +"repository": "rhel8-AppStream" +} +], +"set_id": 13206 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-pip-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-pip-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-pip-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pip-wheel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13209 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pip-wheel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13210 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-setuptools-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-setuptools-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-setuptools-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "python3-setuptools-wheel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13211 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-setuptools-wheel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13212 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "python27", +"stream": "2.7" +} +], +"name": "python2-wheel-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python38", +"stream": "3.8" +} +], +"name": "python38-wheel-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python39", +"stream": "3.9" +} +], +"name": "python39-wheel-wheel", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "python36", +"stream": "3.6" +} +], +"name": "python3-wheel-wheel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13213 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "python27", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python36", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python38", +"stream": "3.8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "python39", +"stream": "3.9" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-wheel-wheel", +"repository": "rhel9-CRB" +} +], +"set_id": 13214 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-vmware", +"repository": "rhel8-AppStream" +} +], +"set_id": 13215 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-openmetrics", +"repository": "rhel8-AppStream" +} +], +"set_id": 13216 +}, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-vmware", +"repository": "rhel8-AppStream" +} +], +"set_id": 13215 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcp-pmda-bpf", +"repository": "rhel9-AppStream" +} +], +"set_id": 13217 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13218 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gcc-c++", +"repository": "rhel8-AppStream" +} +], +"set_id": 13219 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gcc-gdb-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 13220 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gcc-gfortran", +"repository": "rhel8-AppStream" +} +], +"set_id": 13221 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-gcc-plugin-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13222 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libasan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13223 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libatomic-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13224 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libgccjit", +"repository": "rhel8-AppStream" +} +], +"set_id": 13225 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libgccjit-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13226 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libgccjit-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13227 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libitm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13228 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-liblsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13229 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libquadmath-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13230 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libstdc++-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13231 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libstdc++-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13232 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libtsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13233 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-libubsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13234 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libasan6", +"repository": "rhel8-AppStream" +} +], +"set_id": 13235 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11", +"repository": "rhel8-AppStream" +} +], +"set_id": 13236 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-dwz", +"repository": "rhel8-AppStream" +} +], +"set_id": 13237 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-ltrace", +"repository": "rhel8-AppStream" +} +], +"set_id": 13238 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-make", +"repository": "rhel8-AppStream" +} +], +"set_id": 13239 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-make-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13240 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-make-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13240 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-build", +"repository": "rhel8-AppStream" +} +], +"set_id": 13241 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-perftools", +"repository": "rhel8-AppStream" +} +], +"set_id": 13242 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 13244 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-toolchain", +"repository": "rhel8-AppStream" +} +], +"set_id": 13245 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "texlive-context", +"repository": "rhel9-AppStream" +} +], +"set_id": 13246 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xinetd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13247 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "systemd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13248 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "inkscape", +"stream": "0.92.3" +} +], +"name": "inkscape-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13249 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "inkscape", +"stream": "0.92.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 13250 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtquickcontrols2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13257 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtquickcontrols2-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 13258 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtserialbus-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13259 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtserialbus-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 13260 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwayland-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13261 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtwayland-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 13262 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "4.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "toolbox", +"repository": "rhel8-AppStream" +} +], +"set_id": 13263 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "toolbox", +"repository": "rhel9-AppStream" +} +], +"set_id": 13264 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "4.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "toolbox-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 13273 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "toolbox-tests", +"repository": "rhel9-AppStream" +} +], +"set_id": 13274 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-libevent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13279 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libverto-libevent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13279 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-binutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 13280 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-binutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13281 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-dwz", +"repository": "rhel8-AppStream" +} +], +"set_id": 13282 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 9523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-dyninst", +"repository": "rhel8-AppStream" +} +], +"set_id": 13283 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 9524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-dyninst-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13284 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 9525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-dyninst-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 13285 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 9526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-dyninst-static", +"repository": "rhel8-CRB" +} +], +"set_id": 13286 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 9527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-dyninst-testsuite", +"repository": "rhel8-CRB" +} +], +"set_id": 13287 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-elfutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 13288 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-elfutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13289 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-elfutils-libelf", +"repository": "rhel8-AppStream" +} +], +"set_id": 13290 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-elfutils-libelf-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13291 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-elfutils-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13292 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-gcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13293 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-gcc-c++", +"repository": "rhel8-AppStream" +} +], +"set_id": 13294 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-gcc-gdb-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 13295 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-gcc-gfortran", +"repository": "rhel8-AppStream" +} +], +"set_id": 13296 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-gcc-plugin-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13297 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-libasan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13298 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-libatomic-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13299 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-libitm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13300 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 9541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-liblsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13301 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 9542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-libquadmath-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13302 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-libstdc++-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13303 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-libstdc++-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13304 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 9545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-libtsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13305 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 9546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-libubsan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13306 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 13307 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-gdb-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13308 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-gdb-gdbserver", +"repository": "rhel8-AppStream" +} +], +"set_id": 13309 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-ltrace", +"repository": "rhel8-AppStream" +} +], +"set_id": 13310 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-make", +"repository": "rhel8-AppStream" +} +], +"set_id": 13311 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-make-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13312 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-strace", +"repository": "rhel8-AppStream" +} +], +"set_id": 13313 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-systemtap", +"repository": "rhel8-AppStream" +} +], +"set_id": 13314 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-systemtap-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 13315 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-systemtap-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13316 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-systemtap-initscript", +"repository": "rhel8-AppStream" +} +], +"set_id": 13317 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-systemtap-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 13318 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-systemtap-sdt-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13319 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-systemtap-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 13320 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-valgrind", +"repository": "rhel8-AppStream" +} +], +"set_id": 13321 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-9-valgrind-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13322 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-annobin-annocheck", +"repository": "rhel8-AppStream" +} +], +"set_id": 13323 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-annobin-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13324 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-annobin-plugin-gcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13325 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-binutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 13326 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-11-binutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13327 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-jam", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13328 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-jam", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13328 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-signals", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13330 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-signals", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13330 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-json", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13331 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 9576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kmod-redhat-oracleasm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13332 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "annobin-annocheck", +"repository": "rhel8-AppStream" +} +], +"set_id": 13338 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-9", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 13339 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-9", +"repository": "rhel8-SAP-Solutions" +} +], +"set_id": 13339 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-11", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 13341 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-sap-c++-11", +"repository": "rhel8-SAP-NetWeaver" +} +], +"set_id": 13341 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librpmem", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13342 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librpmem", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13342 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librpmem-debug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13343 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librpmem-debug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13343 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librpmem-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13344 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librpmem-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13344 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmem", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13345 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmem", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13345 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmem-debug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13346 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmem-debug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13346 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmem-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13347 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmem-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13347 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmmalloc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13348 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmmalloc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13348 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmmalloc-debug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13349 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmmalloc-debug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13349 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmmalloc-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13350 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvmmalloc-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13350 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpmemd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13351 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rpmemd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13351 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rteval-common", +"repository": "rhel7-base" +} +], +"set_id": 13352 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rteval-common", +"repository": "rhel7-base" +} +], +"set_id": 13352 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libatomic-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libatomic-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgccjit", +"repository": "rhel9-AppStream" +} +], +"set_id": 13354 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgccjit-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 13355 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 9609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crash-ptdump-command", +"repository": "rhel8-AppStream" +} +], +"set_id": 13356 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 13359 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw32-spice-vdagent", +"repository": "rhel8-CRB" +} +], +"set_id": 15398 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mingw64-spice-vdagent", +"repository": "rhel8-CRB" +} +], +"set_id": 15399 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-qxl-xddm", +"repository": "rhel8-AppStream" +} +], +"set_id": 15397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-cloudsync-plugins", +"repository": "rhel9-AppStream" +} +], +"set_id": 13363 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gluster", +"repository": "rhel9-AppStream" +} +], +"set_id": 13364 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python2-gluster", +"repository": "rhel8-CRB" +} +], +"set_id": 13365 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libtiff3", +"repository": "rhel8-AppStream" +} +], +"set_id": 13366 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-libtiff3", +"repository": "rhel8-AppStream" +} +], +"set_id": 13366 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "memstrack", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13367 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "memstrack", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13368 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 9623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencsd-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 13369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-vfs-iouring", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-vfs-iouring", +"repository": "rhel9-AppStream" +} +], +"set_id": 13371 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ctdb-tests", +"repository": "rhel7-base" +} +], +"set_id": 13372 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 9627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ctdb-tests", +"repository": "rhel7-base" +} +], +"set_id": 13372 +}, +"initial_release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm-quote-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13373 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm-quote-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13373 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zstd", +"repository": "rhel8-AppStream" +} +], +"set_id": 13374 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zstd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13375 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "http-parser", +"repository": "rhel9-AppStream" +} +], +"set_id": 13376 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-recode", +"repository": "rhel8-AppStream" +} +], +"set_id": 13377 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-recode", +"repository": "rhel8-AppStream" +} +], +"set_id": 13377 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-xmlrpc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13378 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-xmlrpc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13378 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13379 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached-awesome-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 13380 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"s390x" +], +"id": 9637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "network-scripts-ppp", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13390 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brlapi-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 13382 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "brlapi-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 13382 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpdf", +"repository": "rhel8-AppStream" +} +], +"set_id": 13383 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpdf", +"repository": "rhel8-AppStream" +} +], +"set_id": 13383 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpdf-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13384 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpdf-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13384 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-utils-systemtap", +"repository": "rhel8-AppStream" +} +], +"set_id": 13386 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-utils-systemtap", +"repository": "rhel8-AppStream" +} +], +"set_id": 13386 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-compat", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13387 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-compat", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13387 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lftp-scripts", +"repository": "rhel8-AppStream" +} +], +"set_id": 13388 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lftp-scripts", +"repository": "rhel8-AppStream" +} +], +"set_id": 13388 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcl-brlapi", +"repository": "rhel8-AppStream" +} +], +"set_id": 13389 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcl-brlapi", +"repository": "rhel8-AppStream" +} +], +"set_id": 13389 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"s390x" +], +"id": 9655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "network-scripts-ppp", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13390 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13391 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13391 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm-tools-pkcs11", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13392 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tpm-tools-pkcs11", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13392 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-sdb-chroot", +"repository": "rhel8-AppStream" +} +], +"set_id": 13393 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-sdb-chroot", +"repository": "rhel8-AppStream" +} +], +"set_id": 13393 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trousers-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 13394 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-pkcs11-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13395 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-pkcs11-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13395 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-pkcs11-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13396 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-pkcs11-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13396 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dhcp-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dhcp-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "numactl-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13400 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "numactl-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13401 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "crit", +"repository": "rhel8-AppStream" +} +], +"set_id": 13402 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crit", +"repository": "rhel9-AppStream" +} +], +"set_id": 13403 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "criu", +"repository": "rhel8-AppStream" +} +], +"set_id": 13412 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "criu", +"repository": "rhel9-AppStream" +} +], +"set_id": 13413 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "python3-criu", +"repository": "rhel8-AppStream" +} +], +"set_id": 13424 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-criu", +"repository": "rhel9-AppStream" +} +], +"set_id": 13425 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13434 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c", +"repository": "rhel9-AppStream" +} +], +"set_id": 13435 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c-compiler", +"repository": "rhel8-AppStream" +} +], +"set_id": 13436 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c-compiler", +"repository": "rhel9-CRB" +} +], +"set_id": 13437 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13438 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-c-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 13439 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-compiler", +"repository": "rhel8-AppStream" +} +], +"set_id": 13440 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "protobuf-compiler", +"repository": "rhel9-CRB" +} +], +"set_id": 13441 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoclue2-demos", +"repository": "rhel8-AppStream" +} +], +"set_id": 13442 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "geoclue2-demos", +"repository": "rhel9-CRB" +} +], +"set_id": 13443 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Signature", +"repository": "rhel9-AppStream" +} +], +"set_id": 13444 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk4-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 13445 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 9693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencsd", +"repository": "rhel9-AppStream" +} +], +"set_id": 13446 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-LineBreak", +"repository": "rhel8-CRB" +} +], +"set_id": 13447 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-LineBreak", +"repository": "rhel9-AppStream" +} +], +"set_id": 13448 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Algorithm-Diff", +"repository": "rhel8-AppStream" +} +], +"set_id": 13449 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Algorithm-Diff", +"repository": "rhel9-AppStream" +} +], +"set_id": 13450 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Algorithm-Diff", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13451 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Algorithm-Diff", +"repository": "rhel9-AppStream" +} +], +"set_id": 13452 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-App-cpanminus", +"repository": "rhel8-AppStream" +} +], +"set_id": 13457 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-App-cpanminus", +"repository": "rhel9-AppStream" +} +], +"set_id": 13458 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Archive-Tar", +"repository": "rhel8-AppStream" +} +], +"set_id": 13459 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Archive-Tar", +"repository": "rhel9-AppStream" +} +], +"set_id": 13460 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Archive-Tar", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13465 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Archive-Tar", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13466 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Carp", +"repository": "rhel8-AppStream" +} +], +"set_id": 13467 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Carp", +"repository": "rhel9-AppStream" +} +], +"set_id": 13468 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Carp", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13473 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Carp", +"repository": "rhel9-AppStream" +} +], +"set_id": 13474 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Clone", +"repository": "rhel8-CRB" +} +], +"set_id": 13475 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Clone", +"repository": "rhel9-AppStream" +} +], +"set_id": 13476 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Compress-Raw-Bzip2", +"repository": "rhel8-AppStream" +} +], +"set_id": 13477 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Compress-Raw-Bzip2", +"repository": "rhel9-AppStream" +} +], +"set_id": 13478 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Compress-Raw-Bzip2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13483 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Compress-Raw-Bzip2", +"repository": "rhel9-AppStream" +} +], +"set_id": 13484 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Compress-Raw-Zlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 13485 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Compress-Raw-Zlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 13486 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Compress-Raw-Zlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13491 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Compress-Raw-Zlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 13492 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-constant", +"repository": "rhel8-AppStream" +} +], +"set_id": 13493 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-constant", +"repository": "rhel9-AppStream" +} +], +"set_id": 13494 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-constant", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13499 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-constant", +"repository": "rhel9-AppStream" +} +], +"set_id": 13500 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN-DistnameInfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 13501 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPAN-DistnameInfo", +"repository": "rhel9-AppStream" +} +], +"set_id": 13502 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-CPAN-Meta-Check", +"repository": "rhel8-AppStream" +} +], +"set_id": 13509 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPAN-Meta-Check", +"repository": "rhel9-AppStream" +} +], +"set_id": 13510 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Data-Dump", +"repository": "rhel8-AppStream" +} +], +"set_id": 13511 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-Dump", +"repository": "rhel9-AppStream" +} +], +"set_id": 13512 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Data-Dumper", +"repository": "rhel8-AppStream" +} +], +"set_id": 13513 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-Dumper", +"repository": "rhel9-AppStream" +} +], +"set_id": 13514 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-Dumper", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13519 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-Dumper", +"repository": "rhel9-AppStream" +} +], +"set_id": 13520 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Date-Manip", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13521 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Date-Manip", +"repository": "rhel9-AppStream" +} +], +"set_id": 13522 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Errno", +"repository": "rhel8-AppStream" +} +], +"set_id": 13523 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Errno", +"repository": "rhel9-AppStream" +} +], +"set_id": 13524 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Errno", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13529 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Errno", +"repository": "rhel9-AppStream" +} +], +"set_id": 13530 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 13531 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Exporter", +"repository": "rhel9-AppStream" +} +], +"set_id": 13532 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Exporter", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13537 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Exporter", +"repository": "rhel9-AppStream" +} +], +"set_id": 13538 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Path", +"repository": "rhel8-AppStream" +} +], +"set_id": 13539 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Path", +"repository": "rhel9-AppStream" +} +], +"set_id": 13540 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Path", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13545 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Path", +"repository": "rhel9-AppStream" +} +], +"set_id": 13546 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Temp", +"repository": "rhel8-AppStream" +} +], +"set_id": 13547 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Temp", +"repository": "rhel9-AppStream" +} +], +"set_id": 13548 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Temp", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13553 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Temp", +"repository": "rhel9-AppStream" +} +], +"set_id": 13554 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Getopt-Long", +"repository": "rhel8-AppStream" +} +], +"set_id": 13555 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Getopt-Long", +"repository": "rhel9-AppStream" +} +], +"set_id": 13556 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Getopt-Long", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13561 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Getopt-Long", +"repository": "rhel9-AppStream" +} +], +"set_id": 13562 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-HTTP-Tiny", +"repository": "rhel8-AppStream" +} +], +"set_id": 13563 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Tiny", +"repository": "rhel9-AppStream" +} +], +"set_id": 13564 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Tiny", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13569 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Tiny", +"repository": "rhel9-AppStream" +} +], +"set_id": 13570 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-interpreter", +"repository": "rhel8-AppStream" +} +], +"set_id": 13571 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-interpreter", +"repository": "rhel9-AppStream" +} +], +"set_id": 13572 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO", +"repository": "rhel8-AppStream" +} +], +"set_id": 13579 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO", +"repository": "rhel9-AppStream" +} +], +"set_id": 13580 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13585 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO", +"repository": "rhel9-AppStream" +} +], +"set_id": 13586 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO-Compress", +"repository": "rhel8-AppStream" +} +], +"set_id": 13587 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Compress", +"repository": "rhel9-AppStream" +} +], +"set_id": 13588 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Compress", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13593 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Compress", +"repository": "rhel9-AppStream" +} +], +"set_id": 13594 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO-Zlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 13595 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Zlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 13596 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Zlib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13601 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Zlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 13602 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 13603 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 13604 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13609 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 13610 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 13611 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-macros", +"repository": "rhel9-AppStream" +} +], +"set_id": 13612 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-macros", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13617 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-macros", +"repository": "rhel9-AppStream" +} +], +"set_id": 13618 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Math-Complex", +"repository": "rhel8-AppStream" +} +], +"set_id": 13619 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Math-Complex", +"repository": "rhel9-AppStream" +} +], +"set_id": 13620 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Math-Complex", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13625 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Math-Complex", +"repository": "rhel9-AppStream" +} +], +"set_id": 13626 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unbound-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13627 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unbound-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 13627 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-MIME-Base64", +"repository": "rhel8-AppStream" +} +], +"set_id": 13628 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-MIME-Base64", +"repository": "rhel9-AppStream" +} +], +"set_id": 13629 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-MIME-Base64", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13634 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-MIME-Base64", +"repository": "rhel9-AppStream" +} +], +"set_id": 13635 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-parent", +"repository": "rhel8-AppStream" +} +], +"set_id": 13636 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-parent", +"repository": "rhel9-AppStream" +} +], +"set_id": 13637 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-parent", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13642 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-parent", +"repository": "rhel9-AppStream" +} +], +"set_id": 13643 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-PathTools", +"repository": "rhel8-AppStream" +} +], +"set_id": 13644 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PathTools", +"repository": "rhel9-AppStream" +} +], +"set_id": 13645 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PathTools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13650 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PathTools", +"repository": "rhel9-AppStream" +} +], +"set_id": 13651 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libotr-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 13652 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Escapes", +"repository": "rhel8-AppStream" +} +], +"set_id": 13653 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Escapes", +"repository": "rhel9-AppStream" +} +], +"set_id": 13654 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Escapes", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13659 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Escapes", +"repository": "rhel9-AppStream" +} +], +"set_id": 13660 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-podlators", +"repository": "rhel8-AppStream" +} +], +"set_id": 13661 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-podlators", +"repository": "rhel9-AppStream" +} +], +"set_id": 13662 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-podlators", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13667 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-podlators", +"repository": "rhel9-AppStream" +} +], +"set_id": 13668 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 13669 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Parser", +"repository": "rhel9-AppStream" +} +], +"set_id": 13670 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Parser", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13675 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Parser", +"repository": "rhel9-AppStream" +} +], +"set_id": 13676 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Perldoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13677 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Perldoc", +"repository": "rhel9-AppStream" +} +], +"set_id": 13678 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Perldoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13683 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Perldoc", +"repository": "rhel9-AppStream" +} +], +"set_id": 13684 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 13685 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Simple", +"repository": "rhel9-AppStream" +} +], +"set_id": 13686 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Simple", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13691 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Simple", +"repository": "rhel9-AppStream" +} +], +"set_id": 13692 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Usage", +"repository": "rhel8-AppStream" +} +], +"set_id": 13693 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Usage", +"repository": "rhel9-AppStream" +} +], +"set_id": 13694 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Usage", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13699 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Usage", +"repository": "rhel9-AppStream" +} +], +"set_id": 13700 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Scalar-List-Utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 13701 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Scalar-List-Utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 13702 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9826, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Scalar-List-Utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13707 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Scalar-List-Utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 13708 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Socket", +"repository": "rhel8-AppStream" +} +], +"set_id": 13709 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Socket", +"repository": "rhel9-AppStream" +} +], +"set_id": 13710 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Socket", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13715 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Socket", +"repository": "rhel9-AppStream" +} +], +"set_id": 13716 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Storable", +"repository": "rhel8-AppStream" +} +], +"set_id": 13717 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Storable", +"repository": "rhel9-AppStream" +} +], +"set_id": 13718 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Storable", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13723 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Storable", +"repository": "rhel9-AppStream" +} +], +"set_id": 13724 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-ANSIColor", +"repository": "rhel8-AppStream" +} +], +"set_id": 13725 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-ANSIColor", +"repository": "rhel9-AppStream" +} +], +"set_id": 13726 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-ANSIColor", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13731 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-ANSIColor", +"repository": "rhel9-AppStream" +} +], +"set_id": 13732 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-Cap", +"repository": "rhel8-AppStream" +} +], +"set_id": 13733 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Cap", +"repository": "rhel9-AppStream" +} +], +"set_id": 13734 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Cap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13739 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Cap", +"repository": "rhel9-AppStream" +} +], +"set_id": 13740 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Diff", +"repository": "rhel8-AppStream" +} +], +"set_id": 13741 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Diff", +"repository": "rhel9-AppStream" +} +], +"set_id": 13742 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Diff", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13747 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Diff", +"repository": "rhel9-AppStream" +} +], +"set_id": 13748 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-ParseWords", +"repository": "rhel8-AppStream" +} +], +"set_id": 13749 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-ParseWords", +"repository": "rhel9-AppStream" +} +], +"set_id": 13750 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-ParseWords", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13755 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-ParseWords", +"repository": "rhel9-AppStream" +} +], +"set_id": 13756 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Tabs+Wrap", +"repository": "rhel8-AppStream" +} +], +"set_id": 13757 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Tabs+Wrap", +"repository": "rhel9-AppStream" +} +], +"set_id": 13758 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Tabs+Wrap", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13763 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Tabs+Wrap", +"repository": "rhel9-AppStream" +} +], +"set_id": 13764 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-threads", +"repository": "rhel8-AppStream" +} +], +"set_id": 13765 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-threads", +"repository": "rhel9-AppStream" +} +], +"set_id": 13766 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9858, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-threads", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13771 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-threads", +"repository": "rhel9-AppStream" +} +], +"set_id": 13772 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9859, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-threads-shared", +"repository": "rhel8-AppStream" +} +], +"set_id": 13773 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-threads-shared", +"repository": "rhel9-AppStream" +} +], +"set_id": 13774 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-threads-shared", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13779 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-threads-shared", +"repository": "rhel9-AppStream" +} +], +"set_id": 13780 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Time-Local", +"repository": "rhel8-AppStream" +} +], +"set_id": 13781 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Time-Local", +"repository": "rhel9-AppStream" +} +], +"set_id": 13782 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Time-Local", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13787 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Time-Local", +"repository": "rhel9-AppStream" +} +], +"set_id": 13788 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Unicode-Normalize", +"repository": "rhel8-AppStream" +} +], +"set_id": 13789 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-Normalize", +"repository": "rhel9-AppStream" +} +], +"set_id": 13790 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-Normalize", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13795 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-Normalize", +"repository": "rhel9-AppStream" +} +], +"set_id": 13796 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-Table", +"repository": "rhel8-AppStream" +} +], +"set_id": 13797 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Table", +"repository": "rhel9-AppStream" +} +], +"set_id": 13798 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Table", +"repository": "rhel8-CRB" +} +], +"set_id": 13801 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Table", +"repository": "rhel9-AppStream" +} +], +"set_id": 13802 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Importer", +"repository": "rhel8-AppStream" +} +], +"set_id": 13803 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Importer", +"repository": "rhel9-AppStream" +} +], +"set_id": 13804 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Importer", +"repository": "rhel8-CRB" +} +], +"set_id": 13807 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Importer", +"repository": "rhel9-AppStream" +} +], +"set_id": 13808 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Digest-HMAC", +"repository": "rhel8-AppStream" +} +], +"set_id": 13809 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-HMAC", +"repository": "rhel9-AppStream" +} +], +"set_id": 13810 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Encode-Locale", +"repository": "rhel8-AppStream" +} +], +"set_id": 13811 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Encode-Locale", +"repository": "rhel9-AppStream" +} +], +"set_id": 13812 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-File-Listing", +"repository": "rhel8-AppStream" +} +], +"set_id": 13815 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Listing", +"repository": "rhel9-AppStream" +} +], +"set_id": 13816 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTML-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 13817 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Parser", +"repository": "rhel9-AppStream" +} +], +"set_id": 13818 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTML-Tagset", +"repository": "rhel8-AppStream" +} +], +"set_id": 13819 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Tagset", +"repository": "rhel9-AppStream" +} +], +"set_id": 13820 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTTP-Cookies", +"repository": "rhel8-AppStream" +} +], +"set_id": 13821 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Cookies", +"repository": "rhel9-AppStream" +} +], +"set_id": 13822 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTTP-Date", +"repository": "rhel8-AppStream" +} +], +"set_id": 13823 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Date", +"repository": "rhel9-AppStream" +} +], +"set_id": 13824 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTTP-Negotiate", +"repository": "rhel8-AppStream" +} +], +"set_id": 13825 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Negotiate", +"repository": "rhel9-AppStream" +} +], +"set_id": 13826 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-IO-HTML", +"repository": "rhel8-AppStream" +} +], +"set_id": 13827 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-HTML", +"repository": "rhel9-AppStream" +} +], +"set_id": 13828 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-libwww-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 13829 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libwww-perl", +"repository": "rhel9-AppStream" +} +], +"set_id": 13830 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-LWP-MediaTypes", +"repository": "rhel8-AppStream" +} +], +"set_id": 13831 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LWP-MediaTypes", +"repository": "rhel9-AppStream" +} +], +"set_id": 13832 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-LWP-Protocol-https", +"repository": "rhel8-AppStream" +} +], +"set_id": 13833 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LWP-Protocol-https", +"repository": "rhel9-AppStream" +} +], +"set_id": 13834 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Mozilla-CA", +"repository": "rhel8-AppStream" +} +], +"set_id": 13835 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mozilla-CA", +"repository": "rhel9-AppStream" +} +], +"set_id": 13836 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Net-HTTP", +"repository": "rhel8-AppStream" +} +], +"set_id": 13837 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-HTTP", +"repository": "rhel9-AppStream" +} +], +"set_id": 13838 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-NTLM", +"repository": "rhel8-AppStream" +} +], +"set_id": 13839 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-NTLM", +"repository": "rhel9-AppStream" +} +], +"set_id": 13840 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-TimeDate", +"repository": "rhel8-AppStream" +} +], +"set_id": 13841 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-TimeDate", +"repository": "rhel9-AppStream" +} +], +"set_id": 13842 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Try-Tiny", +"repository": "rhel8-AppStream" +} +], +"set_id": 13843 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Try-Tiny", +"repository": "rhel9-AppStream" +} +], +"set_id": 13844 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-WWW-RobotRules", +"repository": "rhel8-AppStream" +} +], +"set_id": 13845 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-WWW-RobotRules", +"repository": "rhel9-AppStream" +} +], +"set_id": 13846 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTTP-Message", +"repository": "rhel8-AppStream" +} +], +"set_id": 13847 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Message", +"repository": "rhel9-AppStream" +} +], +"set_id": 13848 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-Module-CPANfile", +"repository": "rhel8-AppStream" +} +], +"set_id": 13849 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-CPANfile", +"repository": "rhel9-AppStream" +} +], +"set_id": 13850 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-Parse-PMFile", +"repository": "rhel8-AppStream" +} +], +"set_id": 13851 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Parse-PMFile", +"repository": "rhel9-AppStream" +} +], +"set_id": 13852 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-String-ShellQuote", +"repository": "rhel8-AppStream" +} +], +"set_id": 13853 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-String-ShellQuote", +"repository": "rhel9-AppStream" +} +], +"set_id": 13854 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-IO-Socket-SSL", +"stream": "2.066" +} +], +"name": "perl-IO-Socket-SSL", +"repository": "rhel8-AppStream" +} +], +"set_id": 13855 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-IO-Socket-SSL", +"stream": "2.066" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Socket-SSL", +"repository": "rhel9-AppStream" +} +], +"set_id": 13856 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-IO-Socket-SSL", +"stream": "2.066" +} +], +"name": "perl-Net-SSLeay", +"repository": "rhel8-AppStream" +} +], +"set_id": 13857 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-IO-Socket-SSL", +"stream": "2.066" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-SSLeay", +"repository": "rhel9-AppStream" +} +], +"set_id": 13858 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBD-MySQL", +"stream": "4.046" +} +], +"name": "perl-DBD-MySQL", +"repository": "rhel8-AppStream" +} +], +"set_id": 13859 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-DBD-MySQL", +"stream": "4.046" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBD-MySQL", +"repository": "rhel9-AppStream" +} +], +"set_id": 13860 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBD-Pg", +"stream": "3.7" +} +], +"name": "perl-DBD-Pg", +"repository": "rhel8-AppStream" +} +], +"set_id": 13861 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-DBD-Pg", +"stream": "3.7" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBD-Pg", +"repository": "rhel9-AppStream" +} +], +"set_id": 13862 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBD-SQLite", +"stream": "1.58" +} +], +"name": "perl-DBD-SQLite", +"repository": "rhel8-AppStream" +} +], +"set_id": 13863 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-DBD-SQLite", +"stream": "1.58" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBD-SQLite", +"repository": "rhel9-AppStream" +} +], +"set_id": 13864 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBI", +"stream": "1.641" +} +], +"name": "perl-DBI", +"repository": "rhel8-AppStream" +} +], +"set_id": 13865 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-DBI", +"stream": "1.641" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBI", +"repository": "rhel9-AppStream" +} +], +"set_id": 13866 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-FCGI", +"stream": "0.78" +} +], +"name": "perl-FCGI", +"repository": "rhel8-AppStream" +} +], +"set_id": 13867 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-FCGI", +"stream": "0.78" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-FCGI", +"repository": "rhel9-AppStream" +} +], +"set_id": 13868 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Object-HashBase", +"repository": "rhel8-AppStream" +} +], +"set_id": 13869 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Object-HashBase", +"repository": "rhel9-AppStream" +} +], +"set_id": 13870 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-YAML", +"stream": "1.24" +} +], +"name": "perl-YAML", +"repository": "rhel8-AppStream" +} +], +"set_id": 13873 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-YAML", +"stream": "1.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-YAML", +"repository": "rhel9-AppStream" +} +], +"set_id": 13874 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Exporter-Tiny", +"repository": "rhel8-CRB" +} +], +"set_id": 13875 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Exporter-Tiny", +"repository": "rhel9-AppStream" +} +], +"set_id": 13876 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-List-MoreUtils", +"repository": "rhel8-CRB" +} +], +"set_id": 13877 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-List-MoreUtils", +"repository": "rhel9-AppStream" +} +], +"set_id": 13878 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-List-MoreUtils-XS", +"repository": "rhel8-CRB" +} +], +"set_id": 13879 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-List-MoreUtils-XS", +"repository": "rhel9-AppStream" +} +], +"set_id": 13880 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-MIME-Charset", +"repository": "rhel8-CRB" +} +], +"set_id": 13881 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-MIME-Charset", +"repository": "rhel9-AppStream" +} +], +"set_id": 13882 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-String", +"repository": "rhel8-AppStream" +} +], +"set_id": 13883 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-String", +"repository": "rhel9-CRB" +} +], +"set_id": 13884 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Pluggable", +"repository": "rhel8-AppStream" +} +], +"set_id": 13885 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Pluggable", +"repository": "rhel9-CRB" +} +], +"set_id": 13886 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 13887 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Runtime", +"repository": "rhel9-CRB" +} +], +"set_id": 13888 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Parse-Yapp", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13889 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Parse-Yapp", +"repository": "rhel9-CRB" +} +], +"set_id": 13890 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sys-CPU", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13891 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sys-CPU", +"repository": "rhel9-AppStream" +} +], +"set_id": 13892 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sys-MemInfo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13893 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sys-MemInfo", +"repository": "rhel9-AppStream" +} +], +"set_id": 13894 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-File-pushd", +"repository": "rhel8-AppStream" +} +], +"set_id": 13895 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-pushd", +"repository": "rhel9-AppStream" +} +], +"set_id": 13896 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dwarves", +"repository": "rhel8-CRB" +} +], +"set_id": 13897 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dwarves", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13898 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarves1", +"repository": "rhel8-CRB" +} +], +"set_id": 13899 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdwarves1", +"repository": "rhel9-BaseOS" +} +], +"set_id": 13900 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kabi-dw", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13901 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kabi-dw", +"repository": "rhel9-AppStream" +} +], +"set_id": 13902 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 9924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 13903 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 13904 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-jsp", +"repository": "rhel8-AppStream" +} +], +"set_id": 13905 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "glassfish-jsp", +"repository": "rhel8-AppStream" +} +], +"set_id": 13905 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "glassfish-jsp-api", +"repository": "rhel8-CRB" +} +], +"set_id": 13907 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "glassfish-jsp-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13910 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64" +], +"id": 9933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rt-setup", +"repository": "rhel8-NFV" +} +], +"set_id": 13911 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "realtime-setup", +"repository": "rhel9-NFV" +} +], +"set_id": 13912 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-cal10n-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 13914 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "cal10n-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13915 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "javassist-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13916 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "javassist-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13916 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javassist-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13917 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javassist", +"repository": "rhel8-CRB" +} +], +"set_id": 13918 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "isorelax-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13920 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-component-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13921 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jboss-interceptors-1.2-api", +"repository": "rhel8-CRB" +} +], +"set_id": 13922 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jboss-interceptors-1.2-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13923 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-install-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13924 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "geronimo-jpa-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13925 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jaxen-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 13926 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jaxen-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13927 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "aopalliance", +"repository": "rhel8-CRB" +} +], +"set_id": 13929 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "aopalliance-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13930 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "spec-version-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13931 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javacc-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13932 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javacc-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 13934 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javacc-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 13935 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javacc-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13936 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-exec-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13937 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "exec-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13938 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-velocity-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13939 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-interactivity-api", +"repository": "rhel8-CRB" +} +], +"set_id": 13940 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-interactivity-jline", +"repository": "rhel8-CRB" +} +], +"set_id": 13941 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-interactivity-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13942 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-i18n-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13943 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-reporting-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13944 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-invoker-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13945 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-invoker-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13946 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-ivy-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13947 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-contrib-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13948 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-sitetools-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13949 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-core", +"repository": "rhel8-CRB" +} +], +"set_id": 13950 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-apt", +"repository": "rhel8-CRB" +} +], +"set_id": 13951 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-logging-api", +"repository": "rhel8-CRB" +} +], +"set_id": 13952 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-twiki", +"repository": "rhel8-CRB" +} +], +"set_id": 13953 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-confluence", +"repository": "rhel8-CRB" +} +], +"set_id": 13954 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13955 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-rtf", +"repository": "rhel8-CRB" +} +], +"set_id": 13956 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-sink-api", +"repository": "rhel8-CRB" +} +], +"set_id": 13957 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-xhtml", +"repository": "rhel8-CRB" +} +], +"set_id": 13958 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-latex", +"repository": "rhel8-CRB" +} +], +"set_id": 13959 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-fml", +"repository": "rhel8-CRB" +} +], +"set_id": 13960 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-test-docs", +"repository": "rhel8-CRB" +} +], +"set_id": 13961 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-tests", +"repository": "rhel8-CRB" +} +], +"set_id": 13962 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-docbook-simple", +"repository": "rhel8-CRB" +} +], +"set_id": 13963 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-modules", +"repository": "rhel8-CRB" +} +], +"set_id": 13964 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-doxia-module-xdoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13965 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-clean-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13966 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "bsh-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13967 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "bsh-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 13968 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-script-interpreter-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13969 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-reporting-impl-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13970 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "os-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13971 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "log4j12-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13972 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "parfait", +"stream": "0.5" +} +], +"name": "log4j12-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 13972 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 9999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "log4j12-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13973 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "log4j12", +"repository": "rhel8-CRB" +} +], +"set_id": 13974 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-collections", +"repository": "rhel8-CRB" +} +], +"set_id": 15466 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections", +"repository": "rhel9-CRB" +} +], +"set_id": 15467 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-collections-testframework", +"repository": "rhel8-CRB" +} +], +"set_id": 13976 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-collections-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13977 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-jxpath-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13978 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-jxpath", +"repository": "rhel8-CRB" +} +], +"set_id": 13979 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "byaccj-debugsource", +"repository": "rhel8-CRB" +} +], +"set_id": 13980 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "byaccj-debuginfo", +"repository": "rhel8-CRB" +} +], +"set_id": 13981 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-osgi-compendium-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13982 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-osgi-core-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13983 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-osgi-foundation-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13984 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "geronimo-annotation-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13986 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "geronimo-annotation", +"repository": "rhel8-CRB" +} +], +"set_id": 13987 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "geronimo-jms-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13988 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "glassfish-annotation-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13989 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "glassfish-annotation-api", +"repository": "rhel8-CRB" +} +], +"set_id": 13990 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "glassfish-servlet-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13991 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "glassfish-servlet-api", +"repository": "rhel8-CRB" +} +], +"set_id": 13992 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "scala", +"stream": "2.10" +} +], +"name": "hawtjni-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 13993 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "scala", +"stream": "2.10" +} +], +"name": "hawtjni-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 13993 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "hawtjni", +"repository": "rhel8-CRB" +} +], +"set_id": 13996 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-hawtjni-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 13997 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "hawtjni-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 13998 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "hawtjni-runtime", +"repository": "rhel8-CRB" +} +], +"set_id": 13999 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jakarta-oro-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14000 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jansi-native-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14002 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jansi-native", +"repository": "rhel8-CRB" +} +], +"set_id": 14003 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "java_cup-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14004 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "java_cup-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 14005 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdepend-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14006 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdepend-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 14007 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdependency-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14008 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdom-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14009 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdom-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 14010 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdom2-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14011 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jline-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14012 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jline", +"repository": "rhel8-CRB" +} +], +"set_id": 14013 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-antrun-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14014 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-assembly-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14015 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-dependency-analyzer-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14016 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-dependency-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14017 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shade-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14018 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "modello-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14019 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "munge-maven-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14020 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-ant-factory-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14021 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-bsh-factory-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14022 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-cli-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14023 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-api-easymock", +"repository": "rhel8-CRB" +} +], +"set_id": 14024 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14025 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-reflect", +"repository": "rhel8-CRB" +} +], +"set_id": 14026 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-junit4", +"repository": "rhel8-CRB" +} +], +"set_id": 14027 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-core", +"repository": "rhel8-CRB" +} +], +"set_id": 14028 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-api-mockito", +"repository": "rhel8-CRB" +} +], +"set_id": 14029 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-api-support", +"repository": "rhel8-CRB" +} +], +"set_id": 14030 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-testng", +"repository": "rhel8-CRB" +} +], +"set_id": 14031 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "powermock-common", +"repository": "rhel8-CRB" +} +], +"set_id": 14032 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "sisu-mojos-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14033 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "testng-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14034 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jflex-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14035 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "exfatprogs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14044 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trousers-lib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14045 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "trousers-lib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14045 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rasdaemon", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14057 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rasdaemon", +"repository": "rhel9-AppStream" +} +], +"set_id": 14058 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-algeti-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14059 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-algeti-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14059 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-chveulebrivi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14060 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-chveulebrivi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14060 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-classic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14061 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-classic-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14061 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-courier-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14062 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-courier-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14062 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-courier-s-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14063 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-courier-s-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14063 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-dedaena-block-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14064 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-dedaena-block-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14064 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-dejavu-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14065 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-dejavu-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14065 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-elite-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14066 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-elite-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14066 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14067 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14067 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-condenced-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-condenced-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14069 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-excelsior-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14069 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14070 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14070 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-glaho-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14071 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-glaho-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14071 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-gorda-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14072 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-gorda-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14072 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-ingiri-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14073 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-ingiri-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14073 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-irubaqidze-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14074 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-irubaqidze-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14074 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mikhail-stephan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14075 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mikhail-stephan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14075 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mrgvlovani-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14076 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mrgvlovani-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14076 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mrgvlovani-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14077 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-mrgvlovani-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14077 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14078 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-caps-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14078 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-condenced-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14079 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-condenced-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14079 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14080 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nateli-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14080 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nino-medium-cond-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14081 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nino-medium-cond-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14081 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nino-medium-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14082 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-nino-medium-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14082 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14083 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14083 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-medium-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14084 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-medium-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14084 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-modern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14085 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-modern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14085 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-regular-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14086 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-sans-regular-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14086 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-serif-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14087 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-serif-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14087 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-serif-modern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14088 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-serif-modern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14088 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-ucnobi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14089 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bpg-ucnobi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14089 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fonts-tweak-tool", +"repository": "rhel8-AppStream" +} +], +"set_id": 14090 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fonts-tweak-tool", +"repository": "rhel8-AppStream" +} +], +"set_id": 14090 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14091 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14091 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-mono-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14092 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-mono-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14092 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14093 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-sans-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14093 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-serif-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14094 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnu-free-serif-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14094 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-estrangela-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14419 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tibetan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14097 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-tibetan-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14097 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14098 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-ui-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14098 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-fo", +"repository": "rhel8-AppStream" +} +], +"set_id": 14099 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-fo", +"repository": "rhel8-AppStream" +} +], +"set_id": 14099 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-grc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14100 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-grc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14100 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hsb", +"repository": "rhel8-AppStream" +} +], +"set_id": 14101 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-hsb", +"repository": "rhel8-AppStream" +} +], +"set_id": 14101 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ia", +"repository": "rhel8-AppStream" +} +], +"set_id": 14102 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ia", +"repository": "rhel8-AppStream" +} +], +"set_id": 14102 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-is", +"repository": "rhel8-AppStream" +} +], +"set_id": 14103 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-is", +"repository": "rhel8-AppStream" +} +], +"set_id": 14103 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ku", +"repository": "rhel8-AppStream" +} +], +"set_id": 14104 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-ku", +"repository": "rhel8-AppStream" +} +], +"set_id": 14104 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mi", +"repository": "rhel8-AppStream" +} +], +"set_id": 14105 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mi", +"repository": "rhel8-AppStream" +} +], +"set_id": 14105 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mn", +"repository": "rhel8-AppStream" +} +], +"set_id": 14106 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-mn", +"repository": "rhel8-AppStream" +} +], +"set_id": 14106 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sa", +"repository": "rhel8-AppStream" +} +], +"set_id": 14107 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-sa", +"repository": "rhel8-AppStream" +} +], +"set_id": 14107 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-tk", +"repository": "rhel8-AppStream" +} +], +"set_id": 14108 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hyphen-tk", +"repository": "rhel8-AppStream" +} +], +"set_id": 14108 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-sayura", +"repository": "rhel8-AppStream" +} +], +"set_id": 14109 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-sayura", +"repository": "rhel8-AppStream" +} +], +"set_id": 14109 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kurdit-unikurd-web-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14110 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kurdit-unikurd-web-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14110 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kyotocabinet-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14111 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kyotocabinet-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14111 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14112 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14112 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc-gobject", +"repository": "rhel8-AppStream" +} +], +"set_id": 14113 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libeasyfc-gobject", +"repository": "rhel8-AppStream" +} +], +"set_id": 14113 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14115 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14115 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 14116 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libkkc-data", +"repository": "rhel8-AppStream" +} +], +"set_id": 14116 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmalaga", +"repository": "rhel8-AppStream" +} +], +"set_id": 14117 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmalaga", +"repository": "rhel8-AppStream" +} +], +"set_id": 14117 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-malayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14118 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-malayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14118 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-nepali-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14119 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lohit-nepali-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14119 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga", +"repository": "rhel8-AppStream" +} +], +"set_id": 14120 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga", +"repository": "rhel8-AppStream" +} +], +"set_id": 14120 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga-suomi-voikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 14121 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "malaga-suomi-voikko", +"repository": "rhel8-AppStream" +} +], +"set_id": 14121 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa", +"repository": "rhel8-AppStream" +} +], +"set_id": 14122 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa", +"repository": "rhel8-AppStream" +} +], +"set_id": 14122 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-mi", +"repository": "rhel8-AppStream" +} +], +"set_id": 14123 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-mi", +"repository": "rhel8-AppStream" +} +], +"set_id": 14123 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ne", +"repository": "rhel8-AppStream" +} +], +"set_id": 14124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mythes-ne", +"repository": "rhel8-AppStream" +} +], +"set_id": 14124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nafees-web-naskh-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14125 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nafees-web-naskh-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14125 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paps-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14126 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "paps-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14126 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-devanagari-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14127 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-devanagari-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14127 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14128 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14128 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-gujarati-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14129 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-gujarati-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14129 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-malayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14130 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-malayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14130 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-odia-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14131 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-odia-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14131 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-tamil-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14132 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samyak-tamil-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14132 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "skkdic", +"repository": "rhel8-AppStream" +} +], +"set_id": 14133 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "skkdic", +"repository": "rhel8-AppStream" +} +], +"set_id": 14133 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-anjalioldlipi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14134 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-anjalioldlipi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14134 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-dyuthi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14135 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-dyuthi-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14135 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14136 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-fonts-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14136 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-kalyani-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14137 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-kalyani-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14137 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-raghumalayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14138 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-raghumalayalam-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14138 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-suruma-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14139 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "smc-suruma-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14139 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tibetan-machine-uni-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14140 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tibetan-machine-uni-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14140 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-microhei-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14141 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-microhei-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14141 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-unibit-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14142 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wqy-unibit-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14142 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "emoji-picker", +"repository": "rhel8-AppStream" +} +], +"set_id": 14144 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-table-tests", +"repository": "rhel8-CRB" +} +], +"set_id": 14145 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ibus-typing-booster-tests", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14146 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "appstream-compose", +"repository": "rhel9-CRB" +} +], +"set_id": 14150 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "appstream-compose-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14151 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "appstream-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14152 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "appstream-qt", +"repository": "rhel9-CRB" +} +], +"set_id": 14153 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "appstream-qt-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14154 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-appdirs", +"repository": "rhel9-AppStream" +} +], +"set_id": 14155 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-display-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14156 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-mono-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14157 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-text-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 14158 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "libzip", +"repository": "rhel8-AppStream" +} +], +"set_id": 14223 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzip", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14224 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "libzip-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14225 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzip-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14226 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "libzip-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 14227 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzip-tools", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14228 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10285, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php", +"repository": "rhel8-AppStream" +} +], +"set_id": 14229 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14230 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10286, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-bcmath", +"repository": "rhel8-AppStream" +} +], +"set_id": 14231 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-bcmath", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14232 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-cli", +"repository": "rhel8-AppStream" +} +], +"set_id": 14233 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-cli", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14234 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14235 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-common", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14236 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-dba", +"repository": "rhel8-AppStream" +} +], +"set_id": 14237 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-dba", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14238 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-dbg", +"repository": "rhel8-AppStream" +} +], +"set_id": 14239 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-dbg", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14240 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14241 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14242 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-embedded", +"repository": "rhel8-AppStream" +} +], +"set_id": 14243 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-embedded", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14244 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-enchant", +"repository": "rhel8-AppStream" +} +], +"set_id": 14245 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-enchant", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14246 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-fpm", +"repository": "rhel8-AppStream" +} +], +"set_id": 14247 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-fpm", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14248 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-gd", +"repository": "rhel8-AppStream" +} +], +"set_id": 14249 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-gd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14250 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-gmp", +"repository": "rhel8-AppStream" +} +], +"set_id": 14251 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-gmp", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14252 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-intl", +"repository": "rhel8-AppStream" +} +], +"set_id": 14253 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-intl", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14254 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-json", +"repository": "rhel8-AppStream" +} +], +"set_id": 14255 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-json", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14256 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-ldap", +"repository": "rhel8-AppStream" +} +], +"set_id": 14257 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-ldap", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14258 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-mbstring", +"repository": "rhel8-AppStream" +} +], +"set_id": 14259 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-mbstring", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14260 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-mysqlnd", +"repository": "rhel8-AppStream" +} +], +"set_id": 14261 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-mysqlnd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14262 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-odbc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14263 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-odbc", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14264 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-opcache", +"repository": "rhel8-AppStream" +} +], +"set_id": 14265 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-opcache", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14266 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-pdo", +"repository": "rhel8-AppStream" +} +], +"set_id": 14267 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pdo", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14268 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "8.0" +}, +{ +"name": "php", +"stream": "7.2" +}, +{ +"name": "php", +"stream": "7.3" +}, +{ +"name": "php", +"stream": "7.4" +} +], +"name": "php-pear", +"repository": "rhel8-AppStream" +} +], +"set_id": 14269 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "php", +"stream": "7.3" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "php", +"stream": "7.4" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "php", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pear", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14270 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-pecl-apcu", +"repository": "rhel8-AppStream" +} +], +"set_id": 14271 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pecl-apcu", +"repository": "rhel9-AppStream" +} +], +"set_id": 14272 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-pecl-apcu-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14273 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pecl-apcu-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14274 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-pecl-zip", +"repository": "rhel8-AppStream" +} +], +"set_id": 14275 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pecl-zip", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14276 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-pgsql", +"repository": "rhel8-AppStream" +} +], +"set_id": 14277 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-pgsql", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14278 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-process", +"repository": "rhel8-AppStream" +} +], +"set_id": 14279 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-process", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14280 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-snmp", +"repository": "rhel8-AppStream" +} +], +"set_id": 14281 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-snmp", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14282 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-soap", +"repository": "rhel8-AppStream" +} +], +"set_id": 14283 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-soap", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14284 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-xml", +"repository": "rhel8-AppStream" +} +], +"set_id": 14285 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "php", +"stream": "7.2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "php-xml", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14286 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14287 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14288 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fstrm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14289 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fstrm-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14290 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "utf8proc-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14291 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "apcu-panel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14295 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-pecl-apcu", +"repository": "rhel8-AppStream" +} +], +"set_id": 14296 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "php", +"stream": "7.2" +} +], +"name": "php-pecl-apcu-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14297 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen-libopts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14315 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen-libopts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14315 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10337, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "autogen-libopts-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 14316 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-dash-to-panel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14317 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-libs-lite", +"repository": "rhel8-AppStream" +} +], +"set_id": 14318 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 14319 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-libs-lite", +"repository": "rhel8-AppStream" +} +], +"set_id": 14318 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-lite-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14320 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14321 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "authd", +"repository": "rhel8-AppStream" +} +], +"set_id": 14322 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14323 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached-awesome", +"repository": "rhel9-CRB" +} +], +"set_id": 14324 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmemcached-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14323 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-compat-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14325 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10346, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-compat-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14325 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dump", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14326 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dump", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14326 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gegl", +"repository": "rhel8-AppStream" +} +], +"set_id": 14327 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gegl", +"repository": "rhel8-AppStream" +} +], +"set_id": 14327 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnuplot", +"repository": "rhel8-AppStream" +} +], +"set_id": 14328 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnuplot", +"repository": "rhel8-AppStream" +} +], +"set_id": 14328 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnuplot-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14329 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnuplot-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 14329 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnuplot-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 14330 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gsl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14331 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gsl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14331 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt", +"repository": "rhel8-AppStream" +} +], +"set_id": 14332 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt", +"repository": "rhel8-AppStream" +} +], +"set_id": 14332 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-ccpp", +"repository": "rhel8-AppStream" +} +], +"set_id": 14333 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-ccpp", +"repository": "rhel8-AppStream" +} +], +"set_id": 14333 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-kerneloops", +"repository": "rhel8-AppStream" +} +], +"set_id": 14334 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-kerneloops", +"repository": "rhel8-AppStream" +} +], +"set_id": 14334 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-vmcore", +"repository": "rhel8-AppStream" +} +], +"set_id": 14335 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-vmcore", +"repository": "rhel8-AppStream" +} +], +"set_id": 14335 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-pstoreoops", +"repository": "rhel8-AppStream" +} +], +"set_id": 14336 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-pstoreoops", +"repository": "rhel8-AppStream" +} +], +"set_id": 14336 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-xorg", +"repository": "rhel8-AppStream" +} +], +"set_id": 14337 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-addon-xorg", +"repository": "rhel8-AppStream" +} +], +"set_id": 14337 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-cli", +"repository": "rhel8-AppStream" +} +], +"set_id": 14338 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-cli", +"repository": "rhel8-AppStream" +} +], +"set_id": 14338 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-console-notification", +"repository": "rhel8-AppStream" +} +], +"set_id": 14339 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-console-notification", +"repository": "rhel8-AppStream" +} +], +"set_id": 14339 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-dbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 14340 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-dbus", +"repository": "rhel8-AppStream" +} +], +"set_id": 14340 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-desktop", +"repository": "rhel8-AppStream" +} +], +"set_id": 14341 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-desktop", +"repository": "rhel8-AppStream" +} +], +"set_id": 14341 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-gui", +"repository": "rhel8-AppStream" +} +], +"set_id": 14342 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-gui", +"repository": "rhel8-AppStream" +} +], +"set_id": 14342 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-gui-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14343 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-gui-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14343 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14344 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14344 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-tui", +"repository": "rhel8-AppStream" +} +], +"set_id": 14345 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "abrt-tui", +"repository": "rhel8-AppStream" +} +], +"set_id": 14345 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-abrt", +"repository": "rhel8-AppStream" +} +], +"set_id": 14346 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-abrt", +"repository": "rhel8-AppStream" +} +], +"set_id": 14346 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ilmbase-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 14347 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 10389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libraw1394-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 14348 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-mailx", +"repository": "rhel8-AppStream" +} +], +"set_id": 14349 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-mailx", +"repository": "rhel8-AppStream" +} +], +"set_id": 14349 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-rhtsupport", +"repository": "rhel8-AppStream" +} +], +"set_id": 14350 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-rhtsupport", +"repository": "rhel8-AppStream" +} +], +"set_id": 14350 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-ureport", +"repository": "rhel8-AppStream" +} +], +"set_id": 14351 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-plugin-ureport", +"repository": "rhel8-AppStream" +} +], +"set_id": 14351 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-rhel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14352 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-rhel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14352 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-rhel-bugzilla", +"repository": "rhel8-AppStream" +} +], +"set_id": 14353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreport-rhel-bugzilla", +"repository": "rhel8-AppStream" +} +], +"set_id": 14353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencryptoki-tpmtok", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14354 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opencryptoki-tpmtok", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14354 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenEXR-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 14355 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygobject2", +"repository": "rhel8-AppStream" +} +], +"set_id": 14356 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "gimp", +"stream": "2.8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gobject", +"repository": "rhel9-AppStream" +} +], +"set_id": 14357 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygobject2-codegen", +"repository": "rhel8-AppStream" +} +], +"set_id": 14358 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "gimp", +"stream": "2.8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gobject-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 14359 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygobject2-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14360 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "gimp", +"stream": "2.8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-gobject-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14361 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-guile18-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 14362 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygobject2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14363 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygobject2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14363 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guile-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 14364 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygtk2", +"repository": "rhel8-AppStream" +} +], +"set_id": 14365 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygtk2", +"repository": "rhel8-AppStream" +} +], +"set_id": 14365 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygtk2-codegen", +"repository": "rhel8-AppStream" +} +], +"set_id": 14366 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygtk2-codegen", +"repository": "rhel8-AppStream" +} +], +"set_id": 14366 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygtk2-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14367 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygtk2-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14367 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygtk2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14368 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "pygtk2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14368 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gutenprint-libs-ui", +"repository": "rhel8-AppStream" +} +], +"set_id": 14369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gutenprint-libs-ui", +"repository": "rhel8-AppStream" +} +], +"set_id": 14369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libidn-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 14370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "restore", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14372 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-net-snmp", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14373 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "OpenEXR-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14374 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openexr", +"repository": "rhel9-AppStream" +} +], +"set_id": 14375 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"s390x" +], +"id": 10424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "s390utils-cmsfs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14376 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"s390x" +], +"id": 10425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "s390utils-cmsfs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14376 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"s390x" +], +"id": 10427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "s390utils-chreipl-fcp-mpath", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14378 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"s390x" +], +"id": 10428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "s390utils-base", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14379 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "s390utils-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 14380 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"s390x" +], +"id": 10429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qclib", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14381 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qclib", +"repository": "rhel9-AppStream" +} +], +"set_id": 14382 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"s390x" +], +"id": 10430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libica-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14383 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libica-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14384 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le" +], +"id": 10431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libocxl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14385 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libocxl", +"repository": "rhel9-AppStream" +} +], +"set_id": 14386 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"s390x" +], +"id": 10432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzfcphbaapi-docs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14387 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libzfcphbaapi-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 14388 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-export-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14389 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-export-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14389 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-export-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14390 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind-export-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14390 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "clang-analyzer", +"repository": "rhel8-AppStream" +} +], +"set_id": 14391 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-analyzer", +"repository": "rhel9-AppStream" +} +], +"set_id": 14392 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "clang-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14393 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14394 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "clang-resource-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 14395 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-resource-filesystem", +"repository": "rhel9-AppStream" +} +], +"set_id": 14396 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "clang-tools-extra", +"repository": "rhel8-AppStream" +} +], +"set_id": 14397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clang-tools-extra", +"repository": "rhel9-AppStream" +} +], +"set_id": 14398 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "git-clang-format", +"repository": "rhel8-AppStream" +} +], +"set_id": 14399 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "git-clang-format", +"repository": "rhel9-AppStream" +} +], +"set_id": 14400 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "lldb-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14401 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lldb-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14402 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 10445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "lld-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14404 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lld-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14405 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "llvm-toolset", +"stream": "rhel8" +} +], +"name": "llvm-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14406 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "llvm-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "llvm-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 14407 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 10447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "rust-toolset", +"stream": "rhel8" +} +], +"name": "rust-std-static-wasm32-wasi", +"repository": "rhel8-AppStream" +} +], +"set_id": 14408 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "rust-toolset", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rust-std-static-wasm32-wasi", +"repository": "rhel9-AppStream" +} +], +"set_id": 14409 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-numpy3", +"repository": "rhel8-CRB" +} +], +"set_id": 14410 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-numpy3", +"repository": "rhel9-AppStream" +} +], +"set_id": 14411 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-python3", +"repository": "rhel8-CRB" +} +], +"set_id": 14412 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "boost-python3", +"repository": "rhel9-AppStream" +} +], +"set_id": 14413 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14414 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sdl12-compat", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14415 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sos-collector", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14416 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sos-collector", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14416 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pandoc-common", +"repository": "rhel8-CRB" +} +], +"set_id": 14417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-eastern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14418 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-eastern-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14418 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-estrangela-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14419 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-western-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-syriac-western-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 14420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vim-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 14421 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "vim-filesystem", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14422 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libedit-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 14425 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libedit-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14426 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.20" +} +], +"name": "nginx-mod-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14427 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "nginx", +"stream": "1.20" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nginx-mod-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 14428 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14429 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postfix", +"repository": "rhel9-AppStream" +} +], +"set_id": 14430 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.14" +} +], +"name": "subversion", +"repository": "rhel8-AppStream" +} +], +"set_id": 14431 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "subversion", +"stream": "1.14" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion", +"repository": "rhel9-AppStream" +} +], +"set_id": 14432 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "ruby", +"repository": "rhel8-AppStream" +} +], +"set_id": 14433 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby", +"repository": "rhel9-AppStream" +} +], +"set_id": 14434 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "ruby-default-gems", +"repository": "rhel8-AppStream" +} +], +"set_id": 14435 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-default-gems", +"repository": "rhel9-AppStream" +} +], +"set_id": 14436 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "ruby-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14437 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14438 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "ruby-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14439 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 14440 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-bigdecimal", +"repository": "rhel8-AppStream" +} +], +"set_id": 14441 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bigdecimal", +"repository": "rhel9-AppStream" +} +], +"set_id": 14442 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-bundler", +"repository": "rhel8-AppStream" +} +], +"set_id": 14443 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-bundler", +"repository": "rhel9-AppStream" +} +], +"set_id": 14444 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-io-console", +"repository": "rhel8-AppStream" +} +], +"set_id": 14445 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-io-console", +"repository": "rhel9-AppStream" +} +], +"set_id": 14446 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-irb", +"repository": "rhel8-AppStream" +} +], +"set_id": 14447 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-irb", +"repository": "rhel9-AppStream" +} +], +"set_id": 14448 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-json", +"repository": "rhel8-AppStream" +} +], +"set_id": 14449 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-json", +"repository": "rhel9-AppStream" +} +], +"set_id": 14450 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-minitest", +"repository": "rhel8-AppStream" +} +], +"set_id": 14451 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-minitest", +"repository": "rhel9-AppStream" +} +], +"set_id": 14452 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-mysql2", +"repository": "rhel8-AppStream" +} +], +"set_id": 14453 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-mysql2", +"repository": "rhel9-AppStream" +} +], +"set_id": 14454 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-mysql2-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14455 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-mysql2-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 14456 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-pg", +"repository": "rhel8-AppStream" +} +], +"set_id": 14457 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-pg", +"repository": "rhel9-AppStream" +} +], +"set_id": 14458 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-pg-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14459 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-pg-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 14460 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-power_assert", +"repository": "rhel8-AppStream" +} +], +"set_id": 14461 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-power_assert", +"repository": "rhel9-AppStream" +} +], +"set_id": 14462 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-psych", +"repository": "rhel8-AppStream" +} +], +"set_id": 14463 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-psych", +"repository": "rhel9-AppStream" +} +], +"set_id": 14464 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-rake", +"repository": "rhel8-AppStream" +} +], +"set_id": 14465 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rake", +"repository": "rhel9-AppStream" +} +], +"set_id": 14466 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-rdoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 14467 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rdoc", +"repository": "rhel9-AppStream" +} +], +"set_id": 14468 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygems", +"repository": "rhel8-AppStream" +} +], +"set_id": 14469 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygems", +"repository": "rhel9-AppStream" +} +], +"set_id": 14470 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygems-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 14471 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygems-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14472 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-test-unit", +"repository": "rhel8-AppStream" +} +], +"set_id": 14473 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-test-unit", +"repository": "rhel9-AppStream" +} +], +"set_id": 14474 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.7" +}, +{ +"name": "ruby", +"stream": "3.0" +}, +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "ruby-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 14475 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 14476 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-nfv-host-bin", +"repository": "rhel8-NFV" +} +], +"set_id": 14477 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-nfv-host-bin", +"repository": "rhel8-NFV" +} +], +"set_id": 14477 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "rhel8" +} +], +"name": "podman-manpages", +"repository": "rhel8-AppStream" +} +], +"set_id": 14478 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman", +"repository": "rhel9-AppStream" +} +], +"set_id": 14479 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pigz", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14480 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pigz", +"repository": "rhel9-AppStream" +} +], +"set_id": 14481 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bluez-hid2hci", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15062 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lm_sensors", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14489 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lm_sensors", +"repository": "rhel9-AppStream" +} +], +"set_id": 14490 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"x86_64" +], +"id": 10494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lm_sensors-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14491 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lm_sensors-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14492 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lm_sensors-libs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14493 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lm_sensors-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 14494 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "apache-commons-compress", +"repository": "rhel8-AppStream" +} +], +"set_id": 15472 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-compress", +"repository": "rhel9-CRB" +} +], +"set_id": 15473 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-compress-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14516 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "assertj-core", +"repository": "rhel8-CRB" +} +], +"set_id": 14517 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "assertj-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 14518 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jakarta-oro", +"repository": "rhel8-CRB" +} +], +"set_id": 14519 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-oro", +"repository": "rhel9-AppStream" +} +], +"set_id": 14520 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jdepend", +"repository": "rhel8-CRB" +} +], +"set_id": 14521 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jdepend", +"repository": "rhel9-AppStream" +} +], +"set_id": 14522 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jsch-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14523 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "jsch", +"repository": "rhel8-AppStream" +} +], +"set_id": 15476 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsch", +"repository": "rhel9-AppStream" +} +], +"set_id": 15477 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "junit5", +"repository": "rhel8-AppStream" +} +], +"set_id": 14526 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit5", +"repository": "rhel9-AppStream" +} +], +"set_id": 14527 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jzlib-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 14528 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jzlib-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14529 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "jzlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 15480 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jzlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 15481 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-verifier", +"repository": "rhel8-CRB" +} +], +"set_id": 14532 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-verifier", +"repository": "rhel9-CRB" +} +], +"set_id": 14533 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "objectweb-asm", +"repository": "rhel8-AppStream" +} +], +"set_id": 15484 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm", +"repository": "rhel9-AppStream" +} +], +"set_id": 15485 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "harfbuzz", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14536 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "opentest4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 14537 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "opentest4j", +"repository": "rhel9-AppStream" +} +], +"set_id": 14538 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "regexp", +"repository": "rhel8-CRB" +} +], +"set_id": 14539 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "regexp", +"repository": "rhel9-AppStream" +} +], +"set_id": 14540 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "univocity-parsers", +"repository": "rhel8-AppStream" +} +], +"set_id": 14541 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "univocity-parsers", +"repository": "rhel9-AppStream" +} +], +"set_id": 14542 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "velocity-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 14543 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "velocity-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14544 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "velocity-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 14545 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "velocity", +"repository": "rhel8-AppStream" +} +], +"set_id": 15488 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity", +"repository": "rhel9-CRB" +} +], +"set_id": 15489 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "xz-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 15492 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-java", +"repository": "rhel9-AppStream" +} +], +"set_id": 15493 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ptyprocess", +"repository": "rhel8-AppStream" +} +], +"set_id": 14550 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ptyprocess", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17285 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pexpect", +"repository": "rhel8-AppStream" +} +], +"set_id": 14551 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pexpect", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17286 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "awscli", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14552 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "awscli", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14552 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 14553 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 14553 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-api", +"repository": "rhel8-CRB" +} +], +"set_id": 14554 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-connector-basic", +"repository": "rhel8-AppStream" +} +], +"set_id": 14555 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-connector-basic", +"repository": "rhel8-AppStream" +} +], +"set_id": 14555 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-connector-basic", +"repository": "rhel8-CRB" +} +], +"set_id": 14556 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-impl", +"repository": "rhel8-AppStream" +} +], +"set_id": 14557 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-impl", +"repository": "rhel8-AppStream" +} +], +"set_id": 14557 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-impl", +"repository": "rhel8-CRB" +} +], +"set_id": 14560 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64" +], +"id": 10535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-aliyun", +"repository": "rhel8-HighAvailability" +}, +{ +"modulestreams": [ +null +], +"name": "resource-agents-gcp", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 14558 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "resource-agents-cloud", +"repository": "rhel9-HighAvailability" +} +], +"set_id": 14559 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-spi", +"repository": "rhel8-AppStream" +} +], +"set_id": 14561 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-spi", +"repository": "rhel8-AppStream" +} +], +"set_id": 14561 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-spi", +"repository": "rhel8-CRB" +} +], +"set_id": 14562 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-transport-wagon", +"repository": "rhel8-AppStream" +} +], +"set_id": 14563 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-transport-wagon", +"repository": "rhel8-AppStream" +} +], +"set_id": 14563 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-transport-wagon", +"repository": "rhel8-CRB" +} +], +"set_id": 14564 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 10542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fence-agents-openstack", +"repository": "rhel9-BaseOS" +} +], +"set_id": 14565 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-util", +"repository": "rhel8-AppStream" +} +], +"set_id": 14566 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-resolver-util", +"repository": "rhel8-AppStream" +} +], +"set_id": 14566 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-util", +"repository": "rhel8-CRB" +} +], +"set_id": 14567 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14568 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-transport-classpath", +"repository": "rhel8-CRB" +} +], +"set_id": 14569 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-transport-http", +"repository": "rhel8-CRB" +} +], +"set_id": 14570 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-transport-file", +"repository": "rhel8-CRB" +} +], +"set_id": 14571 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver-test-util", +"repository": "rhel8-CRB" +} +], +"set_id": 14572 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resolver", +"repository": "rhel8-CRB" +} +], +"set_id": 15496 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resolver", +"repository": "rhel9-AppStream" +} +], +"set_id": 15497 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ant", +"stream": "1.10" +} +], +"name": "ant", +"repository": "rhel8-AppStream" +} +], +"set_id": 15500 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ant", +"stream": "1.10" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant", +"repository": "rhel9-AppStream" +} +], +"set_id": 15501 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ant", +"stream": "1.10" +} +], +"name": "ant-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 15504 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ant", +"stream": "1.10" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-lib", +"repository": "rhel9-AppStream" +} +], +"set_id": 15505 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-antlr", +"repository": "rhel8-CRB" +} +], +"set_id": 14579 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-antlr", +"repository": "rhel9-AppStream" +} +], +"set_id": 14580 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-apache-bcel", +"repository": "rhel8-CRB" +} +], +"set_id": 14581 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-bcel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14582 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-apache-log4j", +"repository": "rhel8-CRB" +} +], +"set_id": 14583 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-apache-regexp", +"repository": "rhel8-CRB" +} +], +"set_id": 14584 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-regexp", +"repository": "rhel9-AppStream" +} +], +"set_id": 14585 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-swing", +"repository": "rhel8-CRB" +} +], +"set_id": 14586 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-swing", +"repository": "rhel9-AppStream" +} +], +"set_id": 14587 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-apache-bsf", +"repository": "rhel8-CRB" +} +], +"set_id": 14588 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-bsf", +"repository": "rhel9-AppStream" +} +], +"set_id": 14589 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-apache-resolver", +"repository": "rhel8-CRB" +} +], +"set_id": 14590 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-resolver", +"repository": "rhel9-AppStream" +} +], +"set_id": 14591 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-apache-xalan2", +"repository": "rhel8-CRB" +} +], +"set_id": 14592 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-xalan2", +"repository": "rhel9-AppStream" +} +], +"set_id": 14593 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-xz", +"repository": "rhel8-CRB" +} +], +"set_id": 14594 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-xz", +"repository": "rhel9-AppStream" +} +], +"set_id": 14595 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-jdepend", +"repository": "rhel8-CRB" +} +], +"set_id": 14596 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jdepend", +"repository": "rhel9-AppStream" +} +], +"set_id": 14597 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-apache-oro", +"repository": "rhel8-CRB" +} +], +"set_id": 14598 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-apache-oro", +"repository": "rhel9-AppStream" +} +], +"set_id": 14599 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-jmf", +"repository": "rhel8-CRB" +} +], +"set_id": 14600 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jmf", +"repository": "rhel9-AppStream" +} +], +"set_id": 14601 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-javamail", +"repository": "rhel8-CRB" +} +], +"set_id": 14602 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-javamail", +"repository": "rhel9-AppStream" +} +], +"set_id": 14603 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-junit", +"repository": "rhel8-CRB" +} +], +"set_id": 14604 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-junit", +"repository": "rhel9-AppStream" +} +], +"set_id": 14605 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-testutil", +"repository": "rhel8-CRB" +} +], +"set_id": 14606 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-testutil", +"repository": "rhel9-AppStream" +} +], +"set_id": 14607 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-jsch", +"repository": "rhel8-CRB" +} +], +"set_id": 14608 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-jsch", +"repository": "rhel9-AppStream" +} +], +"set_id": 14609 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-commons-logging", +"repository": "rhel8-CRB" +} +], +"set_id": 14610 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-commons-logging", +"repository": "rhel9-AppStream" +} +], +"set_id": 14611 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-commons-net", +"repository": "rhel8-CRB" +} +], +"set_id": 14612 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-commons-net", +"repository": "rhel9-AppStream" +} +], +"set_id": 14613 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-junit5", +"repository": "rhel9-AppStream" +} +], +"set_id": 14614 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14615 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 14616 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "antlr", +"repository": "rhel8-CRB" +} +], +"set_id": 14617 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr", +"repository": "rhel9-AppStream" +} +], +"set_id": 14618 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "antlr-tool", +"repository": "rhel8-CRB" +} +], +"set_id": 14619 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "antlr-tool", +"repository": "rhel9-AppStream" +} +], +"set_id": 14620 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "antlr-C++", +"repository": "rhel8-CRB" +} +], +"set_id": 14621 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "antlr-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14622 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "antlr-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 14623 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-runtime", +"stream": "201801" +} +], +"name": "javapackages-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 15508 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-runtime", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javapackages-filesystem", +"repository": "rhel9-AppStream" +} +], +"set_id": 15509 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-runtime", +"stream": "201801" +} +], +"name": "javapackages-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 15512 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-runtime", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javapackages-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 15513 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ivy-local", +"repository": "rhel8-CRB" +} +], +"set_id": 14628 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javapackages-local", +"repository": "rhel8-CRB" +} +], +"set_id": 14629 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-local", +"repository": "rhel8-CRB" +} +], +"set_id": 14630 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "python3-javapackages", +"repository": "rhel8-CRB" +} +], +"set_id": 14631 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-surefire-provider-junit", +"repository": "rhel8-CRB" +} +], +"set_id": 14632 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-provider-junit", +"repository": "rhel9-CRB" +} +], +"set_id": 14633 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-surefire-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14634 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-plugin", +"repository": "rhel9-CRB" +} +], +"set_id": 14635 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-surefire-provider-testng", +"repository": "rhel8-CRB" +} +], +"set_id": 14636 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire-provider-testng", +"repository": "rhel9-CRB" +} +], +"set_id": 14637 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-surefire", +"repository": "rhel8-CRB" +} +], +"set_id": 14638 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-surefire", +"repository": "rhel9-CRB" +} +], +"set_id": 14639 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-failsafe-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14640 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-surefire-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14641 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-surefire-report-parser", +"repository": "rhel8-CRB" +} +], +"set_id": 14642 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-surefire-report-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14643 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-accessibility", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14644 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-accessibility", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14644 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 10596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-accessibility-fastdebug", +"repository": "rhel8-CRB" +} +], +"set_id": 14645 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dptfxtract", +"repository": "rhel8-Supplementary" +} +], +"set_id": 14646 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dptfxtract", +"repository": "rhel8-Supplementary" +} +], +"set_id": 14646 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-host-fxr-2.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 14647 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-host-fxr-2.1", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14648 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-host-fxr-2.1", +"repository": "rhel8-BaseOS" +} +], +"set_id": 14648 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-apphost-pack-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14649 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-apphost-pack-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14649 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-apphost-pack-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14650 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-apphost-pack-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14650 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-hostfxr-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14651 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-hostfxr-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14651 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-hostfxr-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14652 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-hostfxr-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14652 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-2.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 14653 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-2.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 14653 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14654 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14654 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14655 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14655 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-2.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 14656 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-2.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 14656 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-2.1.5xx", +"repository": "rhel8-AppStream" +} +], +"set_id": 14657 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-2.1.5xx", +"repository": "rhel8-AppStream" +} +], +"set_id": 14657 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14658 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14658 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14659 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14659 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-targeting-pack-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14660 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-targeting-pack-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14660 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-targeting-pack-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14661 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-targeting-pack-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14661 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-templates-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14662 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-templates-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14662 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-templates-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14663 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-templates-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14663 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-runtime-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14664 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-runtime-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14664 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-runtime-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14665 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-runtime-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14665 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-targeting-pack-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14666 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-targeting-pack-3.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14666 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-targeting-pack-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14667 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-targeting-pack-5.0", +"repository": "rhel8-AppStream" +} +], +"set_id": 14667 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-5.0-source-built-artifacts", +"repository": "rhel8-CRB" +} +], +"set_id": 14669 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-3.1-source-built-artifacts", +"repository": "rhel8-CRB" +} +], +"set_id": 14670 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-build-reference-packages", +"repository": "rhel8-CRB" +} +], +"set_id": 14671 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet5.0-build-reference-packages", +"repository": "rhel8-CRB" +} +], +"set_id": 14672 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 10645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-6.0-source-built-artifacts", +"repository": "rhel9-CRB" +} +], +"set_id": 14673 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-beanutils-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14674 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-beanutils", +"repository": "rhel8-CRB" +} +], +"set_id": 14675 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-beanutils", +"repository": "rhel9-CRB" +} +], +"set_id": 14676 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-cli-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14677 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-cli", +"repository": "rhel8-CRB" +} +], +"set_id": 15454 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-cli", +"repository": "rhel9-AppStream" +} +], +"set_id": 15455 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-codec-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14680 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-codec", +"repository": "rhel8-CRB" +} +], +"set_id": 15458 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-codec", +"repository": "rhel9-AppStream" +} +], +"set_id": 15459 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-io-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14683 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-io", +"repository": "rhel8-CRB" +} +], +"set_id": 15516 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-io", +"repository": "rhel9-AppStream" +} +], +"set_id": 15517 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-logging-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14686 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "apache-commons-logging", +"repository": "rhel8-AppStream" +} +], +"set_id": 15520 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-logging", +"repository": "rhel9-AppStream" +} +], +"set_id": 15521 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-net-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14689 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "apache-commons-net", +"repository": "rhel8-AppStream" +} +], +"set_id": 15524 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-net", +"repository": "rhel9-AppStream" +} +], +"set_id": 15525 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "aqute-bnd-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14692 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "bnd-maven-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14693 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "aqute-bndlib", +"repository": "rhel8-CRB" +} +], +"set_id": 14694 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bndlib", +"repository": "rhel9-CRB" +} +], +"set_id": 14695 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "aqute-bnd", +"repository": "rhel8-CRB" +} +], +"set_id": 14696 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aqute-bnd", +"repository": "rhel9-CRB" +} +], +"set_id": 14697 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "atinject-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14698 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "atinject-tck", +"repository": "rhel8-CRB" +} +], +"set_id": 14699 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "atinject", +"repository": "rhel8-CRB" +} +], +"set_id": 15530 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atinject", +"repository": "rhel9-AppStream" +} +], +"set_id": 15531 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "bcel-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14702 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "bcel", +"repository": "rhel8-CRB" +} +], +"set_id": 14703 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bcel", +"repository": "rhel9-AppStream" +} +], +"set_id": 14704 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "beust-jcommander-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14705 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "beust-jcommander", +"repository": "rhel8-CRB" +} +], +"set_id": 14706 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "beust-jcommander", +"repository": "rhel9-CRB" +} +], +"set_id": 14707 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "bsf-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14708 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "bsf", +"repository": "rhel8-CRB" +} +], +"set_id": 14709 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsf", +"repository": "rhel9-AppStream" +} +], +"set_id": 14710 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "byte-buddy", +"repository": "rhel9-AppStream" +} +], +"set_id": 14711 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "cdi-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14712 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "cdi-api", +"repository": "rhel8-CRB" +} +], +"set_id": 15534 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdi-api", +"repository": "rhel9-AppStream" +} +], +"set_id": 15535 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "cglib-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14715 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "cglib", +"repository": "rhel8-CRB" +} +], +"set_id": 14716 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cglib", +"repository": "rhel9-CRB" +} +], +"set_id": 14717 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "easymock-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14718 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "easymock", +"repository": "rhel8-CRB" +} +], +"set_id": 14719 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "easymock", +"repository": "rhel9-CRB" +} +], +"set_id": 14720 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-utils-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14721 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "felix-utils", +"repository": "rhel8-CRB" +} +], +"set_id": 14722 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "felix-utils", +"repository": "rhel9-CRB" +} +], +"set_id": 14723 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "google-guice", +"repository": "rhel8-CRB" +} +], +"set_id": 15538 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-guice", +"repository": "rhel9-AppStream" +} +], +"set_id": 15539 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "google-guice-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14726 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-assistedinject", +"repository": "rhel8-CRB" +} +], +"set_id": 14727 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-bom", +"repository": "rhel8-CRB" +} +], +"set_id": 14728 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-extensions", +"repository": "rhel8-CRB" +} +], +"set_id": 14729 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-grapher", +"repository": "rhel8-CRB" +} +], +"set_id": 14730 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-jmx", +"repository": "rhel8-CRB" +} +], +"set_id": 14731 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-jndi", +"repository": "rhel8-CRB" +} +], +"set_id": 14732 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-multibindings", +"repository": "rhel8-CRB" +} +], +"set_id": 14733 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-parent", +"repository": "rhel8-CRB" +} +], +"set_id": 14734 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-servlet", +"repository": "rhel8-CRB" +} +], +"set_id": 14735 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-testlib", +"repository": "rhel8-CRB" +} +], +"set_id": 14736 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guice-throwingproviders", +"repository": "rhel8-CRB" +} +], +"set_id": 14737 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "hamcrest", +"repository": "rhel8-CRB" +} +], +"set_id": 15540 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest", +"repository": "rhel9-AppStream" +} +], +"set_id": 15541 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "hamcrest-core", +"repository": "rhel8-CRB" +} +], +"set_id": 14740 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "hamcrest-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 14741 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "hamcrest-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14742 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "hamcrest-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 14743 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "hamcrest-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 14743 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "httpcomponents-core-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14744 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "httpcomponents-core", +"repository": "rhel8-CRB" +} +], +"set_id": 15546 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 15547 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jansi-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14747 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jansi", +"repository": "rhel8-CRB" +} +], +"set_id": 15548 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi", +"repository": "rhel9-AppStream" +} +], +"set_id": 15549 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jsoup-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14750 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jsoup", +"repository": "rhel8-CRB" +} +], +"set_id": 15552 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsoup", +"repository": "rhel9-AppStream" +} +], +"set_id": 15553 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jsr-305-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14753 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jsr-305", +"repository": "rhel8-CRB" +} +], +"set_id": 15556 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsr-305", +"repository": "rhel9-AppStream" +} +], +"set_id": 15557 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "junit-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14756 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "junit-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 14757 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "junit", +"repository": "rhel8-CRB" +} +], +"set_id": 15560 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit", +"repository": "rhel9-AppStream" +} +], +"set_id": 15561 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "maven-openjdk17", +"repository": "rhel8-AppStream" +} +], +"set_id": 14760 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-openjdk17", +"repository": "rhel9-AppStream" +} +], +"set_id": 14761 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "maven-openjdk11", +"repository": "rhel8-AppStream" +} +], +"set_id": 14762 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-openjdk11", +"repository": "rhel9-AppStream" +} +], +"set_id": 14763 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "maven-openjdk8", +"repository": "rhel8-AppStream" +} +], +"set_id": 14764 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-openjdk8", +"repository": "rhel9-AppStream" +} +], +"set_id": 14765 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-lib", +"repository": "rhel8-CRB" +} +], +"set_id": 15564 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-lib", +"repository": "rhel9-AppStream" +} +], +"set_id": 15565 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven", +"repository": "rhel8-CRB" +} +], +"set_id": 15568 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven", +"repository": "rhel9-AppStream" +} +], +"set_id": 15569 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14770 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-archiver-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14771 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-archiver", +"repository": "rhel8-CRB" +} +], +"set_id": 14772 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-archiver", +"repository": "rhel9-CRB" +} +], +"set_id": 14773 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-common-artifact-filters-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14774 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-common-artifact-filters", +"repository": "rhel8-CRB" +} +], +"set_id": 14777 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-common-artifact-filters", +"repository": "rhel9-CRB" +} +], +"set_id": 14778 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-compiler-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14779 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-compiler-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14780 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-compiler-plugin", +"repository": "rhel9-CRB" +} +], +"set_id": 14781 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-dependency-tree-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14782 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-dependency-tree", +"repository": "rhel8-CRB" +} +], +"set_id": 14783 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-dependency-tree", +"repository": "rhel9-CRB" +} +], +"set_id": 14784 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-enforcer-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14785 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-enforcer-api", +"repository": "rhel8-CRB" +} +], +"set_id": 14786 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-api", +"repository": "rhel9-CRB" +} +], +"set_id": 14787 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-enforcer-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14788 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-plugin", +"repository": "rhel9-CRB" +} +], +"set_id": 14789 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-enforcer-rules", +"repository": "rhel8-CRB" +} +], +"set_id": 14790 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer-rules", +"repository": "rhel9-CRB" +} +], +"set_id": 14791 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-enforcer", +"repository": "rhel8-CRB" +} +], +"set_id": 14792 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-enforcer", +"repository": "rhel9-CRB" +} +], +"set_id": 14793 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-file-management-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14794 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-file-management", +"repository": "rhel8-CRB" +} +], +"set_id": 14795 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-file-management", +"repository": "rhel9-CRB" +} +], +"set_id": 14796 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-filtering-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14797 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-filtering", +"repository": "rhel8-CRB" +} +], +"set_id": 14798 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-filtering", +"repository": "rhel9-CRB" +} +], +"set_id": 14799 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-jar-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14800 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-jar-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14801 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-jar-plugin", +"repository": "rhel9-CRB" +} +], +"set_id": 14802 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-build-helper-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14803 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-build-helper", +"repository": "rhel8-CRB" +} +], +"set_id": 14804 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-build-helper", +"repository": "rhel9-CRB" +} +], +"set_id": 14805 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-bundle-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14806 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-bundle", +"repository": "rhel8-CRB" +} +], +"set_id": 14807 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-bundle", +"repository": "rhel9-CRB" +} +], +"set_id": 14808 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-testing-harness", +"repository": "rhel8-CRB" +} +], +"set_id": 14809 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing-harness", +"repository": "rhel9-CRB" +} +], +"set_id": 14810 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-testing", +"repository": "rhel8-CRB" +} +], +"set_id": 14811 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-testing", +"repository": "rhel9-CRB" +} +], +"set_id": 14812 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-testing-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14813 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-testing-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 14814 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-test-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 14815 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-annotations", +"repository": "rhel8-CRB" +} +], +"set_id": 14816 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-annotations", +"repository": "rhel9-CRB" +} +], +"set_id": 14817 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-generators", +"repository": "rhel8-CRB" +} +], +"set_id": 14818 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-generators", +"repository": "rhel9-CRB" +} +], +"set_id": 14819 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-annotations", +"repository": "rhel8-CRB" +} +], +"set_id": 14820 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-annotations", +"repository": "rhel9-CRB" +} +], +"set_id": 14821 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-java", +"repository": "rhel8-CRB" +} +], +"set_id": 14822 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-java", +"repository": "rhel9-CRB" +} +], +"set_id": 14823 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-api", +"repository": "rhel8-CRB" +} +], +"set_id": 14824 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools-api", +"repository": "rhel9-CRB" +} +], +"set_id": 14825 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14826 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-plugin", +"repository": "rhel9-CRB" +} +], +"set_id": 14827 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 14828 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-plugin-tools", +"repository": "rhel9-CRB" +} +], +"set_id": 14829 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-ant", +"repository": "rhel8-CRB" +} +], +"set_id": 14830 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-beanshell", +"repository": "rhel8-CRB" +} +], +"set_id": 14831 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14832 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-javadocs", +"repository": "rhel8-CRB" +} +], +"set_id": 14833 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-tools-model", +"repository": "rhel8-CRB" +} +], +"set_id": 14834 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-script", +"repository": "rhel8-CRB" +} +], +"set_id": 14835 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-script-ant", +"repository": "rhel8-CRB" +} +], +"set_id": 14836 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-script-beanshell", +"repository": "rhel8-CRB" +} +], +"set_id": 14837 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-remote-resources-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14838 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-remote-resources-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14839 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-remote-resources-plugin", +"repository": "rhel9-CRB" +} +], +"set_id": 14840 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resources-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14841 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-resources-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14842 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resources-plugin", +"repository": "rhel9-CRB" +} +], +"set_id": 14843 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shared-incremental-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14844 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shared-incremental", +"repository": "rhel8-CRB" +} +], +"set_id": 14845 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-incremental", +"repository": "rhel9-CRB" +} +], +"set_id": 14846 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shared-io-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14847 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shared-io", +"repository": "rhel8-CRB" +} +], +"set_id": 14848 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-io", +"repository": "rhel9-CRB" +} +], +"set_id": 14849 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shared-utils-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14850 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-shared-utils", +"repository": "rhel8-CRB" +} +], +"set_id": 15572 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 15573 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-source-plugin-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14853 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10770, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-source-plugin", +"repository": "rhel8-CRB" +} +], +"set_id": 14854 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-source-plugin", +"repository": "rhel9-CRB" +} +], +"set_id": 14855 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon", +"repository": "rhel8-CRB" +} +], +"set_id": 15578 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-wagon", +"repository": "rhel9-AppStream" +} +], +"set_id": 15579 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-wagon-file", +"repository": "rhel8-AppStream" +} +], +"set_id": 14858 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-wagon-file", +"repository": "rhel8-AppStream" +} +], +"set_id": 14858 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-wagon-http", +"repository": "rhel8-AppStream" +} +], +"set_id": 14859 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-wagon-http", +"repository": "rhel8-AppStream" +} +], +"set_id": 14859 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-wagon-http-shared", +"repository": "rhel8-AppStream" +} +], +"set_id": 14860 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-wagon-http-shared", +"repository": "rhel8-AppStream" +} +], +"set_id": 14860 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-wagon-provider-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 14861 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "maven-wagon-provider-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 14861 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon-file", +"repository": "rhel8-CRB" +} +], +"set_id": 14862 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon-ftp", +"repository": "rhel8-CRB" +} +], +"set_id": 14863 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon-http", +"repository": "rhel8-CRB" +} +], +"set_id": 14864 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon-http-lightweight", +"repository": "rhel8-CRB" +} +], +"set_id": 14865 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon-http-shared", +"repository": "rhel8-CRB" +} +], +"set_id": 14866 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14867 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon-provider-api", +"repository": "rhel8-CRB" +} +], +"set_id": 14868 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-wagon-providers", +"repository": "rhel8-CRB" +} +], +"set_id": 14869 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven2-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14870 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-artifact", +"repository": "rhel8-CRB" +} +], +"set_id": 14871 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-artifact-manager", +"repository": "rhel8-CRB" +} +], +"set_id": 14872 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-model", +"repository": "rhel8-CRB" +} +], +"set_id": 14873 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-monitor", +"repository": "rhel8-CRB" +} +], +"set_id": 14874 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-descriptor", +"repository": "rhel8-CRB" +} +], +"set_id": 14875 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-plugin-registry", +"repository": "rhel8-CRB" +} +], +"set_id": 14876 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-profile", +"repository": "rhel8-CRB" +} +], +"set_id": 14877 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-project", +"repository": "rhel8-CRB" +} +], +"set_id": 14878 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-settings", +"repository": "rhel8-CRB" +} +], +"set_id": 14879 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-toolchain", +"repository": "rhel8-CRB" +} +], +"set_id": 14880 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven2", +"repository": "rhel8-CRB" +} +], +"set_id": 14881 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "mockito-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14882 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "mockito", +"repository": "rhel8-CRB" +} +], +"set_id": 14883 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mockito", +"repository": "rhel9-CRB" +} +], +"set_id": 14884 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "objenesis-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14885 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "objenesis", +"repository": "rhel8-CRB" +} +], +"set_id": 14886 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objenesis", +"repository": "rhel9-CRB" +} +], +"set_id": 14887 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "osgi-annotation-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14888 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "osgi-annotation", +"repository": "rhel8-CRB" +} +], +"set_id": 14889 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-annotation", +"repository": "rhel9-CRB" +} +], +"set_id": 14890 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "osgi-compendium-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14891 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "osgi-compendium", +"repository": "rhel8-CRB" +} +], +"set_id": 14892 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-compendium", +"repository": "rhel9-CRB" +} +], +"set_id": 14893 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "osgi-core-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14894 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10809, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "osgi-core", +"repository": "rhel8-CRB" +} +], +"set_id": 14895 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "osgi-core", +"repository": "rhel9-CRB" +} +], +"set_id": 14896 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-archiver-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14897 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-archiver", +"repository": "rhel8-CRB" +} +], +"set_id": 14898 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-archiver", +"repository": "rhel9-CRB" +} +], +"set_id": 14899 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10812, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-build-api-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14900 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-build-api", +"repository": "rhel8-CRB" +} +], +"set_id": 14901 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-build-api", +"repository": "rhel9-CRB" +} +], +"set_id": 14902 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-cipher-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14903 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-cipher", +"repository": "rhel8-CRB" +} +], +"set_id": 15584 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cipher", +"repository": "rhel9-AppStream" +} +], +"set_id": 15585 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10816, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-classworlds-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14906 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-classworlds", +"repository": "rhel8-CRB" +} +], +"set_id": 15588 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-classworlds", +"repository": "rhel9-AppStream" +} +], +"set_id": 15589 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-compiler-extras", +"repository": "rhel8-CRB" +} +], +"set_id": 14909 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-compiler-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14910 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-compiler-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 14911 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-compiler", +"repository": "rhel8-CRB" +} +], +"set_id": 14912 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-compiler", +"repository": "rhel9-CRB" +} +], +"set_id": 14913 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-containers-component-annotations", +"repository": "rhel8-CRB" +} +], +"set_id": 15592 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-annotations", +"repository": "rhel9-AppStream" +} +], +"set_id": 15593 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-containers", +"repository": "rhel8-CRB" +} +], +"set_id": 15596 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers", +"repository": "rhel9-AppStream" +} +], +"set_id": 15597 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10824, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-containers-component-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14918 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10825, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-containers-component-metadata", +"repository": "rhel8-CRB" +} +], +"set_id": 14919 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10826, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-containers-container-default", +"repository": "rhel8-CRB" +} +], +"set_id": 14920 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-containers-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14921 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10828, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-interpolation-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14922 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10829, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-interpolation", +"repository": "rhel8-CRB" +} +], +"set_id": 15600 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interpolation", +"repository": "rhel9-AppStream" +} +], +"set_id": 15601 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-io-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14925 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-io", +"repository": "rhel8-CRB" +} +], +"set_id": 14926 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-io", +"repository": "rhel9-CRB" +} +], +"set_id": 14927 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10832, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-languages-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14928 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-languages", +"repository": "rhel8-CRB" +} +], +"set_id": 14929 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-languages", +"repository": "rhel9-CRB" +} +], +"set_id": 14930 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-resources-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14931 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-resources", +"repository": "rhel8-CRB" +} +], +"set_id": 14932 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-resources", +"repository": "rhel9-CRB" +} +], +"set_id": 14933 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10836, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-sec-dispatcher-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14934 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10837, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-sec-dispatcher", +"repository": "rhel8-CRB" +} +], +"set_id": 15604 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-sec-dispatcher", +"repository": "rhel9-AppStream" +} +], +"set_id": 15605 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-utils-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14937 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "plexus-utils", +"repository": "rhel8-CRB" +} +], +"set_id": 15608 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 15609 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "qdox-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14940 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "qdox", +"repository": "rhel8-CRB" +} +], +"set_id": 14941 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qdox", +"repository": "rhel9-CRB" +} +], +"set_id": 14942 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "sisu-inject", +"repository": "rhel8-CRB" +} +], +"set_id": 17316 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10848, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "sisu-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 17317 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10849, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "sisu-plexus", +"repository": "rhel8-CRB" +} +], +"set_id": 17318 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jcl-over-slf4j", +"repository": "rhel8-CRB" +} +], +"set_id": 15616 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jcl-over-slf4j", +"repository": "rhel9-AppStream" +} +], +"set_id": 15617 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "slf4j-jdk14", +"repository": "rhel8-CRB" +} +], +"set_id": 15620 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j-jdk14", +"repository": "rhel9-AppStream" +} +], +"set_id": 15621 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10852, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "slf4j", +"repository": "rhel8-CRB" +} +], +"set_id": 15624 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j", +"repository": "rhel9-AppStream" +} +], +"set_id": 15625 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10853, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jul-to-slf4j", +"repository": "rhel8-CRB" +} +], +"set_id": 14956 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "log4j-over-slf4j", +"repository": "rhel8-CRB" +} +], +"set_id": 14957 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "slf4j-ext", +"repository": "rhel8-CRB" +} +], +"set_id": 14958 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10856, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "slf4j-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14959 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "slf4j-jcl", +"repository": "rhel8-CRB" +} +], +"set_id": 14960 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10858, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "slf4j-log4j12", +"repository": "rhel8-CRB" +} +], +"set_id": 14961 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10859, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "slf4j-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 14962 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10860, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "slf4j-sources", +"repository": "rhel8-CRB" +} +], +"set_id": 14963 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10861, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xalan-j2", +"repository": "rhel8-AppStream" +} +], +"set_id": 15628 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2", +"repository": "rhel9-AppStream" +} +], +"set_id": 15629 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xalan-j2-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 14966 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xalan-j2-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14967 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10864, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xalan-j2-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 14968 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10865, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xalan-j2-xsltc", +"repository": "rhel8-CRB" +} +], +"set_id": 14969 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xbean-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14970 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xbean", +"repository": "rhel8-CRB" +} +], +"set_id": 14971 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xbean", +"repository": "rhel9-CRB" +} +], +"set_id": 14972 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10868, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xerces-j2", +"repository": "rhel8-CRB" +} +], +"set_id": 15632 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-j2", +"repository": "rhel9-AppStream" +} +], +"set_id": 15633 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10869, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xerces-j2-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 14975 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xerces-j2-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14976 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xml-commons-apis", +"repository": "rhel8-CRB" +} +], +"set_id": 15636 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis", +"repository": "rhel9-AppStream" +} +], +"set_id": 15637 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xml-commons-apis-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14979 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xml-commons-apis-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 14980 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xml-commons-resolver-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14981 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xml-commons-resolver", +"repository": "rhel8-CRB" +} +], +"set_id": 15640 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-resolver", +"repository": "rhel9-AppStream" +} +], +"set_id": 15641 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmlunit-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 14988 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmlunit", +"repository": "rhel8-CRB" +} +], +"set_id": 14989 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlunit", +"repository": "rhel9-CRB" +} +], +"set_id": 14990 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-minimal", +"repository": "rhel8-CRB" +} +], +"set_id": 14991 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn-minimal", +"repository": "rhel9-CRB" +} +], +"set_id": 14992 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-mojo", +"repository": "rhel8-CRB" +} +], +"set_id": 14993 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn-mojo", +"repository": "rhel9-CRB" +} +], +"set_id": 14994 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-core", +"repository": "rhel8-CRB" +} +], +"set_id": 14995 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn-core", +"repository": "rhel9-CRB" +} +], +"set_id": 14996 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn", +"repository": "rhel8-CRB" +} +], +"set_id": 14997 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmvn", +"repository": "rhel9-CRB" +} +], +"set_id": 14998 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-api", +"repository": "rhel8-CRB" +} +], +"set_id": 15001 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-bisect", +"repository": "rhel8-CRB" +} +], +"set_id": 15002 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-connector-aether", +"repository": "rhel8-CRB" +} +], +"set_id": 15003 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-connector-ivy", +"repository": "rhel8-CRB" +} +], +"set_id": 15004 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-install", +"repository": "rhel8-CRB" +} +], +"set_id": 15005 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15006 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-parent-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 15007 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-resolve", +"repository": "rhel8-CRB" +} +], +"set_id": 15008 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-subst", +"repository": "rhel8-CRB" +} +], +"set_id": 15009 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xmvn-tools-pom", +"repository": "rhel8-CRB" +} +], +"set_id": 15010 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-lang-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15011 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-lang3-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15012 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-artifact-transfer-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15013 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "maven-artifact-resolver-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15014 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-wireshark", +"repository": "rhel8-AppStream" +} +], +"set_id": 15015 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-wireshark", +"repository": "rhel8-AppStream" +} +], +"set_id": 15015 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "httpcomponents-client-cache", +"repository": "rhel8-CRB" +} +], +"set_id": 15018 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "httpcomponents-client-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15019 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jakarta-commons-httpclient-demo", +"repository": "rhel8-CRB" +} +], +"set_id": 15020 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jakarta-commons-httpclient-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15021 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jakarta-commons-httpclient-manual", +"repository": "rhel8-CRB" +} +], +"set_id": 15022 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guava20-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15023 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guava20-testlib", +"repository": "rhel8-CRB" +} +], +"set_id": 15024 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javamail-javadoc", +"repository": "rhel8-CRB" +} +], +"set_id": 15025 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-tar-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 15026 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-hw-usbredir", +"repository": "rhel8-AppStream" +} +], +"set_id": 15027 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 10912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-hw-usbredir", +"repository": "rhel8-AppStream" +} +], +"set_id": 15027 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 10913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-ui-spice", +"repository": "rhel8-AppStream" +} +], +"set_id": 15028 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"s390x" +], +"id": 10914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-audio-pa", +"repository": "rhel9-AppStream" +} +], +"set_id": 15030 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 10915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu", +"repository": "rhel9-AppStream" +} +], +"set_id": 15031 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"s390x" +], +"id": 10916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu-ccw", +"repository": "rhel9-AppStream" +} +], +"set_id": 15032 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 10917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu-gl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15033 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"x86_64" +], +"id": 10918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu-pci", +"repository": "rhel9-AppStream" +} +], +"set_id": 15034 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"x86_64" +], +"id": 10919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu-pci-gl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15035 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 10920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-vga", +"repository": "rhel9-AppStream" +} +], +"set_id": 15036 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 10921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-vga-gl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15037 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 10922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-usb-host", +"repository": "rhel9-AppStream" +} +], +"set_id": 15038 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 10923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-usb-redirect", +"repository": "rhel9-AppStream" +} +], +"set_id": 15039 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 10924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-ui-egl-headless", +"repository": "rhel9-AppStream" +} +], +"set_id": 15040 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"s390x" +], +"id": 10925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "virtiofsd", +"repository": "rhel9-AppStream" +} +], +"set_id": 15041 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libtpms-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15042 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libtpms-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15042 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "swtpm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15043 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "swtpm-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15043 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10930, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "swtpm-tools-pkcs11", +"repository": "rhel8-AppStream" +} +], +"set_id": 15044 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "swtpm-tools-pkcs11", +"repository": "rhel8-AppStream" +} +], +"set_id": 15044 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt-devel", +"stream": "rhel" +} +], +"name": "libssh2-docs", +"repository": "rhel8-CRB" +} +], +"set_id": 15045 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libiscsi-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15046 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiscsi-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15047 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 10934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "sgabios", +"repository": "rhel8-AppStream" +} +], +"set_id": 15048 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sgabios", +"repository": "rhel9-AppStream" +} +], +"set_id": 15049 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 10935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "sgabios-bin", +"repository": "rhel8-AppStream" +} +], +"set_id": 15050 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sgabios-bin", +"repository": "rhel9-AppStream" +} +], +"set_id": 15051 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-hwloc1", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15054 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "compat-hwloc1", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15054 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hwloc-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 15057 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hwloc-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15058 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hwloc-plugins", +"repository": "rhel8-AppStream" +} +], +"set_id": 15056 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hwloc-plugins", +"repository": "rhel8-AppStream" +} +], +"set_id": 15056 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 10942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bluez-obexd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15059 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bluez-obexd", +"repository": "rhel9-AppStream" +} +], +"set_id": 15060 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-plugin-annobin", +"repository": "rhel9-AppStream" +} +], +"set_id": 15061 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bluez-hid2hci", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15062 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"s390x" +], +"id": 10945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qclib-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15063 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qclib-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15064 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le" +], +"id": 10946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libocxl-docs", +"repository": "rhel8-CRB" +} +], +"set_id": 15065 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15066 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15067 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flexiblas-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flexiblas-netlib64", +"repository": "rhel9-CRB" +} +], +"set_id": 15069 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "flexiblas-openblas-openmp64", +"repository": "rhel9-CRB" +} +], +"set_id": 15070 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-psutil-tests", +"repository": "rhel9-CRB" +} +], +"set_id": 15071 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-headers", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15072 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-headers", +"repository": "rhel9-AppStream" +} +], +"set_id": 15073 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-locale-source", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15074 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glibc-locale-source", +"repository": "rhel9-AppStream" +} +], +"set_id": 15075 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libasan", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15076 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libasan", +"repository": "rhel9-AppStream" +} +], +"set_id": 15077 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libffi-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15078 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libffi-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15079 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 10956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgomp-offload-nvptx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15080 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libgomp-offload-nvptx", +"repository": "rhel9-AppStream" +} +], +"set_id": 15081 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libitm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15082 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libitm", +"repository": "rhel9-AppStream" +} +], +"set_id": 15083 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 10958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblsan", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15084 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblsan", +"repository": "rhel9-AppStream" +} +], +"set_id": 15085 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 10959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtsan", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15086 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtsan", +"repository": "rhel9-AppStream" +} +], +"set_id": 15087 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libubsan", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15088 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libubsan", +"repository": "rhel9-AppStream" +} +], +"set_id": 15089 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m4", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15090 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "m4", +"repository": "rhel9-AppStream" +} +], +"set_id": 15091 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_db", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15092 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nss_db", +"repository": "rhel9-CRB" +} +], +"set_id": 15093 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 10963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtool-ltdl", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15094 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtool-ltdl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15095 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspell", +"repository": "rhel8-AppStream" +} +], +"set_id": 15098 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspell", +"repository": "rhel9-CRB" +} +], +"set_id": 15099 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsdtar", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15100 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bsdtar", +"repository": "rhel9-AppStream" +} +], +"set_id": 15101 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "galera", +"repository": "rhel8-AppStream" +} +], +"set_id": 15102 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "galera", +"repository": "rhel9-AppStream" +} +], +"set_id": 15103 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb-devel", +"stream": "10.3" +} +], +"name": "galera", +"repository": "rhel8-CRB" +} +], +"set_id": 15104 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb-devel", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "galera", +"repository": "rhel9-AppStream" +} +], +"set_id": 15105 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdbm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15108 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdbm", +"repository": "rhel9-CRB" +} +], +"set_id": 15109 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdisk", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15110 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdisk", +"repository": "rhel9-AppStream" +} +], +"set_id": 15111 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groff", +"repository": "rhel8-CRB" +} +], +"set_id": 15112 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "groff", +"repository": "rhel9-AppStream" +} +], +"set_id": 15113 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "Judy", +"repository": "rhel8-AppStream" +} +], +"set_id": 15114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Judy", +"repository": "rhel9-AppStream" +} +], +"set_id": 15115 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb-devel", +"stream": "10.3" +} +], +"name": "Judy-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 15120 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb-devel", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "Judy-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15121 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libatomic_ops", +"repository": "rhel8-AppStream" +} +], +"set_id": 15122 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libatomic_ops", +"repository": "rhel9-CRB" +} +], +"set_id": 15123 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-utils", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdb-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 15125 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpng-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15126 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpng-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15127 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstemmer", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15128 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libstemmer", +"repository": "rhel9-AppStream" +} +], +"set_id": 15129 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb", +"repository": "rhel8-AppStream" +} +], +"set_id": 15130 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb", +"repository": "rhel9-AppStream" +} +], +"set_id": 15131 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-backup", +"repository": "rhel8-AppStream" +} +], +"set_id": 15136 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-backup", +"repository": "rhel9-AppStream" +} +], +"set_id": 15137 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 15142 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 15143 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15148 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15149 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-embedded", +"repository": "rhel8-AppStream" +} +], +"set_id": 15154 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-embedded", +"repository": "rhel9-AppStream" +} +], +"set_id": 15155 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-embedded-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15160 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-embedded-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15161 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 10998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-errmsg", +"repository": "rhel8-AppStream" +} +], +"set_id": 15166 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-errmsg", +"repository": "rhel9-AppStream" +} +], +"set_id": 15167 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-gssapi-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 15172 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-gssapi-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 15173 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-oqgraph-engine", +"repository": "rhel8-AppStream" +} +], +"set_id": 15178 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-oqgraph-engine", +"repository": "rhel9-AppStream" +} +], +"set_id": 15179 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-pam", +"repository": "rhel8-AppStream" +} +], +"set_id": 15184 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-pam", +"repository": "rhel9-AppStream" +} +], +"set_id": 15185 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 15186 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 15187 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-server-galera", +"repository": "rhel8-AppStream" +} +], +"set_id": 15192 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-server-galera", +"repository": "rhel9-AppStream" +} +], +"set_id": 15193 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-server-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 15198 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-server-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 15199 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mariadb", +"stream": "10.3" +}, +{ +"name": "mariadb", +"stream": "10.5" +} +], +"name": "mariadb-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 15204 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "mariadb", +"stream": "10.3" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mariadb-test", +"repository": "rhel9-CRB" +} +], +"set_id": 15205 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mecab", +"repository": "rhel8-AppStream" +} +], +"set_id": 15210 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mecab", +"repository": "rhel9-AppStream" +} +], +"set_id": 15211 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mecab-ipadic", +"repository": "rhel8-AppStream" +} +], +"set_id": 15212 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mecab-ipadic", +"repository": "rhel9-AppStream" +} +], +"set_id": 15213 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mecab-ipadic-EUCJP", +"repository": "rhel8-AppStream" +} +], +"set_id": 15214 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mecab-ipadic-EUCJP", +"repository": "rhel9-AppStream" +} +], +"set_id": 15215 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "multilib-rpm-config", +"repository": "rhel8-AppStream" +} +], +"set_id": 15216 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "multilib-rpm-config", +"repository": "rhel9-CRB" +} +], +"set_id": 15217 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mysql", +"repository": "rhel8-AppStream" +} +], +"set_id": 15218 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql", +"repository": "rhel9-AppStream" +} +], +"set_id": 15219 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mysql-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 15220 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-common", +"repository": "rhel9-AppStream" +} +], +"set_id": 15221 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mysql-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15222 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15223 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mysql-errmsg", +"repository": "rhel8-AppStream" +} +], +"set_id": 15224 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-errmsg", +"repository": "rhel9-AppStream" +} +], +"set_id": 15225 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mysql-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 15226 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-libs", +"repository": "rhel9-CRB" +} +], +"set_id": 15227 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mysql-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 15228 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 15229 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "mysql", +"stream": "8.0" +} +], +"name": "mysql-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 15230 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "mysql", +"stream": "8.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mysql-test", +"repository": "rhel9-CRB" +} +], +"set_id": 15231 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "10" +}, +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +} +], +"name": "nodejs", +"repository": "rhel8-AppStream" +} +], +"set_id": 15232 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "nodejs", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "16" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "14" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs", +"repository": "rhel9-AppStream" +} +], +"set_id": 15233 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "10" +}, +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +} +], +"name": "nodejs-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 15240 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "nodejs", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "16" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "14" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 15241 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "10" +}, +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +} +], +"name": "nodejs-full-i18n", +"repository": "rhel8-AppStream" +} +], +"set_id": 15248 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "nodejs", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "16" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "14" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs-full-i18n", +"repository": "rhel9-AppStream" +} +], +"set_id": 15249 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "10" +}, +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +} +], +"name": "nodejs-nodemon", +"repository": "rhel8-AppStream" +} +], +"set_id": 15256 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "nodejs", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "16" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "14" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "nodejs-nodemon", +"repository": "rhel9-AppStream" +} +], +"set_id": 15257 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "10" +}, +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +} +], +"name": "npm", +"repository": "rhel8-AppStream" +} +], +"set_id": 15264 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "nodejs", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "16" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "nodejs", +"stream": "14" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "npm", +"repository": "rhel9-AppStream" +} +], +"set_id": 15265 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-openmp", +"repository": "rhel8-CRB" +} +], +"set_id": 15272 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-openmp", +"repository": "rhel9-AppStream" +} +], +"set_id": 15273 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-threads", +"repository": "rhel8-AppStream" +} +], +"set_id": 15274 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openblas-threads", +"repository": "rhel9-CRB" +} +], +"set_id": 15275 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15276 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15277 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-utf16", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15278 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-utf16", +"repository": "rhel9-AppStream" +} +], +"set_id": 15279 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-utf32", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15280 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre2-utf32", +"repository": "rhel9-AppStream" +} +], +"set_id": 15281 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-cpp", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15282 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-cpp", +"repository": "rhel9-AppStream" +} +], +"set_id": 15283 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15284 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15285 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-utf16", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15286 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-utf16", +"repository": "rhel9-AppStream" +} +], +"set_id": 15287 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-utf32", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15288 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pcre-utf32", +"repository": "rhel9-AppStream" +} +], +"set_id": 15289 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-SHA1", +"repository": "rhel8-CRB" +} +], +"set_id": 15290 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-SHA1", +"repository": "rhel9-AppStream" +} +], +"set_id": 15291 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +} +], +"name": "pgaudit", +"repository": "rhel8-AppStream" +} +], +"set_id": 15292 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pgaudit", +"repository": "rhel9-AppStream" +} +], +"set_id": 15293 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +} +], +"name": "pg_repack", +"repository": "rhel8-AppStream" +} +], +"set_id": 15296 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pg_repack", +"repository": "rhel9-AppStream" +} +], +"set_id": 15297 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plotutils", +"repository": "rhel8-CRB" +} +], +"set_id": 15300 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plotutils", +"repository": "rhel9-AppStream" +} +], +"set_id": 15301 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +} +], +"name": "postgres-decoderbufs", +"repository": "rhel8-AppStream" +} +], +"set_id": 15302 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgres-decoderbufs", +"repository": "rhel9-AppStream" +} +], +"set_id": 15303 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +}, +{ +"name": "postgresql", +"stream": "9.6" +} +], +"name": "postgresql", +"repository": "rhel8-AppStream" +} +], +"set_id": 15306 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "9.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql", +"repository": "rhel9-AppStream" +} +], +"set_id": 15307 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +}, +{ +"name": "postgresql", +"stream": "9.6" +} +], +"name": "postgresql-contrib", +"repository": "rhel8-AppStream" +} +], +"set_id": 15314 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "9.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-contrib", +"repository": "rhel9-AppStream" +} +], +"set_id": 15315 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +}, +{ +"name": "postgresql", +"stream": "9.6" +} +], +"name": "postgresql-plperl", +"repository": "rhel8-AppStream" +} +], +"set_id": 15322 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "9.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-plperl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15323 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +}, +{ +"name": "postgresql", +"stream": "9.6" +} +], +"name": "postgresql-plpython3", +"repository": "rhel8-AppStream" +} +], +"set_id": 15330 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "9.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-plpython3", +"repository": "rhel9-AppStream" +} +], +"set_id": 15331 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +}, +{ +"name": "postgresql", +"stream": "9.6" +} +], +"name": "postgresql-pltcl", +"repository": "rhel8-AppStream" +} +], +"set_id": 15338 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "9.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-pltcl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15339 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +}, +{ +"name": "postgresql", +"stream": "9.6" +} +], +"name": "postgresql-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 15346 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "9.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 15347 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +}, +{ +"name": "postgresql", +"stream": "9.6" +} +], +"name": "postgresql-server-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15354 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "9.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-server-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15355 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +}, +{ +"name": "postgresql", +"stream": "9.6" +} +], +"name": "postgresql-test", +"repository": "rhel8-AppStream" +} +], +"set_id": 15362 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "9.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-test", +"repository": "rhel9-CRB" +} +], +"set_id": 15363 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "10" +}, +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +} +], +"name": "postgresql-upgrade", +"repository": "rhel8-AppStream" +} +], +"set_id": 15370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-upgrade", +"repository": "rhel9-AppStream" +} +], +"set_id": 15371 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sombok", +"repository": "rhel8-CRB" +} +], +"set_id": 15376 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sombok", +"repository": "rhel9-AppStream" +} +], +"set_id": 15377 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sqlite", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15378 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sqlite", +"repository": "rhel9-AppStream" +} +], +"set_id": 15379 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sqlite-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15380 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sqlite-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15381 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "turbojpeg", +"repository": "rhel8-AppStream" +} +], +"set_id": 15382 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "turbojpeg", +"repository": "rhel9-CRB" +} +], +"set_id": 15383 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unixODBC-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15384 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unixODBC-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15385 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "web-assets-filesystem", +"repository": "rhel8-CRB" +} +], +"set_id": 15386 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "web-assets-filesystem", +"repository": "rhel9-AppStream" +} +], +"set_id": 15387 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15388 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15389 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-lzma-compat", +"repository": "rhel8-CRB" +} +], +"set_id": 15390 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-lzma-compat", +"repository": "rhel9-AppStream" +} +], +"set_id": 15391 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zlib-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15392 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "zlib-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15393 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-api-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15394 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glusterfs-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15395 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spice-qxl-xddm", +"repository": "rhel8-AppStream" +} +], +"set_id": 15397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnssec-trigger-panel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15400 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dnssec-trigger-panel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15400 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-imapd-vzic", +"repository": "rhel8-AppStream" +} +], +"set_id": 15401 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cyrus-imapd-vzic", +"repository": "rhel8-AppStream" +} +], +"set_id": 15401 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fstrm-utils", +"repository": "rhel9-CRB" +} +], +"set_id": 15402 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "httpd", +"stream": "2.4" +} +], +"name": "httpd", +"repository": "rhel8-AppStream" +} +], +"set_id": 15403 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "httpd", +"stream": "2.4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpd", +"repository": "rhel9-AppStream" +} +], +"set_id": 15404 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "httpd", +"stream": "2.4" +} +], +"name": "httpd-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15405 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "httpd", +"stream": "2.4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpd-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15406 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "expat-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15407 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "expat-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15408 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sendmail-milter", +"repository": "rhel8-AppStream" +} +], +"set_id": 15409 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sendmail-milter", +"repository": "rhel9-CRB" +} +], +"set_id": 15410 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcl-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15411 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tcl-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15412 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-runtime-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15413 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-runtime-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15413 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-targeting-pack-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15414 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "aspnetcore-targeting-pack-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15414 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-apphost-pack-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15415 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11130, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-apphost-pack-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15415 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-hostfxr-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15416 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-hostfxr-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15416 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-runtime-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15418 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-sdk-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15418 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-targeting-pack-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-targeting-pack-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-templates-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15421 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet-templates-3.1", +"repository": "rhel8-AppStream" +} +], +"set_id": 15421 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "dotnet5.0-build-reference-packages", +"repository": "rhel8-AppStream" +} +], +"set_id": 15422 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lzo-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15423 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lzo-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15424 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lzo-minilzo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15425 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lzo-minilzo", +"repository": "rhel9-AppStream" +} +], +"set_id": 15426 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 11145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "memtest86+", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15427 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "memtest86+", +"repository": "rhel9-AppStream" +} +], +"set_id": 15428 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libevent-doc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15429 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libevent-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 15430 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15431 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15432 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-term", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15433 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncurses-term", +"repository": "rhel9-AppStream" +} +], +"set_id": 15434 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-gzip-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 15437 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-plugin-python-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 15440 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-plugin-python-common", +"repository": "rhel8-AppStream" +} +], +"set_id": 15440 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-plugin-vddk", +"repository": "rhel8-AppStream" +} +], +"set_id": 15441 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "nbdkit-plugin-vddk", +"repository": "rhel8-AppStream" +} +], +"set_id": 15441 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "apache-commons-cli", +"repository": "rhel8-AppStream" +} +], +"set_id": 15452 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-cli", +"repository": "rhel9-AppStream" +} +], +"set_id": 15453 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "apache-commons-codec", +"repository": "rhel8-AppStream" +} +], +"set_id": 15456 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-codec", +"repository": "rhel9-AppStream" +} +], +"set_id": 15457 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "apache-commons-lang", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "apache-commons-lang3", +"repository": "rhel8-AppStream" +} +], +"set_id": 15460 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang3", +"repository": "rhel9-AppStream" +} +], +"set_id": 15461 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-lang", +"repository": "rhel8-CRB" +}, +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-lang3", +"repository": "rhel8-CRB" +} +], +"set_id": 15462 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-lang3", +"repository": "rhel9-AppStream" +} +], +"set_id": 15463 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "apache-commons-collections", +"repository": "rhel8-AppStream" +} +], +"set_id": 15464 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-collections", +"repository": "rhel9-CRB" +} +], +"set_id": 15465 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "httpcomponents-client", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jakarta-commons-httpclient", +"repository": "rhel8-AppStream" +} +], +"set_id": 15468 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-client", +"repository": "rhel9-AppStream" +} +], +"set_id": 15469 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "guava20", +"repository": "rhel8-CRB" +} +], +"set_id": 15470 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guava", +"repository": "rhel9-AppStream" +} +], +"set_id": 15471 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-compress", +"repository": "rhel8-CRB" +} +], +"set_id": 15474 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-compress", +"repository": "rhel9-CRB" +} +], +"set_id": 15475 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jsch", +"repository": "rhel8-CRB" +} +], +"set_id": 15478 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsch", +"repository": "rhel9-AppStream" +} +], +"set_id": 15479 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11172, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "jzlib", +"repository": "rhel8-CRB" +} +], +"set_id": 15482 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jzlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 15483 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11173, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "objectweb-asm", +"repository": "rhel8-CRB" +} +], +"set_id": 15486 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "objectweb-asm", +"repository": "rhel9-AppStream" +} +], +"set_id": 15487 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "velocity", +"repository": "rhel8-CRB" +} +], +"set_id": 15490 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "velocity", +"repository": "rhel9-CRB" +} +], +"set_id": 15491 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xz-java", +"repository": "rhel8-CRB" +} +], +"set_id": 15494 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xz-java", +"repository": "rhel9-AppStream" +} +], +"set_id": 15495 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "maven-resolver", +"repository": "rhel8-AppStream" +} +], +"set_id": 15498 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-resolver", +"repository": "rhel9-AppStream" +} +], +"set_id": 15499 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant", +"repository": "rhel8-CRB" +} +], +"set_id": 15502 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant", +"repository": "rhel9-AppStream" +} +], +"set_id": 15503 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "ant-lib", +"repository": "rhel8-CRB" +} +], +"set_id": 15506 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ant-lib", +"repository": "rhel9-AppStream" +} +], +"set_id": 15507 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javapackages-filesystem", +"repository": "rhel8-CRB" +} +], +"set_id": 15510 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javapackages-filesystem", +"repository": "rhel9-AppStream" +} +], +"set_id": 15511 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "javapackages-tools", +"repository": "rhel8-CRB" +} +], +"set_id": 15514 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "javapackages-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 15515 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "apache-commons-io", +"repository": "rhel8-AppStream" +} +], +"set_id": 15518 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-io", +"repository": "rhel9-AppStream" +} +], +"set_id": 15519 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-logging", +"repository": "rhel8-CRB" +} +], +"set_id": 15522 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-logging", +"repository": "rhel9-AppStream" +} +], +"set_id": 15523 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "apache-commons-net", +"repository": "rhel8-CRB" +} +], +"set_id": 15526 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "apache-commons-net", +"repository": "rhel9-AppStream" +} +], +"set_id": 15527 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11184, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "atinject", +"repository": "rhel8-AppStream" +} +], +"set_id": 15528 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "atinject", +"repository": "rhel9-AppStream" +} +], +"set_id": 15529 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11185, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "cdi-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 15532 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cdi-api", +"repository": "rhel9-AppStream" +} +], +"set_id": 15533 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "google-guice", +"repository": "rhel8-AppStream" +} +], +"set_id": 15536 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-guice", +"repository": "rhel9-AppStream" +} +], +"set_id": 15537 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "hamcrest", +"repository": "rhel8-AppStream" +} +], +"set_id": 15542 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "hamcrest", +"repository": "rhel9-AppStream" +} +], +"set_id": 15543 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "httpcomponents-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 15544 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpcomponents-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 15545 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +}, +{ +"name": "scala", +"stream": "2.10" +} +], +"name": "jansi", +"repository": "rhel8-AppStream" +} +], +"set_id": 15550 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "scala", +"stream": "2.10" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jansi", +"repository": "rhel9-AppStream" +} +], +"set_id": 15551 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11190, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "jsoup", +"repository": "rhel8-AppStream" +} +], +"set_id": 15554 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsoup", +"repository": "rhel9-AppStream" +} +], +"set_id": 15555 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "jsr-305", +"repository": "rhel8-AppStream" +} +], +"set_id": 15558 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jsr-305", +"repository": "rhel9-AppStream" +} +], +"set_id": 15559 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "junit", +"repository": "rhel8-AppStream" +} +], +"set_id": 15562 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "junit", +"repository": "rhel9-AppStream" +} +], +"set_id": 15563 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "maven-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 15566 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-lib", +"repository": "rhel9-AppStream" +} +], +"set_id": 15567 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "maven", +"repository": "rhel8-AppStream" +} +], +"set_id": 15570 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven", +"repository": "rhel9-AppStream" +} +], +"set_id": 15571 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11195, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "maven-shared-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 15574 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-shared-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 15575 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +} +], +"name": "ruby-irb", +"repository": "rhel8-AppStream" +} +], +"set_id": 15576 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-irb", +"repository": "rhel9-AppStream" +} +], +"set_id": 15577 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "maven-wagon", +"repository": "rhel8-AppStream" +} +], +"set_id": 15580 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "maven-wagon", +"repository": "rhel9-AppStream" +} +], +"set_id": 15581 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11198, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "guava", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "guava20", +"repository": "rhel8-AppStream" +} +], +"set_id": 15582 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "guava", +"repository": "rhel9-AppStream" +} +], +"set_id": 15583 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11199, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "plexus-cipher", +"repository": "rhel8-AppStream" +} +], +"set_id": 15586 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-cipher", +"repository": "rhel9-AppStream" +} +], +"set_id": 15587 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "plexus-classworlds", +"repository": "rhel8-AppStream" +} +], +"set_id": 15590 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-classworlds", +"repository": "rhel9-AppStream" +} +], +"set_id": 15591 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "plexus-containers-component-annotations", +"repository": "rhel8-AppStream" +} +], +"set_id": 15594 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers-component-annotations", +"repository": "rhel9-AppStream" +} +], +"set_id": 15595 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "plexus-containers", +"repository": "rhel8-AppStream" +} +], +"set_id": 15598 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-containers", +"repository": "rhel9-AppStream" +} +], +"set_id": 15599 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11203, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "plexus-interpolation", +"repository": "rhel8-AppStream" +} +], +"set_id": 15602 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-interpolation", +"repository": "rhel9-AppStream" +} +], +"set_id": 15603 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "plexus-sec-dispatcher", +"repository": "rhel8-AppStream" +} +], +"set_id": 15606 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-sec-dispatcher", +"repository": "rhel9-AppStream" +} +], +"set_id": 15607 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "plexus-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 15610 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "plexus-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 15611 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.6" +} +], +"name": "sisu", +"repository": "rhel8-AppStream" +} +], +"set_id": 17321 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sisu", +"repository": "rhel9-AppStream" +} +], +"set_id": 17322 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +}, +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "jcl-over-slf4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 15618 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jcl-over-slf4j", +"repository": "rhel9-AppStream" +} +], +"set_id": 15619 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +}, +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "slf4j-jdk14", +"repository": "rhel8-AppStream" +} +], +"set_id": 15622 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j-jdk14", +"repository": "rhel9-AppStream" +} +], +"set_id": 15623 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11209, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +}, +{ +"name": "maven", +"stream": "3.6" +}, +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "slf4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 15626 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "maven", +"stream": "3.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "maven", +"stream": "3.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slf4j", +"repository": "rhel9-AppStream" +} +], +"set_id": 15627 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "javapackages-tools", +"stream": "201801" +} +], +"name": "xalan-j2", +"repository": "rhel8-CRB" +} +], +"set_id": 15630 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "javapackages-tools", +"stream": "201801" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xalan-j2", +"repository": "rhel9-AppStream" +} +], +"set_id": 15631 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xerces-j2", +"repository": "rhel8-AppStream" +} +], +"set_id": 15634 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xerces-j2", +"repository": "rhel9-AppStream" +} +], +"set_id": 15635 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +}, +{ +"name": "eclipse", +"stream": "rhel8" +} +], +"name": "xml-commons-apis", +"repository": "rhel8-AppStream" +} +], +"set_id": 15638 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "eclipse", +"stream": "rhel8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-apis", +"repository": "rhel9-AppStream" +} +], +"set_id": 15639 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-deps", +"stream": "10.6" +} +], +"name": "xml-commons-resolver", +"repository": "rhel8-AppStream" +} +], +"set_id": 15642 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-deps", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xml-commons-resolver", +"repository": "rhel9-AppStream" +} +], +"set_id": 15643 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15644 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sdl12-compat-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15645 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "buildah", +"repository": "rhel8-AppStream" +} +], +"set_id": 15646 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "buildah", +"repository": "rhel9-AppStream" +} +], +"set_id": 15647 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "4.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "buildah-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 15648 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "buildah-tests", +"repository": "rhel9-AppStream" +} +], +"set_id": 15649 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11217, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "4.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "conmon", +"repository": "rhel8-AppStream" +} +], +"set_id": 15650 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "conmon", +"repository": "rhel9-AppStream" +} +], +"set_id": 15651 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11218, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "containernetworking-plugins", +"repository": "rhel8-AppStream" +} +], +"set_id": 15652 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "containernetworking-plugins", +"repository": "rhel9-AppStream" +} +], +"set_id": 15653 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "crun", +"repository": "rhel8-AppStream" +} +], +"set_id": 15654 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "crun", +"repository": "rhel9-AppStream" +} +], +"set_id": 15655 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11220, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "container-selinux", +"repository": "rhel8-AppStream" +} +], +"set_id": 15656 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "container-selinux", +"repository": "rhel9-AppStream" +} +], +"set_id": 15657 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "fuse-overlayfs", +"repository": "rhel8-AppStream" +} +], +"set_id": 15658 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fuse-overlayfs", +"repository": "rhel9-AppStream" +} +], +"set_id": 15659 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "oci-seccomp-bpf-hook", +"repository": "rhel8-AppStream" +} +], +"set_id": 15660 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "oci-seccomp-bpf-hook", +"repository": "rhel9-AppStream" +} +], +"set_id": 15661 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "podman-catatonit", +"repository": "rhel8-AppStream" +} +], +"set_id": 15662 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-catatonit", +"repository": "rhel9-AppStream" +} +], +"set_id": 15663 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "podman-docker", +"repository": "rhel8-AppStream" +} +], +"set_id": 15664 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-docker", +"repository": "rhel9-AppStream" +} +], +"set_id": 15665 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11225, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "podman-gvproxy", +"repository": "rhel8-AppStream" +} +], +"set_id": 15666 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-gvproxy", +"repository": "rhel9-AppStream" +} +], +"set_id": 15667 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11226, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "podman-plugins", +"repository": "rhel8-AppStream" +} +], +"set_id": 15668 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-plugins", +"repository": "rhel9-AppStream" +} +], +"set_id": 15669 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11227, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "4.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "podman-remote", +"repository": "rhel8-AppStream" +} +], +"set_id": 15670 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-remote", +"repository": "rhel9-AppStream" +} +], +"set_id": 15671 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "4.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "podman-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 15672 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-tests", +"repository": "rhel9-AppStream" +} +], +"set_id": 15673 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "python3-podman", +"repository": "rhel8-AppStream" +} +], +"set_id": 15674 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-podman", +"repository": "rhel9-AppStream" +} +], +"set_id": 15675 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "runc", +"repository": "rhel8-AppStream" +} +], +"set_id": 15676 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "runc", +"repository": "rhel9-AppStream" +} +], +"set_id": 15677 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "skopeo", +"repository": "rhel8-AppStream" +} +], +"set_id": 15678 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "skopeo", +"repository": "rhel9-AppStream" +} +], +"set_id": 15679 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "4.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "skopeo-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 15680 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "skopeo-tests", +"repository": "rhel9-AppStream" +} +], +"set_id": 15681 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "1.0" +}, +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "slirp4netns", +"repository": "rhel8-AppStream" +} +], +"set_id": 15682 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "1.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "slirp4netns", +"repository": "rhel9-AppStream" +} +], +"set_id": 15683 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "4.0" +} +], +"name": "libslirp-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15684 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +} +], +"name": "python-podman-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 15686 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +} +], +"name": "python-podman-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 15686 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "container-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 15687 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "rhel8" +} +], +"name": "podman", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "rhel8" +} +], +"name": "podman-manpages", +"repository": "rhel8-AppStream" +} +], +"set_id": 15688 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman", +"repository": "rhel9-AppStream" +} +], +"set_id": 15689 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "httpd", +"stream": "2.4" +} +], +"name": "httpd-manual", +"repository": "rhel8-AppStream" +} +], +"set_id": 15690 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "httpd", +"stream": "2.4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpd-manual", +"repository": "rhel9-AppStream" +} +], +"set_id": 15691 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "httpd", +"stream": "2.4" +} +], +"name": "httpd-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 15692 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "httpd", +"stream": "2.4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "httpd-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 15693 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.10" +} +], +"name": "subversion-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15694 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "subversion", +"stream": "1.10" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15695 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.10" +} +], +"name": "subversion-gnome", +"repository": "rhel8-AppStream" +} +], +"set_id": 15696 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "subversion", +"stream": "1.10" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion-gnome", +"repository": "rhel9-AppStream" +} +], +"set_id": 15697 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.10" +} +], +"name": "subversion-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 15698 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "subversion", +"stream": "1.10" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 15699 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.10" +} +], +"name": "subversion-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 15700 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "subversion", +"stream": "1.10" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion-perl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15701 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.10" +} +], +"name": "subversion-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 15702 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "subversion", +"stream": "1.10" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subversion-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 15703 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "subversion", +"stream": "1.10" +} +], +"name": "mod_dav_svn", +"repository": "rhel8-AppStream" +} +], +"set_id": 15704 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "subversion", +"stream": "1.10" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_dav_svn", +"repository": "rhel9-AppStream" +} +], +"set_id": 15705 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "httpd", +"stream": "2.4" +} +], +"name": "mod_ldap", +"repository": "rhel8-AppStream" +} +], +"set_id": 15706 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "httpd", +"stream": "2.4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_ldap", +"repository": "rhel9-AppStream" +} +], +"set_id": 15707 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "httpd", +"stream": "2.4" +} +], +"name": "mod_proxy_html", +"repository": "rhel8-AppStream" +} +], +"set_id": 15708 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "httpd", +"stream": "2.4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_proxy_html", +"repository": "rhel9-AppStream" +} +], +"set_id": 15709 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "httpd", +"stream": "2.4" +} +], +"name": "mod_session", +"repository": "rhel8-AppStream" +} +], +"set_id": 15710 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "httpd", +"stream": "2.4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_session", +"repository": "rhel9-AppStream" +} +], +"set_id": 15711 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "squid", +"stream": "4" +} +], +"name": "libecap", +"repository": "rhel8-AppStream" +} +], +"set_id": 15712 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "squid", +"stream": "4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libecap", +"repository": "rhel9-AppStream" +} +], +"set_id": 15713 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "squid", +"stream": "4" +} +], +"name": "libecap-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15714 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "squid", +"stream": "4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libecap-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15715 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "squid", +"stream": "4" +} +], +"name": "squid", +"repository": "rhel8-AppStream" +} +], +"set_id": 15716 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "squid", +"stream": "4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "squid", +"repository": "rhel9-AppStream" +} +], +"set_id": 15717 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-atomic", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15742 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-atomic", +"repository": "rhel9-AppStream" +} +], +"set_id": 15743 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-mssql", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15744 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-mssql", +"repository": "rhel9-AppStream" +} +], +"set_id": 15745 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-oracle", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15746 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tuned-profiles-oracle", +"repository": "rhel9-AppStream" +} +], +"set_id": 15747 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 11256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-plugins-pulseaudio", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15748 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 11257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-plugins-pulseaudio", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15748 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fxload", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15751 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fxload", +"repository": "rhel9-AppStream" +} +], +"set_id": 15752 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-sof-firmware", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15753 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-sof-firmware", +"repository": "rhel9-AppStream" +} +], +"set_id": 15754 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-sof-firmware-debug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15755 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-ssh", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15757 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-block-ssh", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15757 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 11265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "qemu-kvm-common", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15758 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "virt", +"stream": "rhel" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-common", +"repository": "rhel9-BaseOS" +}, +{ +"modulestreams": [ +null +], +"name": "virtiofsd", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15759 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdecor", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15760 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdecor-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15761 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireplumber", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15762 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wireplumber-libs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15763 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clutter-gst2", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15764 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "clutter-gst3", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15765 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdv-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15766 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 11272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libiec61883-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15767 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-docs", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15768 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-sgml-doctools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15769 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 11277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-ati", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15770 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-intel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15771 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 11280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-nouveau", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15772 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-drv-vesa", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15773 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libevdev", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15774 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtool-ltdl-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15778 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libtool-ltdl-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15779 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "jctools", +"repository": "rhel8-AppStream" +} +], +"set_id": 15785 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "disruptor", +"repository": "rhel8-AppStream" +} +], +"set_id": 15786 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "log4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 15787 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "log4j-jcl", +"repository": "rhel8-AppStream" +} +], +"set_id": 15788 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "log4j-slf4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 15789 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-mono-fonts", +"repository": "rhel8-AppStream" +} +], +"set_id": 15790 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-noto-sans-mono-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 15791 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "intel-gpu-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15792 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-libGLES-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17303 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glslc", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15797 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libshaderc", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15798 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liba52-devel", +"repository": "rhel9-BaseOS" +} +], +"set_id": 15799 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXxf86misc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15800 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXxf86misc-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15801 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "frei0r-plugins", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15802 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "frei0r-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15803 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "frei0r-plugins-opencv", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15804 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11306, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-libGLES", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15805 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libglvnd-gles", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15806 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11307, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-libGLES-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 15807 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libglvnd-gles-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15808 +}, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11308, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "celt051", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15809 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "celt051-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15810 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmpcdec", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15811 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmpcdec-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15812 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXvMC", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15813 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL2", +"repository": "rhel8-CRB" +} +], +"set_id": 15814 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL2", +"repository": "rhel9-AppStream" +} +], +"set_id": 15815 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL2-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 15816 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "SDL2-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15817 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +null +], +"name": "udica", +"repository": "rhel8-AppStream" +} +], +"set_id": 15818 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "3.0" +}, +null +], +"name": "udica", +"repository": "rhel8-AppStream" +} +], +"set_id": 15820 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "4.0" +}, +null +], +"name": "udica", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15821 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "container-tools", +"stream": "2.0" +}, +{ +"name": "container-tools", +"stream": "4.0" +}, +{ +"name": "container-tools", +"stream": "rhel8" +}, +{ +"name": "container-tools", +"stream": "3.0" +} +], +"name": "udica", +"repository": "rhel8-AppStream" +} +], +"set_id": 15822 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "container-tools", +"stream": "4.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "3.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "2.0" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "container-tools", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "udica", +"repository": "rhel9-AppStream" +} +], +"set_id": 15823 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "motif-static", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15824 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfido2-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15826 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openslp-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15827 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "prometheus-jmx-exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 15829 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11324, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "prometheus-jmx-exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 15828 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11325, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-xkb-utils-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15830 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11326, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlstarlet", +"repository": "rhel8-AppStream" +} +], +"set_id": 15831 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11327, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xmlstarlet", +"repository": "rhel9-AppStream" +} +], +"set_id": 15832 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11329, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libestr-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15835 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libestr-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 15836 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11330, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipxe-bootimgs", +"repository": "rhel8-AppStream" +} +], +"set_id": 15837 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipxe-bootimgs-x86", +"repository": "rhel8-AppStream" +} +], +"set_id": 15838 +}, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11331, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ipxe-bootimgs-aarch64", +"repository": "rhel8-AppStream" +} +], +"set_id": 15839 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11332, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "jctools", +"repository": "rhel8-AppStream" +} +], +"set_id": 15840 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "log4j", +"stream": "2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jctools", +"repository": "rhel9-AppStream" +} +], +"set_id": 15841 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11333, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "disruptor", +"repository": "rhel8-AppStream" +} +], +"set_id": 15842 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "log4j", +"stream": "2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "disruptor", +"repository": "rhel9-AppStream" +} +], +"set_id": 15843 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11334, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "log4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 15844 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "log4j", +"stream": "2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4j", +"repository": "rhel9-AppStream" +} +], +"set_id": 15845 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11335, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "log4j-jcl", +"repository": "rhel8-AppStream" +} +], +"set_id": 15846 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "log4j", +"stream": "2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4j-jcl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15847 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11336, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "log4j", +"stream": "2" +} +], +"name": "log4j-slf4j", +"repository": "rhel8-AppStream" +} +], +"set_id": 15848 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "log4j", +"stream": "2" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "log4j-slf4j", +"repository": "rhel9-AppStream" +} +], +"set_id": 15849 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11338, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-plugin-annobin", +"repository": "rhel8-AppStream" +} +], +"set_id": 15864 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11339, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qt5-qtserialbus-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 15852 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 11340, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-accessibility-slowdebug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15853 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 11341, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-openjdk-accessibility-slowdebug", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15853 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 11342, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15854 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 11343, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15854 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11344, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-demo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15855 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11345, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-demo", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15855 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11347, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15857 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15857 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-jdbc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15858 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-jdbc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15858 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-headless", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15859 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-headless", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15859 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 11353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-plugin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15860 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 11354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-plugin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15860 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-src", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15861 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 11356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-src", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15861 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 11357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-webstart", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15862 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 11358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "java-1.8.0-ibm-webstart", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15862 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "prometheus-jmx-exporter-openjdk11", +"repository": "rhel8-AppStream" +} +], +"set_id": 15863 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "prometheus-jmx-exporter-openjdk11", +"repository": "rhel8-AppStream" +} +], +"set_id": 15863 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 15865 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-gdb", +"repository": "rhel9-AppStream" +} +], +"set_id": 15866 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils", +"repository": "rhel9-AppStream" +} +], +"set_id": 15869 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 15870 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "google-gson", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15872 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "batik-css", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15873 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "batik-css", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15873 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "batik-util", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15874 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "batik-util", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15874 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "sat4j", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15875 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "sat4j", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15875 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "directory-maven-plugin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15876 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "directory-maven-plugin", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15876 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "directory-maven-plugin-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15877 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "directory-maven-plugin-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15877 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-ecf-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15878 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-ecf-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15878 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-ecf-runtime", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15879 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-ecf-runtime", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15879 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-emf-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15880 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-emf-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15880 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-emf-runtime", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15881 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-emf-runtime", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15881 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-emf-xsd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15882 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-emf-xsd", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15882 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "felix-gogo-command", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15883 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "felix-gogo-command", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15883 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "felix-gogo-runtime", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15884 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "felix-gogo-runtime", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15884 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "felix-gogo-shell", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15885 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "felix-gogo-shell", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15885 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "felix-scr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15886 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11395, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "felix-scr", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15886 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11396, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-continuation", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15887 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11397, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-continuation", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15887 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11398, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-http", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15888 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11399, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-http", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15888 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11400, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-io", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15889 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11401, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-io", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15889 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11402, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-security", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15890 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11403, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-security", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15890 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11404, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-server", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15891 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11405, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-server", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15891 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11406, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-servlet", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15892 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11407, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-servlet", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15892 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11408, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-util", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15893 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11409, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "jetty-util", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15893 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11410, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "jaf-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15894 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11411, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "jaf-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15894 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11412, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-analysis", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15895 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11413, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-analysis", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15895 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-analyzers-smartcn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15896 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-analyzers-smartcn", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15896 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-queries", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15897 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-queries", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15897 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-queryparser", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15898 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-queryparser", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15898 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-sandbox", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15899 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "lucene-sandbox", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15899 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-equinox-osgi", +"repository": "rhel8-AppStream" +} +], +"set_id": 15900 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-equinox-osgi", +"repository": "rhel8-AppStream" +} +], +"set_id": 15900 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-jdt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15901 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-jdt", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15901 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-p2-discovery", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15902 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-p2-discovery", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15902 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-pde", +"repository": "rhel8-AppStream" +} +], +"set_id": 15903 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-pde", +"repository": "rhel8-AppStream" +} +], +"set_id": 15903 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-platform", +"repository": "rhel8-AppStream" +} +], +"set_id": 15904 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-platform", +"repository": "rhel8-AppStream" +} +], +"set_id": 15904 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-swt", +"repository": "rhel8-AppStream" +} +], +"set_id": 15905 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "eclipse", +"stream": "rhel8" +}, +null +], +"name": "eclipse-swt", +"repository": "rhel8-AppStream" +} +], +"set_id": 15905 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "HdrHistogram", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15906 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "HdrHistogram", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15906 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "HdrHistogram-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15907 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "HdrHistogram-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15907 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "jmc", +"repository": "rhel8-AppStream" +} +], +"set_id": 15908 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11439, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "jmc", +"repository": "rhel8-AppStream" +} +], +"set_id": 15908 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "jmc-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16286 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "jmc", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jmc-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 16287 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64" +], +"id": 11442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "lz4-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 15910 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64" +], +"id": 11443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "lz4-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 15910 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "lz4-java-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15911 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +}, +null +], +"name": "lz4-java-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15911 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le" +], +"id": 11446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-vdpau-drivers", +"repository": "rhel8-BaseOS" +} +], +"set_id": 15912 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 15915 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-lib", +"repository": "rhel9-AppStream" +} +], +"set_id": 15916 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 15917 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl", +"repository": "rhel9-AppStream" +} +], +"set_id": 15918 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Archive-Zip", +"repository": "rhel8-AppStream" +} +], +"set_id": 15919 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Archive-Zip", +"repository": "rhel9-AppStream" +} +], +"set_id": 15920 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xorg-x11-server-Xorg", +"repository": "rhel9-BaseOS" +} +], +"set_id": 16993 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Attribute-Handlers", +"repository": "rhel8-AppStream" +} +], +"set_id": 15922 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Attribute-Handlers", +"repository": "rhel9-AppStream" +} +], +"set_id": 15923 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-autodie", +"repository": "rhel8-AppStream" +} +], +"set_id": 15924 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-autodie", +"repository": "rhel9-AppStream" +} +], +"set_id": 15925 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-AutoLoader", +"repository": "rhel8-AppStream" +} +], +"set_id": 15926 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-AutoLoader", +"repository": "rhel9-AppStream" +} +], +"set_id": 15927 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11454, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-AutoSplit", +"repository": "rhel8-AppStream" +} +], +"set_id": 15928 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-AutoSplit", +"repository": "rhel9-AppStream" +} +], +"set_id": 15929 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11455, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-autouse", +"repository": "rhel8-AppStream" +} +], +"set_id": 15930 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-autouse", +"repository": "rhel9-AppStream" +} +], +"set_id": 15931 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-B", +"repository": "rhel8-AppStream" +} +], +"set_id": 15932 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-B", +"repository": "rhel9-AppStream" +} +], +"set_id": 15933 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 15934 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 15935 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Benchmark", +"repository": "rhel8-AppStream" +} +], +"set_id": 15936 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Benchmark", +"repository": "rhel9-AppStream" +} +], +"set_id": 15937 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-bignum", +"repository": "rhel8-AppStream" +} +], +"set_id": 15938 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-bignum", +"repository": "rhel9-AppStream" +} +], +"set_id": 15939 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Class-Struct", +"repository": "rhel8-AppStream" +} +], +"set_id": 15944 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Class-Struct", +"repository": "rhel9-AppStream" +} +], +"set_id": 15945 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Compress-Bzip2", +"repository": "rhel8-AppStream" +} +], +"set_id": 15946 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Compress-Bzip2", +"repository": "rhel9-AppStream" +} +], +"set_id": 15947 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Config-Extensions", +"repository": "rhel8-AppStream" +} +], +"set_id": 15950 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Config-Extensions", +"repository": "rhel9-AppStream" +} +], +"set_id": 15951 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Config-Perl-V", +"repository": "rhel8-AppStream" +} +], +"set_id": 15952 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Config-Perl-V", +"repository": "rhel9-AppStream" +} +], +"set_id": 15953 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN", +"repository": "rhel8-AppStream" +} +], +"set_id": 15954 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPAN", +"repository": "rhel9-AppStream" +} +], +"set_id": 15955 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN-Meta", +"repository": "rhel8-AppStream" +} +], +"set_id": 15956 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPAN-Meta", +"repository": "rhel9-AppStream" +} +], +"set_id": 15957 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN-Meta-Requirements", +"repository": "rhel8-AppStream" +} +], +"set_id": 15958 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPAN-Meta-Requirements", +"repository": "rhel9-AppStream" +} +], +"set_id": 15959 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11467, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN-Meta-YAML", +"repository": "rhel8-AppStream" +} +], +"set_id": 15960 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-CPAN-Meta-YAML", +"repository": "rhel9-AppStream" +} +], +"set_id": 15961 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Data-OptList", +"repository": "rhel8-AppStream" +} +], +"set_id": 15962 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-OptList", +"repository": "rhel9-AppStream" +} +], +"set_id": 15963 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Data-Section", +"repository": "rhel8-AppStream" +} +], +"set_id": 15964 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-Section", +"repository": "rhel9-AppStream" +} +], +"set_id": 15965 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-DB_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 15966 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DB_File", +"repository": "rhel9-AppStream" +} +], +"set_id": 15967 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-DBM_Filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 15968 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBM_Filter", +"repository": "rhel9-AppStream" +} +], +"set_id": 15969 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-debugger", +"repository": "rhel8-AppStream" +} +], +"set_id": 15970 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-debugger", +"repository": "rhel9-AppStream" +} +], +"set_id": 15971 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-deprecate", +"repository": "rhel8-AppStream" +} +], +"set_id": 15972 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-deprecate", +"repository": "rhel9-AppStream" +} +], +"set_id": 15973 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 15974 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 15975 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Devel-Peek", +"repository": "rhel8-AppStream" +} +], +"set_id": 15976 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Peek", +"repository": "rhel9-AppStream" +} +], +"set_id": 15977 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Devel-PPPort", +"repository": "rhel8-AppStream" +} +], +"set_id": 15978 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-PPPort", +"repository": "rhel9-AppStream" +} +], +"set_id": 15979 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Devel-SelfStubber", +"repository": "rhel8-AppStream" +} +], +"set_id": 15980 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-SelfStubber", +"repository": "rhel9-AppStream" +} +], +"set_id": 15981 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Devel-Size", +"repository": "rhel8-AppStream" +} +], +"set_id": 15982 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Devel-Size", +"repository": "rhel9-AppStream" +} +], +"set_id": 15983 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-diagnostics", +"repository": "rhel8-AppStream" +} +], +"set_id": 15984 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-diagnostics", +"repository": "rhel9-AppStream" +} +], +"set_id": 15985 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Digest", +"repository": "rhel8-AppStream" +} +], +"set_id": 15986 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest", +"repository": "rhel9-AppStream" +} +], +"set_id": 15987 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Digest-MD5", +"repository": "rhel8-AppStream" +} +], +"set_id": 15988 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-MD5", +"repository": "rhel9-AppStream" +} +], +"set_id": 15989 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Digest-SHA", +"repository": "rhel8-AppStream" +} +], +"set_id": 15990 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-SHA", +"repository": "rhel9-AppStream" +} +], +"set_id": 15991 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-DirHandle", +"repository": "rhel8-AppStream" +} +], +"set_id": 15992 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DirHandle", +"repository": "rhel9-AppStream" +} +], +"set_id": 15993 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 15994 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 15995 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Dumpvalue", +"repository": "rhel8-AppStream" +} +], +"set_id": 15996 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Dumpvalue", +"repository": "rhel9-AppStream" +} +], +"set_id": 15997 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-DynaLoader", +"repository": "rhel8-AppStream" +} +], +"set_id": 15998 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DynaLoader", +"repository": "rhel9-AppStream" +} +], +"set_id": 15999 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Encode", +"repository": "rhel8-AppStream" +} +], +"set_id": 16000 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Encode", +"repository": "rhel9-AppStream" +} +], +"set_id": 16001 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Encode-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16002 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Encode-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 16003 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-encoding", +"repository": "rhel8-AppStream" +} +], +"set_id": 16004 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-encoding", +"repository": "rhel9-AppStream" +} +], +"set_id": 16005 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-encoding-warnings", +"repository": "rhel8-AppStream" +} +], +"set_id": 16006 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-encoding-warnings", +"repository": "rhel9-AppStream" +} +], +"set_id": 16007 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-English", +"repository": "rhel8-AppStream" +} +], +"set_id": 16008 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-English", +"repository": "rhel9-AppStream" +} +], +"set_id": 16009 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Env", +"repository": "rhel8-AppStream" +} +], +"set_id": 16010 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Env", +"repository": "rhel9-AppStream" +} +], +"set_id": 16011 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-experimental", +"repository": "rhel8-AppStream" +} +], +"set_id": 16012 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-experimental", +"repository": "rhel9-AppStream" +} +], +"set_id": 16013 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-CBuilder", +"repository": "rhel8-AppStream" +} +], +"set_id": 16014 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-CBuilder", +"repository": "rhel9-AppStream" +} +], +"set_id": 16015 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Command", +"repository": "rhel8-AppStream" +} +], +"set_id": 16016 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Command", +"repository": "rhel9-AppStream" +} +], +"set_id": 16017 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Constant", +"repository": "rhel8-AppStream" +} +], +"set_id": 16018 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Constant", +"repository": "rhel9-AppStream" +} +], +"set_id": 16019 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Embed", +"repository": "rhel8-AppStream" +} +], +"set_id": 16020 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Embed", +"repository": "rhel9-AppStream" +} +], +"set_id": 16021 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Install", +"repository": "rhel8-AppStream" +} +], +"set_id": 16022 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Install", +"repository": "rhel9-AppStream" +} +], +"set_id": 16023 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-MakeMaker", +"repository": "rhel8-AppStream" +} +], +"set_id": 16024 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-MakeMaker", +"repository": "rhel9-AppStream" +} +], +"set_id": 16025 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Manifest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16026 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Manifest", +"repository": "rhel9-AppStream" +} +], +"set_id": 16027 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Miniperl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16028 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Miniperl", +"repository": "rhel9-AppStream" +} +], +"set_id": 16029 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-MM-Utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16030 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-MM-Utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 16031 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-ParseXS", +"repository": "rhel8-AppStream" +} +], +"set_id": 16032 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-ParseXS", +"repository": "rhel9-AppStream" +} +], +"set_id": 16033 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Fcntl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16034 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Fcntl", +"repository": "rhel9-AppStream" +} +], +"set_id": 16035 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Fedora-VSP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16036 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Fedora-VSP", +"repository": "rhel9-AppStream" +} +], +"set_id": 16037 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-fields", +"repository": "rhel8-AppStream" +} +], +"set_id": 16038 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-fields", +"repository": "rhel9-AppStream" +} +], +"set_id": 16039 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Basename", +"repository": "rhel8-AppStream" +} +], +"set_id": 16040 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Basename", +"repository": "rhel9-AppStream" +} +], +"set_id": 16041 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-FileCache", +"repository": "rhel8-AppStream" +} +], +"set_id": 16042 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-FileCache", +"repository": "rhel9-AppStream" +} +], +"set_id": 16043 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Compare", +"repository": "rhel8-AppStream" +} +], +"set_id": 16044 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Compare", +"repository": "rhel9-AppStream" +} +], +"set_id": 16045 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Copy", +"repository": "rhel8-AppStream" +} +], +"set_id": 16046 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Copy", +"repository": "rhel9-AppStream" +} +], +"set_id": 16047 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-DosGlob", +"repository": "rhel8-AppStream" +} +], +"set_id": 16048 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-DosGlob", +"repository": "rhel9-AppStream" +} +], +"set_id": 16049 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Fetch", +"repository": "rhel8-AppStream" +} +], +"set_id": 16050 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Fetch", +"repository": "rhel9-AppStream" +} +], +"set_id": 16051 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Find", +"repository": "rhel8-AppStream" +} +], +"set_id": 16052 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Find", +"repository": "rhel9-AppStream" +} +], +"set_id": 16053 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-FileHandle", +"repository": "rhel8-AppStream" +} +], +"set_id": 16054 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-FileHandle", +"repository": "rhel9-AppStream" +} +], +"set_id": 16055 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-HomeDir", +"repository": "rhel8-AppStream" +} +], +"set_id": 16056 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-HomeDir", +"repository": "rhel9-AppStream" +} +], +"set_id": 16057 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-stat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16058 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-stat", +"repository": "rhel9-AppStream" +} +], +"set_id": 16059 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-filetest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16060 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-filetest", +"repository": "rhel9-AppStream" +} +], +"set_id": 16061 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Which", +"repository": "rhel8-AppStream" +} +], +"set_id": 16062 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Which", +"repository": "rhel9-AppStream" +} +], +"set_id": 16063 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16064 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Filter", +"repository": "rhel9-AppStream" +} +], +"set_id": 16065 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Filter-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16066 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Filter-Simple", +"repository": "rhel9-AppStream" +} +], +"set_id": 16067 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-FindBin", +"repository": "rhel8-AppStream" +} +], +"set_id": 16068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-FindBin", +"repository": "rhel9-AppStream" +} +], +"set_id": 16069 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-GDBM_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16070 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-GDBM_File", +"repository": "rhel9-AppStream" +} +], +"set_id": 16071 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-generators", +"repository": "rhel8-AppStream" +} +], +"set_id": 16072 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-generators", +"repository": "rhel9-AppStream" +} +], +"set_id": 16073 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Getopt-Std", +"repository": "rhel8-AppStream" +} +], +"set_id": 16074 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Getopt-Std", +"repository": "rhel9-AppStream" +} +], +"set_id": 16075 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Hash-Util", +"repository": "rhel8-AppStream" +} +], +"set_id": 16076 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Hash-Util", +"repository": "rhel9-AppStream" +} +], +"set_id": 16077 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Hash-Util-FieldHash", +"repository": "rhel8-AppStream" +} +], +"set_id": 16078 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Hash-Util-FieldHash", +"repository": "rhel9-AppStream" +} +], +"set_id": 16079 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-I18N-Collate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16082 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-I18N-Collate", +"repository": "rhel9-AppStream" +} +], +"set_id": 16083 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-I18N-LangTags", +"repository": "rhel8-AppStream" +} +], +"set_id": 16084 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-I18N-LangTags", +"repository": "rhel9-AppStream" +} +], +"set_id": 16085 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-if", +"repository": "rhel8-AppStream" +} +], +"set_id": 16086 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-if", +"repository": "rhel9-AppStream" +} +], +"set_id": 16087 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-inc-latest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16088 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-inc-latest", +"repository": "rhel9-AppStream" +} +], +"set_id": 16089 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11532, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO-Socket-IP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16090 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Socket-IP", +"repository": "rhel9-AppStream" +} +], +"set_id": 16091 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IPC-Cmd", +"repository": "rhel8-AppStream" +} +], +"set_id": 16092 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IPC-Cmd", +"repository": "rhel9-AppStream" +} +], +"set_id": 16093 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IPC-Open3", +"repository": "rhel8-AppStream" +} +], +"set_id": 16094 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IPC-Open3", +"repository": "rhel9-AppStream" +} +], +"set_id": 16095 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11535, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IPC-System-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16096 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IPC-System-Simple", +"repository": "rhel9-AppStream" +} +], +"set_id": 16097 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IPC-SysV", +"repository": "rhel8-AppStream" +} +], +"set_id": 16098 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IPC-SysV", +"repository": "rhel9-AppStream" +} +], +"set_id": 16099 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-JSON-PP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16100 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-JSON-PP", +"repository": "rhel9-AppStream" +} +], +"set_id": 16101 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-less", +"repository": "rhel8-AppStream" +} +], +"set_id": 16102 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-less", +"repository": "rhel9-AppStream" +} +], +"set_id": 16103 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-libnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 16104 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libnet", +"repository": "rhel9-AppStream" +} +], +"set_id": 16105 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-libnetcfg", +"repository": "rhel8-AppStream" +} +], +"set_id": 16106 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libnetcfg", +"repository": "rhel9-AppStream" +} +], +"set_id": 16107 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-locale", +"repository": "rhel8-AppStream" +} +], +"set_id": 16108 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-locale", +"repository": "rhel9-AppStream" +} +], +"set_id": 16109 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Locale-Maketext", +"repository": "rhel8-AppStream" +} +], +"set_id": 16110 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Locale-Maketext", +"repository": "rhel9-AppStream" +} +], +"set_id": 16111 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Locale-Maketext-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16112 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Locale-Maketext-Simple", +"repository": "rhel9-AppStream" +} +], +"set_id": 16113 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-local-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-local-lib", +"repository": "rhel9-AppStream" +} +], +"set_id": 16115 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Math-BigInt", +"repository": "rhel8-AppStream" +} +], +"set_id": 16116 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Math-BigInt", +"repository": "rhel9-AppStream" +} +], +"set_id": 16117 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Math-BigInt-FastCalc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16118 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Math-BigInt-FastCalc", +"repository": "rhel9-AppStream" +} +], +"set_id": 16119 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Math-BigRat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16120 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Math-BigRat", +"repository": "rhel9-AppStream" +} +], +"set_id": 16121 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11548, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Memoize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16122 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Memoize", +"repository": "rhel9-AppStream" +} +], +"set_id": 16123 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-meta-notation", +"repository": "rhel8-AppStream" +} +], +"set_id": 16124 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-meta-notation", +"repository": "rhel9-AppStream" +} +], +"set_id": 16125 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11550, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Build", +"repository": "rhel8-AppStream" +} +], +"set_id": 16126 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Build", +"repository": "rhel9-AppStream" +} +], +"set_id": 16127 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-CoreList", +"repository": "rhel8-AppStream" +} +], +"set_id": 16128 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-CoreList", +"repository": "rhel9-AppStream" +} +], +"set_id": 16129 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11552, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-CoreList-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 16130 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-CoreList-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 16131 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Load", +"repository": "rhel8-AppStream" +} +], +"set_id": 16132 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Load", +"repository": "rhel9-AppStream" +} +], +"set_id": 16133 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Load-Conditional", +"repository": "rhel8-AppStream" +} +], +"set_id": 16134 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Load-Conditional", +"repository": "rhel9-AppStream" +} +], +"set_id": 16135 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Loaded", +"repository": "rhel8-AppStream" +} +], +"set_id": 16136 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Loaded", +"repository": "rhel9-AppStream" +} +], +"set_id": 16137 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Metadata", +"repository": "rhel8-AppStream" +} +], +"set_id": 16138 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Module-Metadata", +"repository": "rhel9-AppStream" +} +], +"set_id": 16139 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-mro", +"repository": "rhel8-AppStream" +} +], +"set_id": 16140 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-mro", +"repository": "rhel9-AppStream" +} +], +"set_id": 16141 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-MRO-Compat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16142 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-MRO-Compat", +"repository": "rhel9-AppStream" +} +], +"set_id": 16143 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-NDBM_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16144 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-NDBM_File", +"repository": "rhel9-AppStream" +} +], +"set_id": 16145 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Net", +"repository": "rhel8-AppStream" +} +], +"set_id": 16146 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net", +"repository": "rhel9-AppStream" +} +], +"set_id": 16147 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Net-Ping", +"repository": "rhel8-AppStream" +} +], +"set_id": 16148 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-Ping", +"repository": "rhel9-AppStream" +} +], +"set_id": 16149 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-NEXT", +"repository": "rhel8-AppStream" +} +], +"set_id": 16150 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-NEXT", +"repository": "rhel9-AppStream" +} +], +"set_id": 16151 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ODBM_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16152 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ODBM_File", +"repository": "rhel9-AppStream" +} +], +"set_id": 16153 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Opcode", +"repository": "rhel8-AppStream" +} +], +"set_id": 16154 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Opcode", +"repository": "rhel9-AppStream" +} +], +"set_id": 16155 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-open", +"repository": "rhel8-AppStream" +} +], +"set_id": 16156 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-open", +"repository": "rhel9-AppStream" +} +], +"set_id": 16157 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-overload", +"repository": "rhel8-AppStream" +} +], +"set_id": 16158 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-overload", +"repository": "rhel9-AppStream" +} +], +"set_id": 16159 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-overloading", +"repository": "rhel8-AppStream" +} +], +"set_id": 16160 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-overloading", +"repository": "rhel9-AppStream" +} +], +"set_id": 16161 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Package-Generator", +"repository": "rhel8-AppStream" +} +], +"set_id": 16162 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Package-Generator", +"repository": "rhel9-AppStream" +} +], +"set_id": 16163 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Params-Check", +"repository": "rhel8-AppStream" +} +], +"set_id": 16164 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Params-Check", +"repository": "rhel9-AppStream" +} +], +"set_id": 16165 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Params-Util", +"repository": "rhel8-AppStream" +} +], +"set_id": 16166 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Params-Util", +"repository": "rhel9-AppStream" +} +], +"set_id": 16167 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-perlfaq", +"repository": "rhel8-AppStream" +} +], +"set_id": 16168 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-perlfaq", +"repository": "rhel9-AppStream" +} +], +"set_id": 16169 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-PerlIO-via-QuotedPrint", +"repository": "rhel8-AppStream" +} +], +"set_id": 16170 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-PerlIO-via-QuotedPrint", +"repository": "rhel9-AppStream" +} +], +"set_id": 16171 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11573, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Perl-OSType", +"repository": "rhel8-AppStream" +} +], +"set_id": 16172 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Perl-OSType", +"repository": "rhel9-AppStream" +} +], +"set_id": 16173 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ph", +"repository": "rhel8-AppStream" +} +], +"set_id": 16174 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ph", +"repository": "rhel9-AppStream" +} +], +"set_id": 16175 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Checker", +"repository": "rhel8-AppStream" +} +], +"set_id": 16176 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Checker", +"repository": "rhel9-AppStream" +} +], +"set_id": 16177 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Functions", +"repository": "rhel8-AppStream" +} +], +"set_id": 16178 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Functions", +"repository": "rhel9-AppStream" +} +], +"set_id": 16179 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Html", +"repository": "rhel8-AppStream" +} +], +"set_id": 16180 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Html", +"repository": "rhel9-AppStream" +} +], +"set_id": 16181 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-POSIX", +"repository": "rhel8-AppStream" +} +], +"set_id": 16182 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-POSIX", +"repository": "rhel9-AppStream" +} +], +"set_id": 16183 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Safe", +"repository": "rhel8-AppStream" +} +], +"set_id": 16184 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Safe", +"repository": "rhel9-AppStream" +} +], +"set_id": 16185 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Search-Dict", +"repository": "rhel8-AppStream" +} +], +"set_id": 16186 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Search-Dict", +"repository": "rhel9-AppStream" +} +], +"set_id": 16187 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-SelectSaver", +"repository": "rhel8-AppStream" +} +], +"set_id": 16188 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-SelectSaver", +"repository": "rhel9-AppStream" +} +], +"set_id": 16189 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-SelfLoader", +"repository": "rhel8-AppStream" +} +], +"set_id": 16190 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-SelfLoader", +"repository": "rhel9-AppStream" +} +], +"set_id": 16191 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-sigtrap", +"repository": "rhel8-AppStream" +} +], +"set_id": 16192 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-sigtrap", +"repository": "rhel9-AppStream" +} +], +"set_id": 16193 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Software-License", +"repository": "rhel8-AppStream" +} +], +"set_id": 16194 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Software-License", +"repository": "rhel9-AppStream" +} +], +"set_id": 16195 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-sort", +"repository": "rhel8-AppStream" +} +], +"set_id": 16196 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-sort", +"repository": "rhel9-AppStream" +} +], +"set_id": 16197 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Sub-Exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16198 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sub-Exporter", +"repository": "rhel9-AppStream" +} +], +"set_id": 16199 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Sub-Install", +"repository": "rhel8-AppStream" +} +], +"set_id": 16200 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sub-Install", +"repository": "rhel9-AppStream" +} +], +"set_id": 16201 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-subs", +"repository": "rhel8-AppStream" +} +], +"set_id": 16202 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-subs", +"repository": "rhel9-AppStream" +} +], +"set_id": 16203 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Symbol", +"repository": "rhel8-AppStream" +} +], +"set_id": 16204 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Symbol", +"repository": "rhel9-AppStream" +} +], +"set_id": 16205 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Sys-Hostname", +"repository": "rhel8-AppStream" +} +], +"set_id": 16206 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sys-Hostname", +"repository": "rhel9-AppStream" +} +], +"set_id": 16207 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Sys-Syslog", +"repository": "rhel8-AppStream" +} +], +"set_id": 16208 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Sys-Syslog", +"repository": "rhel9-AppStream" +} +], +"set_id": 16209 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-Complete", +"repository": "rhel8-AppStream" +} +], +"set_id": 16210 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-Complete", +"repository": "rhel9-AppStream" +} +], +"set_id": 16211 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-ReadLine", +"repository": "rhel8-AppStream" +} +], +"set_id": 16212 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Term-ReadLine", +"repository": "rhel9-AppStream" +} +], +"set_id": 16213 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Test", +"repository": "rhel8-AppStream" +} +], +"set_id": 16283 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test", +"repository": "rhel9-AppStream" +} +], +"set_id": 16284 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Test-Harness", +"repository": "rhel8-AppStream" +} +], +"set_id": 16216 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Harness", +"repository": "rhel9-AppStream" +} +], +"set_id": 16217 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Test-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16218 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Test-Simple", +"repository": "rhel9-AppStream" +} +], +"set_id": 16219 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Abbrev", +"repository": "rhel8-AppStream" +} +], +"set_id": 16220 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Abbrev", +"repository": "rhel9-AppStream" +} +], +"set_id": 16221 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11598, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Balanced", +"repository": "rhel8-AppStream" +} +], +"set_id": 16222 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Balanced", +"repository": "rhel9-AppStream" +} +], +"set_id": 16223 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11599, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Glob", +"repository": "rhel8-AppStream" +} +], +"set_id": 16224 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Glob", +"repository": "rhel9-AppStream" +} +], +"set_id": 16225 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11600, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Template", +"repository": "rhel8-AppStream" +} +], +"set_id": 16226 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Text-Template", +"repository": "rhel9-AppStream" +} +], +"set_id": 16227 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11601, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Thread", +"repository": "rhel8-AppStream" +} +], +"set_id": 16228 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Thread", +"repository": "rhel9-AppStream" +} +], +"set_id": 16229 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11602, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Thread-Queue", +"repository": "rhel8-AppStream" +} +], +"set_id": 16230 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Thread-Queue", +"repository": "rhel9-AppStream" +} +], +"set_id": 16231 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11603, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Thread-Semaphore", +"repository": "rhel8-AppStream" +} +], +"set_id": 16232 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Thread-Semaphore", +"repository": "rhel9-AppStream" +} +], +"set_id": 16233 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11604, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Tie", +"repository": "rhel8-AppStream" +} +], +"set_id": 16234 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tie", +"repository": "rhel9-AppStream" +} +], +"set_id": 16235 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11605, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Tie-File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16236 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tie-File", +"repository": "rhel9-AppStream" +} +], +"set_id": 16237 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11606, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Tie-Memoize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16238 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tie-Memoize", +"repository": "rhel9-AppStream" +} +], +"set_id": 16239 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11607, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Tie-RefHash", +"repository": "rhel8-AppStream" +} +], +"set_id": 16240 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Tie-RefHash", +"repository": "rhel9-AppStream" +} +], +"set_id": 16241 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11608, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Time", +"repository": "rhel8-AppStream" +} +], +"set_id": 16242 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Time", +"repository": "rhel9-AppStream" +} +], +"set_id": 16243 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11609, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Time-HiRes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16244 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Time-HiRes", +"repository": "rhel9-AppStream" +} +], +"set_id": 16245 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11610, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Time-Piece", +"repository": "rhel8-AppStream" +} +], +"set_id": 16246 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Time-Piece", +"repository": "rhel9-AppStream" +} +], +"set_id": 16247 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11611, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Unicode-Collate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16248 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-Collate", +"repository": "rhel9-AppStream" +} +], +"set_id": 16249 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Unicode-UCD", +"repository": "rhel8-AppStream" +} +], +"set_id": 16250 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-UCD", +"repository": "rhel9-AppStream" +} +], +"set_id": 16251 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-URI", +"repository": "rhel8-AppStream" +} +], +"set_id": 16252 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-URI", +"repository": "rhel9-AppStream" +} +], +"set_id": 16253 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-User-pwent", +"repository": "rhel8-AppStream" +} +], +"set_id": 16254 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-User-pwent", +"repository": "rhel9-AppStream" +} +], +"set_id": 16255 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11615, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16256 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-utils", +"repository": "rhel9-AppStream" +} +], +"set_id": 16257 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11616, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-vars", +"repository": "rhel8-AppStream" +} +], +"set_id": 16258 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-vars", +"repository": "rhel9-AppStream" +} +], +"set_id": 16259 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11617, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +}, +{ +"name": "perl", +"stream": "5.30" +}, +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-version", +"repository": "rhel8-AppStream" +} +], +"set_id": 16260 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.30" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-version", +"repository": "rhel9-AppStream" +} +], +"set_id": 16261 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11618, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-vmsish", +"repository": "rhel8-AppStream" +} +], +"set_id": 16262 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-vmsish", +"repository": "rhel9-AppStream" +} +], +"set_id": 16263 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11619, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-blib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16264 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-blib", +"repository": "rhel9-AppStream" +} +], +"set_id": 16265 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11620, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-I18N-Langinfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 16266 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-I18N-Langinfo", +"repository": "rhel9-AppStream" +} +], +"set_id": 16267 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11621, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Compress-Raw-Lzma", +"repository": "rhel8-AppStream" +} +], +"set_id": 16270 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Compress-Raw-Lzma", +"repository": "rhel9-AppStream" +} +], +"set_id": 16271 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11622, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO-Compress-Lzma", +"repository": "rhel8-AppStream" +} +], +"set_id": 16272 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.32" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Compress-Lzma", +"repository": "rhel9-AppStream" +} +], +"set_id": 16273 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11623, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16275 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "perl", +"stream": "5.24" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-AutoLoader", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-AutoSplit", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-autouse", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-B", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-base", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Benchmark", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-blib", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Class-Struct", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Config-Extensions", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-DBM_Filter", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-debugger", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-deprecate", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-diagnostics", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-DirHandle", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-doc", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Dumpvalue", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-DynaLoader", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-encoding-warnings", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-English", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-ExtUtils-Constant", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Fcntl", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-fields", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-Basename", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-FileCache", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-Compare", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-Copy", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-DosGlob", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-Find", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-FileHandle", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-File-stat", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-filetest", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-FindBin", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-GDBM_File", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Getopt-Std", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Hash-Util", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Hash-Util-FieldHash", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-I18N-Collate", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-I18N-Langinfo", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-I18N-LangTags", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-if", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-interpreter", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-IPC-Open3", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-less", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-lib", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-libs", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-locale", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-meta-notation", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-mro", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-NDBM_File", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Net", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-NEXT", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-ODBM_File", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Opcode", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-overload", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-overloading", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-ph", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Pod-Functions", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-POSIX", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Safe", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Search-Dict", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-SelectSaver", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-sigtrap", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-sort", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-subs", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Symbol", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Sys-Hostname", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Term-Complete", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Term-ReadLine", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Text-Abbrev", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Thread", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Thread-Semaphore", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Tie", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Tie-File", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Tie-Memoize", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Tie-RefHash", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Time", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-Unicode-UCD", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-User-pwent", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-vars", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "perl-vmsish", +"repository": "rhel9-AppStream" +} +], +"set_id": 16276 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11624, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spax", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16277 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11625, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "spax", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16277 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11626, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "star", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16278 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11627, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "star", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16278 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11628, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpng12", +"repository": "rhel8-AppStream" +} +], +"set_id": 16279 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11629, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncompress", +"repository": "rhel8-AppStream" +} +], +"set_id": 16280 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11630, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ncompress", +"repository": "rhel8-AppStream" +} +], +"set_id": 16280 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11631, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "lasso-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 16285 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11632, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "jmc-core-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16288 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11633, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "owasp-java-encoder", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16290 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "jmc", +"stream": "rhel8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "owasp-java-encoder", +"repository": "rhel9-BaseOS" +} +], +"set_id": 16291 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11634, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jmc", +"stream": "rhel8" +} +], +"name": "owasp-java-encoder-javadoc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16292 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 11635, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16294 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11636, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Algorithm-Diff", +"repository": "rhel8-AppStream" +} +], +"set_id": 16295 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11637, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Archive-Tar", +"repository": "rhel8-AppStream" +} +], +"set_id": 16296 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11638, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Archive-Zip", +"repository": "rhel8-AppStream" +} +], +"set_id": 16297 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11639, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Attribute-Handlers", +"repository": "rhel8-AppStream" +} +], +"set_id": 16298 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11640, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-autodie", +"repository": "rhel8-AppStream" +} +], +"set_id": 16299 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11641, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-AutoLoader", +"repository": "rhel8-AppStream" +} +], +"set_id": 16300 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11642, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-AutoSplit", +"repository": "rhel8-AppStream" +} +], +"set_id": 16301 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11643, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-autouse", +"repository": "rhel8-AppStream" +} +], +"set_id": 16302 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11644, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-B", +"repository": "rhel8-AppStream" +} +], +"set_id": 16303 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 16304 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Benchmark", +"repository": "rhel8-AppStream" +} +], +"set_id": 16305 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-bignum", +"repository": "rhel8-AppStream" +} +], +"set_id": 16306 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-blib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16307 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Carp", +"repository": "rhel8-AppStream" +} +], +"set_id": 16308 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Class-Struct", +"repository": "rhel8-AppStream" +} +], +"set_id": 16309 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11651, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Compress-Bzip2", +"repository": "rhel8-AppStream" +} +], +"set_id": 16310 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Compress-Raw-Bzip2", +"repository": "rhel8-AppStream" +} +], +"set_id": 16311 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Compress-Raw-Lzma", +"repository": "rhel8-AppStream" +} +], +"set_id": 16312 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Compress-Raw-Zlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16313 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Config-Extensions", +"repository": "rhel8-AppStream" +} +], +"set_id": 16314 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Config-Perl-V", +"repository": "rhel8-AppStream" +} +], +"set_id": 16315 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-constant", +"repository": "rhel8-AppStream" +} +], +"set_id": 16316 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN", +"repository": "rhel8-AppStream" +} +], +"set_id": 16317 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN-DistnameInfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 16318 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN-Meta", +"repository": "rhel8-AppStream" +} +], +"set_id": 16319 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN-Meta-Requirements", +"repository": "rhel8-AppStream" +} +], +"set_id": 16320 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-CPAN-Meta-YAML", +"repository": "rhel8-AppStream" +} +], +"set_id": 16321 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Data-Dumper", +"repository": "rhel8-AppStream" +} +], +"set_id": 16322 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Data-OptList", +"repository": "rhel8-AppStream" +} +], +"set_id": 16323 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Data-Section", +"repository": "rhel8-AppStream" +} +], +"set_id": 16324 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-DB_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16325 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-DBM_Filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16326 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-debugger", +"repository": "rhel8-AppStream" +} +], +"set_id": 16327 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-deprecate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16328 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11670, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16329 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11671, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Devel-Peek", +"repository": "rhel8-AppStream" +} +], +"set_id": 16330 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11672, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Devel-PPPort", +"repository": "rhel8-AppStream" +} +], +"set_id": 16331 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11673, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Devel-SelfStubber", +"repository": "rhel8-AppStream" +} +], +"set_id": 16332 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11674, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Devel-Size", +"repository": "rhel8-AppStream" +} +], +"set_id": 16333 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11675, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-diagnostics", +"repository": "rhel8-AppStream" +} +], +"set_id": 16334 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11676, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Digest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16335 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11677, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Digest-MD5", +"repository": "rhel8-AppStream" +} +], +"set_id": 16336 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11678, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Digest-SHA", +"repository": "rhel8-AppStream" +} +], +"set_id": 16337 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11679, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-DirHandle", +"repository": "rhel8-AppStream" +} +], +"set_id": 16338 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11680, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16339 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11681, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Dumpvalue", +"repository": "rhel8-AppStream" +} +], +"set_id": 16340 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11682, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-DynaLoader", +"repository": "rhel8-AppStream" +} +], +"set_id": 16341 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11683, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Encode", +"repository": "rhel8-AppStream" +} +], +"set_id": 16342 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11684, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Encode-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16343 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11685, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Encode-Locale", +"repository": "rhel8-AppStream" +} +], +"set_id": 16344 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11686, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-encoding", +"repository": "rhel8-AppStream" +} +], +"set_id": 16345 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11687, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-encoding-warnings", +"repository": "rhel8-AppStream" +} +], +"set_id": 16346 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11688, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-English", +"repository": "rhel8-AppStream" +} +], +"set_id": 16347 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11689, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Env", +"repository": "rhel8-AppStream" +} +], +"set_id": 16348 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11690, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Errno", +"repository": "rhel8-AppStream" +} +], +"set_id": 16349 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11691, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-experimental", +"repository": "rhel8-AppStream" +} +], +"set_id": 16350 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11692, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16351 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11693, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-CBuilder", +"repository": "rhel8-AppStream" +} +], +"set_id": 16352 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11694, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Command", +"repository": "rhel8-AppStream" +} +], +"set_id": 16353 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11695, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Constant", +"repository": "rhel8-AppStream" +} +], +"set_id": 16354 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11696, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Embed", +"repository": "rhel8-AppStream" +} +], +"set_id": 16355 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11697, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Install", +"repository": "rhel8-AppStream" +} +], +"set_id": 16356 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11698, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-MakeMaker", +"repository": "rhel8-AppStream" +} +], +"set_id": 16357 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11699, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Manifest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16358 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11700, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-Miniperl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16359 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11701, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-MM-Utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16360 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11702, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ExtUtils-ParseXS", +"repository": "rhel8-AppStream" +} +], +"set_id": 16361 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11703, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Fcntl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16362 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11704, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Fedora-VSP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16363 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11705, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-fields", +"repository": "rhel8-AppStream" +} +], +"set_id": 16364 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11706, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Basename", +"repository": "rhel8-AppStream" +} +], +"set_id": 16365 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11707, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-FileCache", +"repository": "rhel8-AppStream" +} +], +"set_id": 16366 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11708, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Compare", +"repository": "rhel8-AppStream" +} +], +"set_id": 16367 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11709, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Copy", +"repository": "rhel8-AppStream" +} +], +"set_id": 16368 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11710, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-DosGlob", +"repository": "rhel8-AppStream" +} +], +"set_id": 16369 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11711, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Fetch", +"repository": "rhel8-AppStream" +} +], +"set_id": 16370 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11712, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Find", +"repository": "rhel8-AppStream" +} +], +"set_id": 16371 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11713, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-FileHandle", +"repository": "rhel8-AppStream" +} +], +"set_id": 16372 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11714, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-HomeDir", +"repository": "rhel8-AppStream" +} +], +"set_id": 16373 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11715, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Path", +"repository": "rhel8-AppStream" +} +], +"set_id": 16374 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11716, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-stat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16375 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11717, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Temp", +"repository": "rhel8-AppStream" +} +], +"set_id": 16376 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11718, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-filetest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16377 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11719, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-File-Which", +"repository": "rhel8-AppStream" +} +], +"set_id": 16378 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11720, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16379 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11721, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Filter-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16380 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11722, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-FindBin", +"repository": "rhel8-AppStream" +} +], +"set_id": 16381 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11723, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-GDBM_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16382 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11724, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-generators", +"repository": "rhel8-AppStream" +} +], +"set_id": 16383 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11725, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Getopt-Long", +"repository": "rhel8-AppStream" +} +], +"set_id": 16384 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11726, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Getopt-Std", +"repository": "rhel8-AppStream" +} +], +"set_id": 16385 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11727, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Hash-Util", +"repository": "rhel8-AppStream" +} +], +"set_id": 16386 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11728, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Hash-Util-FieldHash", +"repository": "rhel8-AppStream" +} +], +"set_id": 16387 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11729, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-homedir", +"repository": "rhel8-AppStream" +} +], +"set_id": 16388 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11730, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-HTTP-Tiny", +"repository": "rhel8-AppStream" +} +], +"set_id": 16389 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11731, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-if", +"repository": "rhel8-AppStream" +} +], +"set_id": 16390 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11732, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Importer", +"repository": "rhel8-AppStream" +} +], +"set_id": 16391 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11733, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-inc-latest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16392 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11734, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-interpreter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16393 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11735, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO", +"repository": "rhel8-AppStream" +} +], +"set_id": 16394 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11736, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO-Compress", +"repository": "rhel8-AppStream" +} +], +"set_id": 16395 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11737, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO-Compress-Lzma", +"repository": "rhel8-AppStream" +} +], +"set_id": 16396 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11738, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO-Socket-IP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16397 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11739, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IO-Zlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16398 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11740, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IPC-Cmd", +"repository": "rhel8-AppStream" +} +], +"set_id": 16399 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11741, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IPC-Open3", +"repository": "rhel8-AppStream" +} +], +"set_id": 16400 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11742, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IPC-System-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16401 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11743, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-IPC-SysV", +"repository": "rhel8-AppStream" +} +], +"set_id": 16402 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11744, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-I18N-Collate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16403 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11745, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-I18N-Langinfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 16404 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11746, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-I18N-LangTags", +"repository": "rhel8-AppStream" +} +], +"set_id": 16405 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11747, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-JSON-PP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16406 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11748, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-less", +"repository": "rhel8-AppStream" +} +], +"set_id": 16407 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11749, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16408 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11750, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-libnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 16409 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11751, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-libnetcfg", +"repository": "rhel8-AppStream" +} +], +"set_id": 16410 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11752, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 16411 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11753, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-locale", +"repository": "rhel8-AppStream" +} +], +"set_id": 16412 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11754, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Locale-Maketext", +"repository": "rhel8-AppStream" +} +], +"set_id": 16413 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11755, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Locale-Maketext-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16414 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11756, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-local-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16415 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11757, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 16416 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11758, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Math-BigInt", +"repository": "rhel8-AppStream" +} +], +"set_id": 16417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11759, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Math-BigInt-FastCalc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16418 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11760, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Math-BigRat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16419 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11761, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Math-Complex", +"repository": "rhel8-AppStream" +} +], +"set_id": 16420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11762, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Memoize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16421 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11763, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-meta-notation", +"repository": "rhel8-AppStream" +} +], +"set_id": 16422 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11764, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-MIME-Base64", +"repository": "rhel8-AppStream" +} +], +"set_id": 16423 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11765, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Build", +"repository": "rhel8-AppStream" +} +], +"set_id": 16424 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11766, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-CoreList", +"repository": "rhel8-AppStream" +} +], +"set_id": 16425 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11767, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-CoreList-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 16426 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11768, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Load", +"repository": "rhel8-AppStream" +} +], +"set_id": 16427 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11769, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Load-Conditional", +"repository": "rhel8-AppStream" +} +], +"set_id": 16428 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11770, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Loaded", +"repository": "rhel8-AppStream" +} +], +"set_id": 16429 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11771, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Module-Metadata", +"repository": "rhel8-AppStream" +} +], +"set_id": 16430 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11772, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-mro", +"repository": "rhel8-AppStream" +} +], +"set_id": 16431 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11773, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-MRO-Compat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16432 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11774, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-NDBM_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16433 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11775, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Net", +"repository": "rhel8-AppStream" +} +], +"set_id": 16434 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11776, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Net-Ping", +"repository": "rhel8-AppStream" +} +], +"set_id": 16435 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11777, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-NEXT", +"repository": "rhel8-AppStream" +} +], +"set_id": 16436 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11778, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Object-HashBase", +"repository": "rhel8-AppStream" +} +], +"set_id": 16437 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11779, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Object-HashBase-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 16438 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11780, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ODBM_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16439 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11781, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Opcode", +"repository": "rhel8-AppStream" +} +], +"set_id": 16440 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11782, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-open", +"repository": "rhel8-AppStream" +} +], +"set_id": 16441 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11783, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-overload", +"repository": "rhel8-AppStream" +} +], +"set_id": 16442 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11784, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-overloading", +"repository": "rhel8-AppStream" +} +], +"set_id": 16443 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11785, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Package-Generator", +"repository": "rhel8-AppStream" +} +], +"set_id": 16444 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11786, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Params-Check", +"repository": "rhel8-AppStream" +} +], +"set_id": 16445 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11787, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Params-Util", +"repository": "rhel8-AppStream" +} +], +"set_id": 16446 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11788, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-parent", +"repository": "rhel8-AppStream" +} +], +"set_id": 16447 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11789, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-PathTools", +"repository": "rhel8-AppStream" +} +], +"set_id": 16448 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11790, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-perlfaq", +"repository": "rhel8-AppStream" +} +], +"set_id": 16449 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11791, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-PerlIO-via-QuotedPrint", +"repository": "rhel8-AppStream" +} +], +"set_id": 16450 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11792, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Perl-OSType", +"repository": "rhel8-AppStream" +} +], +"set_id": 16451 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11793, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-ph", +"repository": "rhel8-AppStream" +} +], +"set_id": 16452 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11794, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Escapes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16453 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11795, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Functions", +"repository": "rhel8-AppStream" +} +], +"set_id": 16454 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11796, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Html", +"repository": "rhel8-AppStream" +} +], +"set_id": 16455 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11797, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Checker", +"repository": "rhel8-AppStream" +} +], +"set_id": 16456 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11798, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-podlators", +"repository": "rhel8-AppStream" +} +], +"set_id": 16457 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11799, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 16458 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11800, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Perldoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16459 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11801, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16460 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11802, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Pod-Usage", +"repository": "rhel8-AppStream" +} +], +"set_id": 16461 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11803, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-POSIX", +"repository": "rhel8-AppStream" +} +], +"set_id": 16462 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11804, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Safe", +"repository": "rhel8-AppStream" +} +], +"set_id": 16463 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11805, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Scalar-List-Utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16464 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11806, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Search-Dict", +"repository": "rhel8-AppStream" +} +], +"set_id": 16465 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11807, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-SelectSaver", +"repository": "rhel8-AppStream" +} +], +"set_id": 16466 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11808, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-SelfLoader", +"repository": "rhel8-AppStream" +} +], +"set_id": 16467 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11809, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-sigtrap", +"repository": "rhel8-AppStream" +} +], +"set_id": 16468 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11810, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Socket", +"repository": "rhel8-AppStream" +} +], +"set_id": 16469 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11811, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Software-License", +"repository": "rhel8-AppStream" +} +], +"set_id": 16470 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11812, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-sort", +"repository": "rhel8-AppStream" +} +], +"set_id": 16471 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11813, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Storable", +"repository": "rhel8-AppStream" +} +], +"set_id": 16472 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11814, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Sub-Exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16473 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11815, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Sub-Install", +"repository": "rhel8-AppStream" +} +], +"set_id": 16474 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11816, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-subs", +"repository": "rhel8-AppStream" +} +], +"set_id": 16475 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11817, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Symbol", +"repository": "rhel8-AppStream" +} +], +"set_id": 16476 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11818, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Sys-Hostname", +"repository": "rhel8-AppStream" +} +], +"set_id": 16477 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11819, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Sys-Syslog", +"repository": "rhel8-AppStream" +} +], +"set_id": 16478 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11820, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-ANSIColor", +"repository": "rhel8-AppStream" +} +], +"set_id": 16479 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11821, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-Cap", +"repository": "rhel8-AppStream" +} +], +"set_id": 16480 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11822, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-Complete", +"repository": "rhel8-AppStream" +} +], +"set_id": 16481 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11823, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-ReadLine", +"repository": "rhel8-AppStream" +} +], +"set_id": 16482 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11824, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Term-Table", +"repository": "rhel8-AppStream" +} +], +"set_id": 16483 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11825, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Test", +"repository": "rhel8-AppStream" +} +], +"set_id": 16484 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11826, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Test-Harness", +"repository": "rhel8-AppStream" +} +], +"set_id": 16485 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11827, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Test-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16486 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11828, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Abbrev", +"repository": "rhel8-AppStream" +} +], +"set_id": 16487 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11829, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Balanced", +"repository": "rhel8-AppStream" +} +], +"set_id": 16488 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11830, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Diff", +"repository": "rhel8-AppStream" +} +], +"set_id": 16489 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11831, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Glob", +"repository": "rhel8-AppStream" +} +], +"set_id": 16490 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11832, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-ParseWords", +"repository": "rhel8-AppStream" +} +], +"set_id": 16491 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11833, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Tabs+Wrap", +"repository": "rhel8-AppStream" +} +], +"set_id": 16492 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11834, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Text-Template", +"repository": "rhel8-AppStream" +} +], +"set_id": 16493 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11835, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Thread", +"repository": "rhel8-AppStream" +} +], +"set_id": 16494 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11836, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Thread-Queue", +"repository": "rhel8-AppStream" +} +], +"set_id": 16495 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11837, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-threads", +"repository": "rhel8-AppStream" +} +], +"set_id": 16496 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11838, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Thread-Semaphore", +"repository": "rhel8-AppStream" +} +], +"set_id": 16497 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11839, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-threads-shared", +"repository": "rhel8-AppStream" +} +], +"set_id": 16498 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11840, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Tie", +"repository": "rhel8-AppStream" +} +], +"set_id": 16499 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11841, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Tie-File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16500 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11842, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Tie-Memoize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16501 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11843, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Tie-RefHash", +"repository": "rhel8-AppStream" +} +], +"set_id": 16502 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11844, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Time", +"repository": "rhel8-AppStream" +} +], +"set_id": 16503 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11845, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Time-HiRes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16504 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11846, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Time-Local", +"repository": "rhel8-AppStream" +} +], +"set_id": 16505 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11847, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Time-Piece", +"repository": "rhel8-AppStream" +} +], +"set_id": 16506 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11848, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Unicode-Collate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16507 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11849, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Unicode-Normalize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16508 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11850, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-Unicode-UCD", +"repository": "rhel8-AppStream" +} +], +"set_id": 16509 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11851, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-URI", +"repository": "rhel8-AppStream" +} +], +"set_id": 16510 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11852, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-User-pwent", +"repository": "rhel8-AppStream" +} +], +"set_id": 16511 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11853, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16512 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11854, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-vars", +"repository": "rhel8-AppStream" +} +], +"set_id": 16513 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11855, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-version", +"repository": "rhel8-AppStream" +} +], +"set_id": 16514 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11856, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.32" +} +], +"name": "perl-vmsish", +"repository": "rhel8-AppStream" +} +], +"set_id": 16515 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11857, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16516 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11858, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Algorithm-Diff", +"repository": "rhel8-AppStream" +} +], +"set_id": 16517 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11859, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Archive-Tar", +"repository": "rhel8-AppStream" +} +], +"set_id": 16518 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11860, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Archive-Zip", +"repository": "rhel8-AppStream" +} +], +"set_id": 16519 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11861, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Attribute-Handlers", +"repository": "rhel8-AppStream" +} +], +"set_id": 16520 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11862, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-autodie", +"repository": "rhel8-AppStream" +} +], +"set_id": 16521 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11863, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-bignum", +"repository": "rhel8-AppStream" +} +], +"set_id": 16522 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11864, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Carp", +"repository": "rhel8-AppStream" +} +], +"set_id": 16523 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11865, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Compress-Bzip2", +"repository": "rhel8-AppStream" +} +], +"set_id": 16524 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11866, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Compress-Raw-Bzip2", +"repository": "rhel8-AppStream" +} +], +"set_id": 16525 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11867, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Compress-Raw-Zlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16526 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11868, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Config-Perl-V", +"repository": "rhel8-AppStream" +} +], +"set_id": 16527 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11869, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-constant", +"repository": "rhel8-AppStream" +} +], +"set_id": 16528 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11870, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-CPAN", +"repository": "rhel8-AppStream" +} +], +"set_id": 16529 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11871, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-CPAN-DistnameInfo", +"repository": "rhel8-AppStream" +} +], +"set_id": 16530 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11872, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-CPAN-Meta", +"repository": "rhel8-AppStream" +} +], +"set_id": 16531 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11873, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-CPAN-Meta-Requirements", +"repository": "rhel8-AppStream" +} +], +"set_id": 16532 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11874, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-CPAN-Meta-YAML", +"repository": "rhel8-AppStream" +} +], +"set_id": 16533 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11875, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Data-Dumper", +"repository": "rhel8-AppStream" +} +], +"set_id": 16534 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11876, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Data-OptList", +"repository": "rhel8-AppStream" +} +], +"set_id": 16535 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11877, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Data-Section", +"repository": "rhel8-AppStream" +} +], +"set_id": 16536 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11878, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-DB_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16537 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11879, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16538 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11880, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Devel-Peek", +"repository": "rhel8-AppStream" +} +], +"set_id": 16539 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11881, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Devel-PPPort", +"repository": "rhel8-AppStream" +} +], +"set_id": 16540 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11882, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Devel-SelfStubber", +"repository": "rhel8-AppStream" +} +], +"set_id": 16541 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11883, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Devel-Size", +"repository": "rhel8-AppStream" +} +], +"set_id": 16542 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11884, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Digest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16543 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11885, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Digest-MD5", +"repository": "rhel8-AppStream" +} +], +"set_id": 16544 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11886, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Digest-SHA", +"repository": "rhel8-AppStream" +} +], +"set_id": 16545 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11887, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Encode", +"repository": "rhel8-AppStream" +} +], +"set_id": 16546 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11888, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Encode-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16547 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11889, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-encoding", +"repository": "rhel8-AppStream" +} +], +"set_id": 16548 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11890, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Env", +"repository": "rhel8-AppStream" +} +], +"set_id": 16549 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11891, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Errno", +"repository": "rhel8-AppStream" +} +], +"set_id": 16550 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11892, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-experimental", +"repository": "rhel8-AppStream" +} +], +"set_id": 16551 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11893, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16552 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11894, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-CBuilder", +"repository": "rhel8-AppStream" +} +], +"set_id": 16553 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11895, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-Command", +"repository": "rhel8-AppStream" +} +], +"set_id": 16554 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11896, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-Embed", +"repository": "rhel8-AppStream" +} +], +"set_id": 16555 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11897, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-Install", +"repository": "rhel8-AppStream" +} +], +"set_id": 16556 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11898, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-MakeMaker", +"repository": "rhel8-AppStream" +} +], +"set_id": 16557 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11899, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-Manifest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16558 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11900, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-Miniperl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16559 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11901, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-MM-Utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16560 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11902, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-ExtUtils-ParseXS", +"repository": "rhel8-AppStream" +} +], +"set_id": 16561 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11903, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Fedora-VSP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16562 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11904, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-File-Fetch", +"repository": "rhel8-AppStream" +} +], +"set_id": 16563 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11905, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-File-HomeDir", +"repository": "rhel8-AppStream" +} +], +"set_id": 16564 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11906, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-File-Path", +"repository": "rhel8-AppStream" +} +], +"set_id": 16565 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11907, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-File-Temp", +"repository": "rhel8-AppStream" +} +], +"set_id": 16566 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11908, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-File-Which", +"repository": "rhel8-AppStream" +} +], +"set_id": 16567 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11909, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16568 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11910, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Filter-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16569 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11911, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-generators", +"repository": "rhel8-AppStream" +} +], +"set_id": 16570 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11912, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Getopt-Long", +"repository": "rhel8-AppStream" +} +], +"set_id": 16571 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11913, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-homedir", +"repository": "rhel8-AppStream" +} +], +"set_id": 16572 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11914, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-HTTP-Tiny", +"repository": "rhel8-AppStream" +} +], +"set_id": 16573 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11915, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Importer", +"repository": "rhel8-AppStream" +} +], +"set_id": 16574 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11916, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-inc-latest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16575 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11917, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-interpreter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16576 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11918, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-IO", +"repository": "rhel8-AppStream" +} +], +"set_id": 16577 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11919, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-IO-Compress", +"repository": "rhel8-AppStream" +} +], +"set_id": 16578 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11920, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-IO-Socket-IP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16579 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11921, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-IO-Zlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16580 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11922, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-IPC-Cmd", +"repository": "rhel8-AppStream" +} +], +"set_id": 16581 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11923, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-IPC-System-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16582 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11924, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-IPC-SysV", +"repository": "rhel8-AppStream" +} +], +"set_id": 16583 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11925, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-JSON-PP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16584 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11926, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-libnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 16585 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11927, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-libnetcfg", +"repository": "rhel8-AppStream" +} +], +"set_id": 16586 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11928, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 16587 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11929, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Locale-Maketext", +"repository": "rhel8-AppStream" +} +], +"set_id": 16588 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11930, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Locale-Maketext-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16589 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11931, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-local-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16590 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11932, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 16591 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11933, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Math-BigInt", +"repository": "rhel8-AppStream" +} +], +"set_id": 16592 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11934, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Math-BigInt-FastCalc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16593 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11935, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Math-BigRat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16594 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11936, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Math-Complex", +"repository": "rhel8-AppStream" +} +], +"set_id": 16595 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11937, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Memoize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16596 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11938, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-MIME-Base64", +"repository": "rhel8-AppStream" +} +], +"set_id": 16597 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11939, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Module-Build", +"repository": "rhel8-AppStream" +} +], +"set_id": 16598 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11940, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Module-CoreList", +"repository": "rhel8-AppStream" +} +], +"set_id": 16599 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11941, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Module-CoreList-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 16600 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11942, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Module-Load", +"repository": "rhel8-AppStream" +} +], +"set_id": 16601 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11943, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Module-Load-Conditional", +"repository": "rhel8-AppStream" +} +], +"set_id": 16602 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11944, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Module-Loaded", +"repository": "rhel8-AppStream" +} +], +"set_id": 16603 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11945, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Module-Metadata", +"repository": "rhel8-AppStream" +} +], +"set_id": 16604 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11946, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-MRO-Compat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16605 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11947, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Net-Ping", +"repository": "rhel8-AppStream" +} +], +"set_id": 16606 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11948, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-open", +"repository": "rhel8-AppStream" +} +], +"set_id": 16609 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11949, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Package-Generator", +"repository": "rhel8-AppStream" +} +], +"set_id": 16610 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11950, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Params-Check", +"repository": "rhel8-AppStream" +} +], +"set_id": 16611 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11951, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Params-Util", +"repository": "rhel8-AppStream" +} +], +"set_id": 16612 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11952, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-parent", +"repository": "rhel8-AppStream" +} +], +"set_id": 16613 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11953, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-PathTools", +"repository": "rhel8-AppStream" +} +], +"set_id": 16614 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11954, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-perlfaq", +"repository": "rhel8-AppStream" +} +], +"set_id": 16615 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11955, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-PerlIO-via-QuotedPrint", +"repository": "rhel8-AppStream" +} +], +"set_id": 16616 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11956, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Perl-OSType", +"repository": "rhel8-AppStream" +} +], +"set_id": 16617 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11957, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Pod-Escapes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16618 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11958, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Pod-Html", +"repository": "rhel8-AppStream" +} +], +"set_id": 16619 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11959, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Pod-Checker", +"repository": "rhel8-AppStream" +} +], +"set_id": 16620 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11960, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-podlators", +"repository": "rhel8-AppStream" +} +], +"set_id": 16621 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11961, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Pod-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 16622 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11962, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Pod-Perldoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16623 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11963, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Pod-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16624 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11964, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Pod-Usage", +"repository": "rhel8-AppStream" +} +], +"set_id": 16625 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11965, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Scalar-List-Utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16626 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11966, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-SelfLoader", +"repository": "rhel8-AppStream" +} +], +"set_id": 16627 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11967, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Socket", +"repository": "rhel8-AppStream" +} +], +"set_id": 16628 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11968, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Software-License", +"repository": "rhel8-AppStream" +} +], +"set_id": 16629 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11969, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Storable", +"repository": "rhel8-AppStream" +} +], +"set_id": 16630 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11970, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Sub-Exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16631 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11971, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Sub-Install", +"repository": "rhel8-AppStream" +} +], +"set_id": 16632 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11972, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Sys-Syslog", +"repository": "rhel8-AppStream" +} +], +"set_id": 16633 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11973, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Term-ANSIColor", +"repository": "rhel8-AppStream" +} +], +"set_id": 16634 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11974, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Term-Cap", +"repository": "rhel8-AppStream" +} +], +"set_id": 16635 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11975, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Term-Table", +"repository": "rhel8-AppStream" +} +], +"set_id": 16636 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11976, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Test", +"repository": "rhel8-AppStream" +} +], +"set_id": 16637 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11977, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Test-Harness", +"repository": "rhel8-AppStream" +} +], +"set_id": 16638 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11978, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 16639 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11979, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Test-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16640 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11980, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Text-Balanced", +"repository": "rhel8-AppStream" +} +], +"set_id": 16641 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11981, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Text-Diff", +"repository": "rhel8-AppStream" +} +], +"set_id": 16642 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11982, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Text-Glob", +"repository": "rhel8-AppStream" +} +], +"set_id": 16643 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11983, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Text-ParseWords", +"repository": "rhel8-AppStream" +} +], +"set_id": 16644 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11984, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Text-Tabs+Wrap", +"repository": "rhel8-AppStream" +} +], +"set_id": 16645 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11985, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Text-Template", +"repository": "rhel8-AppStream" +} +], +"set_id": 16646 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11986, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Thread-Queue", +"repository": "rhel8-AppStream" +} +], +"set_id": 16647 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11987, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-threads", +"repository": "rhel8-AppStream" +} +], +"set_id": 16648 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11988, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-threads-shared", +"repository": "rhel8-AppStream" +} +], +"set_id": 16649 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11989, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Time-HiRes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16650 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11990, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Time-Local", +"repository": "rhel8-AppStream" +} +], +"set_id": 16651 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11991, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Time-Piece", +"repository": "rhel8-AppStream" +} +], +"set_id": 16652 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11992, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Unicode-Collate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16653 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11993, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-Unicode-Normalize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16654 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11994, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-URI", +"repository": "rhel8-AppStream" +} +], +"set_id": 16655 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11995, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16656 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11996, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.30" +} +], +"name": "perl-version", +"repository": "rhel8-AppStream" +} +], +"set_id": 16657 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11997, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16658 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11998, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Algorithm-Diff", +"repository": "rhel8-AppStream" +} +], +"set_id": 16659 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 11999, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Archive-Tar", +"repository": "rhel8-AppStream" +} +], +"set_id": 16660 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12000, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Archive-Zip", +"repository": "rhel8-AppStream" +} +], +"set_id": 16661 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12001, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Attribute-Handlers", +"repository": "rhel8-AppStream" +} +], +"set_id": 16662 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12002, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-autodie", +"repository": "rhel8-AppStream" +} +], +"set_id": 16663 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12003, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-B-Debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 16664 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12004, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-bignum", +"repository": "rhel8-AppStream" +} +], +"set_id": 16665 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12005, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Carp", +"repository": "rhel8-AppStream" +} +], +"set_id": 16666 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12006, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Compress-Raw-Bzip2", +"repository": "rhel8-AppStream" +} +], +"set_id": 16668 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12007, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Compress-Raw-Zlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16669 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12008, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-constant", +"repository": "rhel8-AppStream" +} +], +"set_id": 16671 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12009, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 16672 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12010, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-CPAN", +"repository": "rhel8-AppStream" +} +], +"set_id": 16673 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12011, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-CPAN-Meta", +"repository": "rhel8-AppStream" +} +], +"set_id": 16674 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12012, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-CPAN-Meta-Requirements", +"repository": "rhel8-AppStream" +} +], +"set_id": 16675 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12013, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-CPAN-Meta-YAML", +"repository": "rhel8-AppStream" +} +], +"set_id": 16676 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12014, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Data-Dumper", +"repository": "rhel8-AppStream" +} +], +"set_id": 16677 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12015, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Data-OptList", +"repository": "rhel8-AppStream" +} +], +"set_id": 16678 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12016, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-DB_File", +"repository": "rhel8-AppStream" +} +], +"set_id": 16680 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12017, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16681 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12018, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Devel-Peek", +"repository": "rhel8-AppStream" +} +], +"set_id": 16682 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12019, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Devel-PPPort", +"repository": "rhel8-AppStream" +} +], +"set_id": 16683 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12020, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Devel-SelfStubber", +"repository": "rhel8-AppStream" +} +], +"set_id": 16684 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12021, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Digest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16686 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12022, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Digest-MD5", +"repository": "rhel8-AppStream" +} +], +"set_id": 16687 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12023, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Digest-SHA", +"repository": "rhel8-AppStream" +} +], +"set_id": 16688 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12024, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Encode", +"repository": "rhel8-AppStream" +} +], +"set_id": 16689 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12025, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Encode-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16690 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12026, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Env", +"repository": "rhel8-AppStream" +} +], +"set_id": 16692 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12027, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Errno", +"repository": "rhel8-AppStream" +} +], +"set_id": 16693 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12028, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16695 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12029, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-ExtUtils-CBuilder", +"repository": "rhel8-AppStream" +} +], +"set_id": 16696 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12030, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-ExtUtils-Command", +"repository": "rhel8-AppStream" +} +], +"set_id": 16697 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12031, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-ExtUtils-Embed", +"repository": "rhel8-AppStream" +} +], +"set_id": 16698 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12032, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-ExtUtils-Install", +"repository": "rhel8-AppStream" +} +], +"set_id": 16699 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12033, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-ExtUtils-MakeMaker", +"repository": "rhel8-AppStream" +} +], +"set_id": 16700 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12034, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-ExtUtils-Manifest", +"repository": "rhel8-AppStream" +} +], +"set_id": 16701 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12035, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-ExtUtils-Miniperl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16702 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12036, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-ExtUtils-ParseXS", +"repository": "rhel8-AppStream" +} +], +"set_id": 16704 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12037, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-File-Fetch", +"repository": "rhel8-AppStream" +} +], +"set_id": 16706 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12038, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-File-HomeDir", +"repository": "rhel8-AppStream" +} +], +"set_id": 16707 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12039, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-File-Path", +"repository": "rhel8-AppStream" +} +], +"set_id": 16708 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12040, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-File-Temp", +"repository": "rhel8-AppStream" +} +], +"set_id": 16709 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12041, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-File-Which", +"repository": "rhel8-AppStream" +} +], +"set_id": 16710 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12042, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16711 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12043, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Filter-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16712 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12044, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Getopt-Long", +"repository": "rhel8-AppStream" +} +], +"set_id": 16714 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12045, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-homedir", +"repository": "rhel8-AppStream" +} +], +"set_id": 16715 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12046, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-HTTP-Tiny", +"repository": "rhel8-AppStream" +} +], +"set_id": 16716 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12047, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-interpreter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16718 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12048, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-IO", +"repository": "rhel8-AppStream" +} +], +"set_id": 16719 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12049, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-IO-Compress", +"repository": "rhel8-AppStream" +} +], +"set_id": 16720 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12050, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-IO-Socket-IP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16721 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12051, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-IO-Zlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16722 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12052, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-IPC-Cmd", +"repository": "rhel8-AppStream" +} +], +"set_id": 16723 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12053, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-IPC-SysV", +"repository": "rhel8-AppStream" +} +], +"set_id": 16725 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12054, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-JSON-PP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16726 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12055, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 16729 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12056, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Locale-Codes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16730 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12057, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Locale-Maketext", +"repository": "rhel8-AppStream" +} +], +"set_id": 16731 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12058, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Locale-Maketext-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16732 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12059, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-local-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 16733 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12060, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 16734 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12061, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Math-BigInt", +"repository": "rhel8-AppStream" +} +], +"set_id": 16735 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12062, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Math-BigInt-FastCalc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16736 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12063, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Math-BigRat", +"repository": "rhel8-AppStream" +} +], +"set_id": 16737 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12064, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Math-Complex", +"repository": "rhel8-AppStream" +} +], +"set_id": 16738 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12065, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Memoize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16739 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12066, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-MIME-Base64", +"repository": "rhel8-AppStream" +} +], +"set_id": 16740 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12067, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Module-Build", +"repository": "rhel8-AppStream" +} +], +"set_id": 16741 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12068, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Module-CoreList", +"repository": "rhel8-AppStream" +} +], +"set_id": 16742 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12069, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Module-Load", +"repository": "rhel8-AppStream" +} +], +"set_id": 16744 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12070, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Module-Load-Conditional", +"repository": "rhel8-AppStream" +} +], +"set_id": 16745 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12071, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Module-Loaded", +"repository": "rhel8-AppStream" +} +], +"set_id": 16746 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12072, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Module-Metadata", +"repository": "rhel8-AppStream" +} +], +"set_id": 16747 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12073, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Net-Ping", +"repository": "rhel8-AppStream" +} +], +"set_id": 16749 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12074, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-open", +"repository": "rhel8-AppStream" +} +], +"set_id": 16750 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12075, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Package-Generator", +"repository": "rhel8-AppStream" +} +], +"set_id": 16751 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12076, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Params-Check", +"repository": "rhel8-AppStream" +} +], +"set_id": 16752 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12077, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Params-Util", +"repository": "rhel8-AppStream" +} +], +"set_id": 16753 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12078, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-parent", +"repository": "rhel8-AppStream" +} +], +"set_id": 16754 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12079, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-PathTools", +"repository": "rhel8-AppStream" +} +], +"set_id": 16755 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12080, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-perlfaq", +"repository": "rhel8-AppStream" +} +], +"set_id": 16756 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12081, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-PerlIO-via-QuotedPrint", +"repository": "rhel8-AppStream" +} +], +"set_id": 16757 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12082, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Perl-OSType", +"repository": "rhel8-AppStream" +} +], +"set_id": 16758 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12083, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Pod-Escapes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16759 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12084, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Pod-Html", +"repository": "rhel8-AppStream" +} +], +"set_id": 16760 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12085, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Pod-Checker", +"repository": "rhel8-AppStream" +} +], +"set_id": 16761 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12086, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-podlators", +"repository": "rhel8-AppStream" +} +], +"set_id": 16762 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12087, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Pod-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 16763 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12088, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Pod-Perldoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16764 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12089, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Pod-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16765 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12090, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Pod-Usage", +"repository": "rhel8-AppStream" +} +], +"set_id": 16766 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12091, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Scalar-List-Utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 16767 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12092, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-SelfLoader", +"repository": "rhel8-AppStream" +} +], +"set_id": 16768 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12093, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Socket", +"repository": "rhel8-AppStream" +} +], +"set_id": 16769 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12094, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Storable", +"repository": "rhel8-AppStream" +} +], +"set_id": 16771 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12095, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Sub-Exporter", +"repository": "rhel8-AppStream" +} +], +"set_id": 16772 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12096, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Sub-Install", +"repository": "rhel8-AppStream" +} +], +"set_id": 16773 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12097, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Sys-Syslog", +"repository": "rhel8-AppStream" +} +], +"set_id": 16774 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12098, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Term-ANSIColor", +"repository": "rhel8-AppStream" +} +], +"set_id": 16775 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12099, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Term-Cap", +"repository": "rhel8-AppStream" +} +], +"set_id": 16776 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12100, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Test", +"repository": "rhel8-AppStream" +} +], +"set_id": 16777 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12101, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Test-Harness", +"repository": "rhel8-AppStream" +} +], +"set_id": 16778 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12102, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-tests", +"repository": "rhel8-AppStream" +} +], +"set_id": 16779 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12103, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Test-Simple", +"repository": "rhel8-AppStream" +} +], +"set_id": 16780 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12104, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Text-Balanced", +"repository": "rhel8-AppStream" +} +], +"set_id": 16781 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12105, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Text-Diff", +"repository": "rhel8-AppStream" +} +], +"set_id": 16782 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12106, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Text-Glob", +"repository": "rhel8-AppStream" +} +], +"set_id": 16783 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12107, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Text-ParseWords", +"repository": "rhel8-AppStream" +} +], +"set_id": 16784 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12108, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Text-Tabs+Wrap", +"repository": "rhel8-AppStream" +} +], +"set_id": 16785 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12109, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Thread-Queue", +"repository": "rhel8-AppStream" +} +], +"set_id": 16787 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12110, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-threads", +"repository": "rhel8-AppStream" +} +], +"set_id": 16788 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12111, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-threads-shared", +"repository": "rhel8-AppStream" +} +], +"set_id": 16789 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12112, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Time-HiRes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16790 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12113, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Time-Local", +"repository": "rhel8-AppStream" +} +], +"set_id": 16791 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12114, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Time-Piece", +"repository": "rhel8-AppStream" +} +], +"set_id": 16792 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12115, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Unicode-Collate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16793 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12116, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-Unicode-Normalize", +"repository": "rhel8-AppStream" +} +], +"set_id": 16794 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12117, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-URI", +"repository": "rhel8-AppStream" +} +], +"set_id": 16795 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12118, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl", +"stream": "5.24" +} +], +"name": "perl-version", +"repository": "rhel8-AppStream" +} +], +"set_id": 16797 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12119, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-App-cpanminus", +"repository": "rhel7-base" +} +], +"set_id": 16798 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-App-cpanminus", +"repository": "rhel8-AppStream" +} +], +"set_id": 16799 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12120, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-pushd", +"repository": "rhel7-optional" +} +], +"set_id": 16800 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-File-pushd", +"repository": "rhel8-AppStream" +} +], +"set_id": 16801 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12121, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-String-ShellQuote", +"repository": "rhel7-base" +} +], +"set_id": 16802 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-App-cpanminus", +"stream": "1.7044" +} +], +"name": "perl-String-ShellQuote", +"repository": "rhel8-AppStream" +} +], +"set_id": 16803 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"s390x", +"x86_64" +], +"id": 12122, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-DBD-MySQL", +"repository": "rhel7-base" +} +], +"set_id": 16804 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-DBD-MySQL", +"stream": "4.046" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBD-MySQL", +"stream": "4.046" +} +], +"name": "perl-DBD-MySQL", +"repository": "rhel8-AppStream" +} +], +"set_id": 16805 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12123, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBD-MySQL", +"stream": "4.046" +} +], +"name": "perl-DBD-MySQL", +"repository": "rhel8-AppStream" +} +], +"set_id": 16806 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12124, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBD-SQLite", +"stream": "1.58" +} +], +"name": "perl-DBD-SQLite", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16807 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12125, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-DBI", +"stream": "1.641" +} +], +"name": "perl-DBI", +"repository": "rhel8-AppStream" +} +], +"set_id": 16808 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12126, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Socket-SSL", +"repository": "rhel8-AppStream" +} +], +"set_id": 16810 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-IO-Socket-SSL", +"stream": "2.066" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-IO-Socket-SSL", +"stream": "2.066" +} +], +"name": "perl-IO-Socket-SSL", +"repository": "rhel8-AppStream" +} +], +"set_id": 16811 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12127, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Socket-SSL", +"repository": "rhel7-base" +} +], +"set_id": 16812 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Socket-SSL", +"repository": "rhel8-AppStream" +} +], +"set_id": 16813 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12128, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-SSLeay", +"repository": "rhel8-AppStream" +} +], +"set_id": 16814 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-IO-Socket-SSL", +"stream": "2.066" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-IO-Socket-SSL", +"stream": "2.066" +} +], +"name": "perl-Net-SSLeay", +"repository": "rhel8-AppStream" +} +], +"set_id": 16815 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 12129, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-SSLeay", +"repository": "rhel7-base" +} +], +"set_id": 16816 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-SSLeay", +"repository": "rhel8-AppStream" +} +], +"set_id": 16817 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12131, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-SSLeay", +"repository": "rhel8-AppStream" +} +], +"set_id": 16819 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12132, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-YAML", +"repository": "rhel7-base" +} +], +"set_id": 16820 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-YAML", +"stream": "1.24" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-YAML", +"stream": "1.24" +} +], +"name": "perl-YAML", +"repository": "rhel8-AppStream" +} +], +"set_id": 16821 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12133, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Data-Dump", +"repository": "rhel8-AppStream" +} +], +"set_id": 16822 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Data-Dump", +"repository": "rhel8-AppStream" +} +], +"set_id": 16823 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12134, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-HMAC", +"repository": "rhel8-AppStream" +} +], +"set_id": 16824 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Digest-HMAC", +"repository": "rhel8-AppStream" +} +], +"set_id": 16825 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12135, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-HMAC", +"repository": "rhel7-base" +} +], +"set_id": 16826 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Digest-HMAC", +"repository": "rhel8-AppStream" +} +], +"set_id": 16827 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12136, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Encode-Locale", +"repository": "rhel8-AppStream" +} +], +"set_id": 16828 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Encode-Locale", +"repository": "rhel8-AppStream" +} +], +"set_id": 16829 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12137, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Encode-Locale", +"repository": "rhel7-base" +} +], +"set_id": 16830 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Encode-Locale", +"repository": "rhel8-AppStream" +} +], +"set_id": 16831 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12138, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Listing", +"repository": "rhel8-AppStream" +} +], +"set_id": 16832 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-File-Listing", +"repository": "rhel8-AppStream" +} +], +"set_id": 16833 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12139, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Listing", +"repository": "rhel7-base" +} +], +"set_id": 16834 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-File-Listing", +"repository": "rhel8-AppStream" +} +], +"set_id": 16835 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12140, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 16836 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTML-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 16837 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le", +"s390x" +], +"id": 12141, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Parser", +"repository": "rhel7-base" +} +], +"set_id": 16838 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 16839 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12142, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 16840 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12143, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Tagset", +"repository": "rhel8-AppStream" +} +], +"set_id": 16841 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTML-Tagset", +"repository": "rhel8-AppStream" +} +], +"set_id": 16842 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12144, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Tagset", +"repository": "rhel7-base" +} +], +"set_id": 16843 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTML-Tagset", +"repository": "rhel8-AppStream" +} +], +"set_id": 16844 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12145, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Cookies", +"repository": "rhel8-AppStream" +} +], +"set_id": 16845 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTTP-Cookies", +"repository": "rhel8-AppStream" +} +], +"set_id": 16846 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12146, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Cookies", +"repository": "rhel7-base" +} +], +"set_id": 16847 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Cookies", +"repository": "rhel8-AppStream" +} +], +"set_id": 16848 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12147, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Date", +"repository": "rhel8-AppStream" +} +], +"set_id": 16849 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTTP-Date", +"repository": "rhel8-AppStream" +} +], +"set_id": 16850 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12148, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Date", +"repository": "rhel7-base" +} +], +"set_id": 16851 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Date", +"repository": "rhel8-AppStream" +} +], +"set_id": 16852 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12149, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Message", +"repository": "rhel8-AppStream" +} +], +"set_id": 16853 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTTP-Message", +"repository": "rhel8-AppStream" +} +], +"set_id": 16854 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12150, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Message", +"repository": "rhel7-base" +} +], +"set_id": 16855 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Message", +"repository": "rhel8-AppStream" +} +], +"set_id": 16856 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12151, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Negotiate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16857 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-HTTP-Negotiate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16858 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12152, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Negotiate", +"repository": "rhel7-base" +} +], +"set_id": 16859 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-HTTP-Negotiate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16860 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12153, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-HTML", +"repository": "rhel8-AppStream" +} +], +"set_id": 16861 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-IO-HTML", +"repository": "rhel8-AppStream" +} +], +"set_id": 16862 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12154, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-HTML", +"repository": "rhel7-base" +} +], +"set_id": 16863 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-HTML", +"repository": "rhel8-AppStream" +} +], +"set_id": 16864 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12155, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LWP-MediaTypes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16865 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-LWP-MediaTypes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16866 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12156, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LWP-MediaTypes", +"repository": "rhel7-base" +} +], +"set_id": 16867 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LWP-MediaTypes", +"repository": "rhel8-AppStream" +} +], +"set_id": 16868 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12157, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LWP-Protocol-https", +"repository": "rhel8-AppStream" +} +], +"set_id": 16869 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-LWP-Protocol-https", +"repository": "rhel8-AppStream" +} +], +"set_id": 16870 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12158, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LWP-Protocol-https", +"repository": "rhel7-base" +} +], +"set_id": 16871 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-LWP-Protocol-https", +"repository": "rhel8-AppStream" +} +], +"set_id": 16872 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12159, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mozilla-CA", +"repository": "rhel8-AppStream" +} +], +"set_id": 16873 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Mozilla-CA", +"repository": "rhel8-AppStream" +} +], +"set_id": 16874 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12160, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mozilla-CA", +"repository": "rhel7-base" +} +], +"set_id": 16875 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mozilla-CA", +"repository": "rhel8-AppStream" +} +], +"set_id": 16876 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12161, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-NTLM", +"repository": "rhel8-AppStream" +} +], +"set_id": 16877 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-NTLM", +"repository": "rhel8-AppStream" +} +], +"set_id": 16878 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12162, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-HTTP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16879 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Net-HTTP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16880 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12163, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-HTTP", +"repository": "rhel7-base" +} +], +"set_id": 16881 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-HTTP", +"repository": "rhel8-AppStream" +} +], +"set_id": 16882 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12164, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-TimeDate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16883 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-TimeDate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16884 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12165, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-TimeDate", +"repository": "rhel7-base" +} +], +"set_id": 16885 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-TimeDate", +"repository": "rhel8-AppStream" +} +], +"set_id": 16886 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12166, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Try-Tiny", +"repository": "rhel8-AppStream" +} +], +"set_id": 16887 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-Try-Tiny", +"repository": "rhel8-AppStream" +} +], +"set_id": 16888 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12167, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Try-Tiny", +"repository": "rhel7-base" +} +], +"set_id": 16889 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Try-Tiny", +"repository": "rhel8-AppStream" +} +], +"set_id": 16890 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12168, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-WWW-RobotRules", +"repository": "rhel8-AppStream" +} +], +"set_id": 16891 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-WWW-RobotRules", +"repository": "rhel8-AppStream" +} +], +"set_id": 16892 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12169, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-WWW-RobotRules", +"repository": "rhel7-base" +} +], +"set_id": 16893 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-WWW-RobotRules", +"repository": "rhel8-AppStream" +} +], +"set_id": 16894 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12170, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libwww-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16895 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "perl-libwww-perl", +"stream": "6.34" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "perl-libwww-perl", +"stream": "6.34" +} +], +"name": "perl-libwww-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16896 +}, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12171, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libwww-perl", +"repository": "rhel7-base" +} +], +"set_id": 16897 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-libwww-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16898 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12174, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +} +], +"name": "postgresql-upgrade-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16919 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "postgresql", +"stream": "12" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "postgresql", +"stream": "13" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "postgresql-upgrade-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 16920 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12175, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +} +], +"name": "postgresql-test-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 16921 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12176, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "postgresql", +"stream": "12" +}, +{ +"name": "postgresql", +"stream": "13" +} +], +"name": "postgresql-test-rpm-macros", +"repository": "rhel8-AppStream" +} +], +"set_id": 16921 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12177, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +}, +{ +"name": "nodejs", +"stream": "10" +} +], +"name": "nodejs-packaging", +"repository": "rhel8-AppStream" +} +], +"set_id": 16922 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12178, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +}, +{ +"name": "nodejs", +"stream": "10" +} +], +"name": "nodejs-packaging", +"repository": "rhel8-AppStream" +} +], +"set_id": 16922 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12179, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +}, +{ +"name": "nodejs", +"stream": "10" +} +], +"name": "nodejs-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16923 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12180, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nodejs", +"stream": "12" +}, +{ +"name": "nodejs", +"stream": "14" +}, +{ +"name": "nodejs", +"stream": "16" +}, +{ +"name": "nodejs", +"stream": "10" +} +], +"name": "nodejs-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 16923 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12181, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "gimp", +"stream": "2.8" +} +], +"name": "gimp", +"repository": "rhel8-AppStream" +} +], +"set_id": 16928 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "gimp", +"stream": "2.8" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gimp", +"repository": "rhel9-AppStream" +} +], +"set_id": 16929 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12182, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16934 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12183, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16934 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12186, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16936 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12187, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-core", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16936 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12188, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-cxx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16937 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12189, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-cxx", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16937 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12191, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-languages", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16939 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12192, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-languages", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16939 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12193, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-printing", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16940 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12194, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-printing", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16940 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12196, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-submod-security", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16942 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12197, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-submod-security", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16942 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12200, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-trialuse", +"repository": "rhel7-optional" +} +], +"set_id": 16944 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12201, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-desktop", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16945 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12202, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-desktop", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16945 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12204, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-supplemental", +"repository": "rhel7-optional" +} +], +"set_id": 16946 +}, +"initial_release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12205, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-submod-multimedia", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16947 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12206, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "redhat-lsb-submod-multimedia", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16947 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12207, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unbound-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 16948 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12208, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libss-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 16949 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12210, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gdm-pam-extensions-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 16951 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12211, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +} +], +"name": "rubygem-net-telnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 16952 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12212, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +} +], +"name": "rubygem-net-telnet", +"repository": "rhel8-AppStream" +} +], +"set_id": 16952 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12213, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +} +], +"name": "rubygem-xmlrpc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16953 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12214, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +} +], +"name": "rubygem-xmlrpc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16953 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12215, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "anaconda-widgets-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 16954 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12216, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-tornado", +"repository": "rhel9-AppStream" +} +], +"set_id": 16957 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12219, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glade", +"repository": "rhel8-CRB" +} +], +"set_id": 16961 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12221, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +}, +{ +"name": "ruby", +"stream": "2.7" +} +], +"name": "rubygem-openssl", +"repository": "rhel8-AppStream" +} +], +"set_id": 16970 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.7" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-default-gems", +"repository": "rhel9-AppStream" +} +], +"set_id": 16971 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12222, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +}, +{ +"name": "ruby", +"stream": "2.6" +} +], +"name": "rubygem-did_you_mean", +"repository": "rhel8-AppStream" +} +], +"set_id": 16972 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.5" +}, +"out_modulestream": null +}, +{ +"in_modulestream": { +"name": "ruby", +"stream": "2.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ruby-default-gems", +"repository": "rhel9-AppStream" +} +], +"set_id": 16973 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12223, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +} +], +"name": "rubygem-bundler-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16974 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12224, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "2.5" +} +], +"name": "rubygem-bundler-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 16974 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12228, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-typeprof", +"repository": "rhel8-AppStream" +} +], +"set_id": 16981 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-typeprof", +"repository": "rhel9-AppStream" +} +], +"set_id": 16982 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12229, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-rbs", +"repository": "rhel8-AppStream" +} +], +"set_id": 16983 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rbs", +"repository": "rhel9-AppStream" +} +], +"set_id": 16984 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12230, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-rss", +"repository": "rhel8-AppStream" +} +], +"set_id": 16985 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rss", +"repository": "rhel9-AppStream" +} +], +"set_id": 16986 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12231, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "ruby", +"stream": "3.0" +} +], +"name": "rubygem-rexml", +"repository": "rhel8-AppStream" +} +], +"set_id": 16987 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "ruby", +"stream": "3.0" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rubygem-rexml", +"repository": "rhel9-AppStream" +} +], +"set_id": 16988 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12232, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpdf", +"repository": "rhel9-CRB" +} +], +"set_id": 16989 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12233, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-idp", +"repository": "rhel9-AppStream" +} +], +"set_id": 16990 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12234, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-idp", +"repository": "rhel8-AppStream" +} +], +"set_id": 16991 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"ppc64le" +], +"id": 12235, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libnxz", +"repository": "rhel9-BaseOS" +} +], +"set_id": 16992 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12236, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdhash-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 16994 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12237, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdhash-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 16996 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12238, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fwupd-devel", +"repository": "rhel8-BaseOS" +} +], +"set_id": 16997 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12239, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xxhash", +"repository": "rhel9-AppStream" +} +], +"set_id": 17003 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12240, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "shim-unsigned-x64", +"repository": "rhel8-CRB" +} +], +"set_id": 16999 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12241, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mod_auth_mellon", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17001 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12242, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lasso", +"repository": "rhel8-AppStream" +} +], +"set_id": 17002 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12243, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xxhash-libs", +"repository": "rhel9-AppStream" +} +], +"set_id": 17004 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12244, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xxhash-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17005 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12245, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xxhash-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 17006 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12246, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xxhash", +"repository": "rhel8-AppStream" +} +], +"set_id": 17007 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12247, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xxhash-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17008 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12248, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xxhash-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17009 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12249, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "xxhash-doc", +"repository": "rhel8-CRB" +} +], +"set_id": 17010 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 12250, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "daxio", +"repository": "rhel8-AppStream" +} +], +"set_id": 17011 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "daxio", +"repository": "rhel9-AppStream" +} +], +"set_id": 17012 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 12251, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmem", +"repository": "rhel8-AppStream" +} +], +"set_id": 17013 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmem", +"repository": "rhel9-AppStream" +} +], +"set_id": 17014 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 12252, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmem-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 17015 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmem-debug", +"repository": "rhel9-AppStream" +} +], +"set_id": 17016 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 12253, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmem-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17017 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmem-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17018 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 12254, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemblk", +"repository": "rhel8-AppStream" +} +], +"set_id": 17019 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemblk", +"repository": "rhel9-AppStream" +} +], +"set_id": 17020 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 12255, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemblk-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 17021 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemblk-debug", +"repository": "rhel9-AppStream" +} +], +"set_id": 17022 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"ppc64le" +], +"id": 12256, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemblk-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17023 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemblk-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17024 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12257, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemlog", +"repository": "rhel8-AppStream" +} +], +"set_id": 17025 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemlog", +"repository": "rhel9-AppStream" +} +], +"set_id": 17026 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12258, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemlog-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 17027 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemlog-debug", +"repository": "rhel9-AppStream" +} +], +"set_id": 17028 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12259, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemlog-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17029 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemlog-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17030 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 12260, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemobj++-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17031 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemobj++-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17032 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 12261, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemobj++-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17033 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemobj++-doc", +"repository": "rhel9-AppStream" +} +], +"set_id": 17034 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12262, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemobj", +"repository": "rhel8-AppStream" +} +], +"set_id": 17035 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemobj", +"repository": "rhel9-AppStream" +} +], +"set_id": 17036 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12263, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemobj-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 17037 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemobj-debug", +"repository": "rhel9-AppStream" +} +], +"set_id": 17038 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12264, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmemobj-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17039 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmemobj-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17040 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12265, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmempool", +"repository": "rhel8-AppStream" +} +], +"set_id": 17041 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmempool", +"repository": "rhel9-AppStream" +} +], +"set_id": 17042 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12266, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmempool-debug", +"repository": "rhel8-AppStream" +} +], +"set_id": 17043 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmempool-debug", +"repository": "rhel9-AppStream" +} +], +"set_id": 17044 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12267, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "libpmempool-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17045 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libpmempool-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17046 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12268, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +} +], +"name": "pmempool", +"repository": "rhel8-AppStream" +} +], +"set_id": 17047 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pmempool", +"repository": "rhel9-AppStream" +} +], +"set_id": 17048 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12269, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +null +], +"name": "pmreorder", +"repository": "rhel8-AppStream" +} +], +"set_id": 17051 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12270, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pmdk", +"stream": "1_fileformat_v6" +}, +null +], +"name": "pmreorder", +"repository": "rhel8-AppStream" +} +], +"set_id": 17051 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12271, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "389-ds", +"stream": "1.4" +} +], +"name": "389-ds-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 17052 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "389-ds", +"stream": "1.4" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "389-ds-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 17053 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12272, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "openslp-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17054 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12273, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "libselinux-python", +"stream": "2.8" +} +], +"name": "libselinux-python", +"repository": "rhel8-AppStream" +} +], +"set_id": 17055 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12274, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libselinux-static", +"repository": "rhel8-CRB" +} +], +"set_id": 17056 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12275, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatzip-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17057 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12276, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatzip-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17058 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12277, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatzip-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17059 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12278, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatzip", +"repository": "rhel8-AppStream" +} +], +"set_id": 17061 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12280, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatengine", +"repository": "rhel8-AppStream" +} +], +"set_id": 17064 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12281, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 17066 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12282, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17068 +}, +"initial_release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12283, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib-tests", +"repository": "rhel8-CRB" +} +], +"set_id": 17070 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12284, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib-tests", +"repository": "rhel9-CRB" +} +], +"set_id": 17071 +}, +"initial_release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64" +], +"id": 12287, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib", +"repository": "rhel9-AppStream" +} +], +"set_id": 17074 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qatlib-service", +"repository": "rhel9-AppStream" +} +], +"set_id": 17075 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"x86_64" +], +"id": 12288, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib", +"repository": "rhel8-AppStream" +} +], +"set_id": 17076 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qatlib", +"repository": "rhel8-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "qatlib-service", +"repository": "rhel8-AppStream" +} +], +"set_id": 17077 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12289, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marshalparser", +"repository": "rhel9-CRB" +} +], +"set_id": 17078 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 12290, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "alsa-plugins-pulseaudio", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17079 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12291, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblockfile", +"repository": "rhel9-AppStream" +} +], +"set_id": 17088 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblockfile", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17089 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12292, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwmf-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17090 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12293, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "capstone", +"repository": "rhel9-AppStream" +} +], +"set_id": 17093 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12294, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gtk3-devel-docs", +"repository": "rhel8-CRB" +} +], +"set_id": 17095 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12295, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-virt-firmware", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17096 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12296, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblkid", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17099 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12297, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblkid-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17100 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12298, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfdisk", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17101 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12299, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfdisk-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17102 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12300, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmount", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17103 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12301, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libmount-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17104 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12302, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsmartcols", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17105 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12303, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuuid", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17106 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12304, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuuid-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17107 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12305, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-libmount", +"repository": "rhel9-AppStream" +} +], +"set_id": 17108 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12309, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "uuidd", +"repository": "rhel9-AppStream" +} +], +"set_id": 17112 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12310, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "frr-selinux", +"repository": "rhel8-AppStream" +} +], +"set_id": 17113 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12311, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-software-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17114 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12312, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libsndfile-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 17115 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12313, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwpe", +"repository": "rhel8-AppStream" +} +], +"set_id": 17116 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12314, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libwpe-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17117 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12315, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wpebackend-fdo", +"repository": "rhel8-AppStream" +} +], +"set_id": 17118 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12316, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "wpebackend-fdo-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17119 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12317, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "frr-selinux", +"repository": "rhel9-AppStream" +} +], +"set_id": 17120 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12318, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "inkscape", +"stream": "0.92.3" +} +], +"name": "inkscape", +"repository": "rhel8-AppStream" +} +], +"set_id": 17121 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12319, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "inkscape", +"stream": "0.92.3" +} +], +"name": "inkscape-view", +"repository": "rhel8-AppStream" +} +], +"set_id": 17123 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12320, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "inkscape", +"stream": "0.92.3" +} +], +"name": "inkscape-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17125 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12321, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape1", +"repository": "rhel8-AppStream" +} +], +"set_id": 17127 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape", +"repository": "rhel9-AppStream" +} +], +"set_id": 17128 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12322, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape1-view", +"repository": "rhel8-AppStream" +} +], +"set_id": 17129 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape-view", +"repository": "rhel9-AppStream" +} +], +"set_id": 17130 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12323, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape1-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17131 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "inkscape-docs", +"repository": "rhel9-AppStream" +} +], +"set_id": 17132 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12348, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-lasso", +"repository": "rhel9-AppStream" +} +], +"set_id": 17151 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64", +"aarch64", +"ppc64le", +"s390x" +], +"id": 12349, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuser-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17152 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12350, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rtla", +"repository": "rhel8-AppStream" +} +], +"set_id": 17153 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12351, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rtla", +"repository": "rhel9-AppStream" +} +], +"set_id": 17154 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12352, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt", +"repository": "rhel7-optional" +} +], +"set_id": 17155 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt", +"repository": "rhel8-AppStream" +} +], +"set_id": 17156 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12353, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-admin", +"repository": "rhel7-optional" +} +], +"set_id": 17157 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-admin", +"repository": "rhel8-AppStream" +} +], +"set_id": 17158 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12354, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-bash-completion", +"repository": "rhel7-optional" +} +], +"set_id": 17159 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-bash-completion", +"repository": "rhel8-AppStream" +} +], +"set_id": 17160 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12355, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-client", +"repository": "rhel7-optional" +} +], +"set_id": 17161 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-client", +"repository": "rhel8-AppStream" +} +], +"set_id": 17162 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12356, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon", +"repository": "rhel7-optional" +} +], +"set_id": 17163 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon", +"repository": "rhel8-AppStream" +} +], +"set_id": 17164 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12357, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-config-network", +"repository": "rhel7-optional" +} +], +"set_id": 17165 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-config-network", +"repository": "rhel8-AppStream" +} +], +"set_id": 17166 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12358, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-config-nwfilter", +"repository": "rhel7-optional" +} +], +"set_id": 17167 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-config-nwfilter", +"repository": "rhel8-AppStream" +} +], +"set_id": 17168 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12359, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-interface", +"repository": "rhel7-optional" +} +], +"set_id": 17169 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-interface", +"repository": "rhel8-AppStream" +} +], +"set_id": 17170 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12360, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-network", +"repository": "rhel7-optional" +} +], +"set_id": 17171 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-network", +"repository": "rhel8-AppStream" +} +], +"set_id": 17172 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12361, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-nodedev", +"repository": "rhel7-optional" +} +], +"set_id": 17173 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-nodedev", +"repository": "rhel8-AppStream" +} +], +"set_id": 17174 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12362, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-nwfilter", +"repository": "rhel7-optional" +} +], +"set_id": 17175 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-nwfilter", +"repository": "rhel8-AppStream" +} +], +"set_id": 17176 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12363, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-qemu", +"repository": "rhel7-optional" +} +], +"set_id": 17177 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-qemu", +"repository": "rhel8-AppStream" +} +], +"set_id": 17178 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12364, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-secret", +"repository": "rhel7-optional" +} +], +"set_id": 17179 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-secret", +"repository": "rhel8-AppStream" +} +], +"set_id": 17180 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12365, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage", +"repository": "rhel7-optional" +} +], +"set_id": 17181 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage", +"repository": "rhel8-AppStream" +} +], +"set_id": 17182 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12366, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-core", +"repository": "rhel7-optional" +} +], +"set_id": 17183 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 17184 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12367, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-disk", +"repository": "rhel7-optional" +} +], +"set_id": 17185 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-disk", +"repository": "rhel8-AppStream" +} +], +"set_id": 17186 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12368, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-iscsi", +"repository": "rhel7-optional" +} +], +"set_id": 17187 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-iscsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 17188 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12369, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-logical", +"repository": "rhel7-optional" +} +], +"set_id": 17189 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-logical", +"repository": "rhel8-AppStream" +} +], +"set_id": 17190 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12370, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-mpath", +"repository": "rhel7-optional" +} +], +"set_id": 17191 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-mpath", +"repository": "rhel8-AppStream" +} +], +"set_id": 17192 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12371, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-driver-storage-scsi", +"repository": "rhel7-optional" +} +], +"set_id": 17193 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-driver-storage-scsi", +"repository": "rhel8-AppStream" +} +], +"set_id": 17194 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12372, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-daemon-kvm", +"repository": "rhel7-optional" +} +], +"set_id": 17195 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-daemon-kvm", +"repository": "rhel8-AppStream" +} +], +"set_id": 17196 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12373, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-devel", +"repository": "rhel7-optional" +} +], +"set_id": 17197 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17198 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12374, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-docs", +"repository": "rhel7-optional" +} +], +"set_id": 17199 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17200 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12375, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-libs", +"repository": "rhel7-optional" +} +], +"set_id": 17201 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17202 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12376, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-lock-sanlock", +"repository": "rhel7-optional" +} +], +"set_id": 17203 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-lock-sanlock", +"repository": "rhel8-AppStream" +} +], +"set_id": 17204 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64" +], +"id": 12377, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libvirt-nss", +"repository": "rhel7-optional" +} +], +"set_id": 17205 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "virt", +"stream": "rhel" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "virt", +"stream": "rhel" +} +], +"name": "libvirt-nss", +"repository": "rhel8-AppStream" +} +], +"set_id": 17206 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12378, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxcvt", +"repository": "rhel9-AppStream" +} +], +"set_id": 17207 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12379, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "sssd-idp", +"repository": "rhel8-AppStream" +} +], +"set_id": 17208 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 12380, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu-gl", +"repository": "rhel9-AppStream" +} +], +"set_id": 17209 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 12381, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu-gl", +"repository": "rhel8-AppStream" +} +], +"set_id": 17210 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 12382, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu-pci-gl", +"repository": "rhel9-AppStream" +} +], +"set_id": 17211 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 12383, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-gpu-pci-gl", +"repository": "rhel8-AppStream" +} +], +"set_id": 17212 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 12384, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-vga-gl", +"repository": "rhel9-AppStream" +} +], +"set_id": 17213 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"s390x", +"x86_64" +], +"id": 12385, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qemu-kvm-device-display-virtio-vga-gl", +"repository": "rhel8-AppStream" +} +], +"set_id": 17214 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12386, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-dcerpc", +"repository": "rhel8-BaseOS" +} +], +"set_id": 17215 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12387, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-dcerpc", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17216 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12388, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-dc-libs", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17217 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12389, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.1" +} +], +"name": "swig", +"repository": "rhel9-CRB" +} +], +"set_id": 17218 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12390, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.1" +} +], +"name": "swig-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 17219 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12391, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.1" +} +], +"name": "swig-gdb", +"repository": "rhel9-CRB" +} +], +"set_id": 17220 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12392, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.1" +} +], +"name": "swig", +"repository": "rhel8-AppStream" +} +], +"set_id": 17221 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12393, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.1" +} +], +"name": "swig-doc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17222 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12394, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "swig", +"stream": "4.1" +} +], +"name": "swig-gdb", +"repository": "rhel8-AppStream" +} +], +"set_id": 17223 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12414, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx", +"repository": "rhel9-AppStream" +} +], +"set_id": 17250 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12415, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-all-modules", +"repository": "rhel9-AppStream" +} +], +"set_id": 17251 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12416, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 17252 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12417, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-filesystem", +"repository": "rhel9-AppStream" +} +], +"set_id": 17253 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12418, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17254 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12419, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-http-image-filter", +"repository": "rhel9-AppStream" +} +], +"set_id": 17255 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12420, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-http-perl", +"repository": "rhel9-AppStream" +} +], +"set_id": 17256 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12421, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-http-xslt-filter", +"repository": "rhel9-AppStream" +} +], +"set_id": 17257 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12422, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-mail", +"repository": "rhel9-AppStream" +} +], +"set_id": 17258 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12423, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-stream", +"repository": "rhel9-AppStream" +} +], +"set_id": 17259 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12424, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mail-AuthenticationResults", +"repository": "rhel8-AppStream" +} +], +"set_id": 17260 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12425, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "qpdf-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17261 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12426, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx", +"repository": "rhel8-AppStream" +} +], +"set_id": 17262 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12427, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-all-modules", +"repository": "rhel8-AppStream" +} +], +"set_id": 17263 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12428, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-filesystem", +"repository": "rhel8-AppStream" +} +], +"set_id": 17264 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12429, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17265 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12430, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-http-image-filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 17266 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12431, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-http-perl", +"repository": "rhel8-AppStream" +} +], +"set_id": 17267 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12432, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-http-xslt-filter", +"repository": "rhel8-AppStream" +} +], +"set_id": 17268 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12433, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-mail", +"repository": "rhel8-AppStream" +} +], +"set_id": 17269 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12434, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "nginx", +"stream": "1.22" +} +], +"name": "nginx-mod-stream", +"repository": "rhel8-AppStream" +} +], +"set_id": 17270 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12435, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "synce4l", +"repository": "rhel9-AppStream" +} +], +"set_id": 17271 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12436, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "synce4l", +"repository": "rhel8-AppStream" +} +], +"set_id": 17272 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12437, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-api4", +"repository": "rhel9-AppStream" +} +], +"set_id": 17434 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12438, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jakarta-activation2", +"repository": "rhel9-AppStream" +} +], +"set_id": 17433 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12440, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind9.16-dnssec-utils", +"repository": "rhel8-CRB" +} +], +"set_id": 17276 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "bind9.16-dnssec-utils", +"repository": "rhel8-AppStream" +} +], +"set_id": 17277 +}, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12441, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-bind9.16", +"repository": "rhel8-CRB" +} +], +"set_id": 17278 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-bind9.16", +"repository": "rhel8-AppStream" +} +], +"set_id": 17279 +}, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12442, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat", +"repository": "rhel9-AppStream" +} +], +"set_id": 17280 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12443, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat", +"repository": "rhel8-AppStream" +} +], +"set_id": 17281 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12444, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ecj", +"repository": "rhel9-AppStream" +} +], +"set_id": 17282 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12445, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ecj", +"repository": "rhel8-AppStream" +} +], +"set_id": 17283 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12446, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cifs-utils-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17284 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12447, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "motif", +"repository": "rhel9-AppStream" +} +], +"set_id": 17288 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12448, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "motif-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17289 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12449, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libxcvt-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17290 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12450, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evemu", +"repository": "rhel8-AppStream" +} +], +"set_id": 17291 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12451, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "evemu-libs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17292 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12452, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "imake", +"repository": "rhel8-CRB" +} +], +"set_id": 17293 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12453, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libdvdnav-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17296 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12456, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "fdk-aac-free-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17297 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12457, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "glslang-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17298 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12458, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libshaderc-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17299 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12459, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-evdev", +"repository": "rhel8-AppStream" +} +], +"set_id": 17300 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12460, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-libGLES", +"repository": "rhel8-AppStream" +} +], +"set_id": 17301 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libglvnd-gles", +"repository": "rhel9-AppStream" +} +], +"set_id": 17302 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12461, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXNVCtrl-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17304 +}, +"initial_release": { +"major_version": 8, +"minor_version": 4, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12462, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-khr-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17305 +}, +"initial_release": { +"major_version": 8, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libglvnd-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17306 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12463, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libXvMC-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17307 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"x86_64" +], +"id": 12464, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-vulkan-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17308 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "mesa-vulkan-drivers", +"repository": "rhel9-AppStream" +} +], +"set_id": 17309 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12465, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-tools", +"repository": "rhel8-BaseOS" +} +], +"set_id": 17310 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12466, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "samba-tools", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17311 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12468, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "sisu-inject", +"repository": "rhel8-AppStream" +} +], +"set_id": 17319 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12469, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "sisu-inject", +"repository": "rhel8-AppStream" +} +], +"set_id": 17319 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12470, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "sisu-plexus", +"repository": "rhel8-AppStream" +} +], +"set_id": 17320 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12471, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "maven", +"stream": "3.5" +} +], +"name": "sisu-plexus", +"repository": "rhel8-AppStream" +} +], +"set_id": 17320 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12472, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-symkey", +"repository": "rhel8-AppStream" +} +], +"set_id": 17323 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-symkey", +"repository": "rhel8-AppStream" +} +], +"set_id": 17324 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12473, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 17325 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 17326 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12474, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-acme", +"repository": "rhel8-AppStream" +} +], +"set_id": 17327 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-acme", +"repository": "rhel8-AppStream" +} +], +"set_id": 17328 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12475, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 17329 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 17330 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12476, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-base-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 17331 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-base-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 17332 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12477, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 17333 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 17334 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12478, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-kra", +"repository": "rhel8-AppStream" +} +], +"set_id": 17335 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-kra", +"repository": "rhel8-AppStream" +} +], +"set_id": 17336 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12479, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 17337 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 17338 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12480, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "python3-pki", +"repository": "rhel8-AppStream" +} +], +"set_id": 17339 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "python3-idm-pki", +"repository": "rhel8-AppStream" +} +], +"set_id": 17340 +}, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12481, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-base-java", +"repository": "rhel7-base" +} +], +"set_id": 17345 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": { +"name": "pki-core", +"stream": "10.6" +} +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "pki-base-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 17346 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12482, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "jss", +"repository": "rhel8-AppStream" +} +], +"set_id": 17351 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jss", +"repository": "rhel9-AppStream" +} +], +"set_id": 17352 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12483, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "ldapjdk", +"repository": "rhel8-AppStream" +} +], +"set_id": 17349 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldapjdk", +"repository": "rhel9-AppStream" +} +], +"set_id": 17350 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 5, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12484, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jss", +"repository": "rhel9-AppStream" +}, +{ +"modulestreams": [ +null +], +"name": "pki-symkey", +"repository": "rhel9-AppStream" +} +], +"set_id": 17355 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-jss", +"repository": "rhel9-AppStream" +} +], +"set_id": 17356 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12485, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldapjdk", +"repository": "rhel9-AppStream" +} +], +"set_id": 17357 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-ldapjdk", +"repository": "rhel9-AppStream" +} +], +"set_id": 17358 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12486, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-acme", +"repository": "rhel9-AppStream" +} +], +"set_id": 17359 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-pki-acme", +"repository": "rhel9-AppStream" +} +], +"set_id": 17360 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12487, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 17361 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-pki-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 17362 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12488, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-base-java", +"repository": "rhel9-AppStream" +} +], +"set_id": 17363 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-pki-java", +"repository": "rhel9-AppStream" +} +], +"set_id": 17364 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12489, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-ca", +"repository": "rhel9-AppStream" +} +], +"set_id": 17365 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-pki-ca", +"repository": "rhel9-AppStream" +} +], +"set_id": 17366 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12490, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-kra", +"repository": "rhel9-AppStream" +} +], +"set_id": 17367 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-pki-kra", +"repository": "rhel9-AppStream" +} +], +"set_id": 17368 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12491, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 17369 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-pki-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 17370 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12492, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 17373 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-pki-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 17374 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12493, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pki", +"repository": "rhel9-AppStream" +} +], +"set_id": 17375 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-idm-pki", +"repository": "rhel9-AppStream" +} +], +"set_id": 17376 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 7, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12494, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcatjss", +"repository": "rhel9-AppStream" +} +], +"set_id": 17377 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-tomcatjss", +"repository": "rhel9-AppStream" +} +], +"set_id": 17378 +}, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12495, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "idm-pki-est", +"repository": "rhel9-AppStream" +} +], +"set_id": 17379 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12496, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "jss-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17380 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12497, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "ldapjdk-javadoc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17381 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12498, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-acme", +"repository": "rhel8-AppStream" +} +], +"set_id": 17382 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-acme", +"repository": "rhel9-AppStream" +} +], +"set_id": 17383 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12499, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-base", +"repository": "rhel8-AppStream" +} +], +"set_id": 17384 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-base", +"repository": "rhel9-AppStream" +} +], +"set_id": 17385 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12500, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-base-java", +"repository": "rhel8-AppStream" +} +], +"set_id": 17386 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-base-java", +"repository": "rhel9-AppStream" +} +], +"set_id": 17387 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12501, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-ca", +"repository": "rhel8-AppStream" +} +], +"set_id": 17388 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-ca", +"repository": "rhel9-AppStream" +} +], +"set_id": 17389 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12502, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-kra", +"repository": "rhel8-AppStream" +} +], +"set_id": 17390 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-kra", +"repository": "rhel9-AppStream" +} +], +"set_id": 17391 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12503, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-server", +"repository": "rhel8-AppStream" +} +], +"set_id": 17392 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 17393 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12504, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-symkey", +"repository": "rhel8-AppStream" +} +], +"set_id": 17394 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-symkey", +"repository": "rhel9-AppStream" +} +], +"set_id": 17395 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12505, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "idm-pki-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 17396 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pki-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 17397 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12506, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "pki-core", +"stream": "10.6" +} +], +"name": "python3-idm-pki", +"repository": "rhel8-AppStream" +} +], +"set_id": 17398 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": { +"name": "pki-core", +"stream": "10.6" +}, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pki", +"repository": "rhel9-AppStream" +} +], +"set_id": 17399 +}, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12507, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "esc", +"repository": "rhel7-base" +} +], +"set_id": 17400 +}, +"initial_release": { +"major_version": 7, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "esc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17401 +}, +"release": { +"major_version": 8, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12508, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jakarta-activation2", +"repository": "rhel8-AppStream" +} +], +"set_id": 17412 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12509, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-api4", +"repository": "rhel8-AppStream" +} +], +"set_id": 17413 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12510, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-codemodel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17414 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12511, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-core", +"repository": "rhel8-AppStream" +} +], +"set_id": 17415 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12512, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-dtd-parser", +"repository": "rhel8-AppStream" +} +], +"set_id": 17416 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12513, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-istack-commons-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 17417 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12514, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-istack-commons-tools", +"repository": "rhel8-AppStream" +} +], +"set_id": 17418 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12515, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-relaxng-datatype", +"repository": "rhel8-AppStream" +} +], +"set_id": 17419 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12516, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-rngom", +"repository": "rhel8-AppStream" +} +], +"set_id": 17420 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12517, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-runtime", +"repository": "rhel8-AppStream" +} +], +"set_id": 17421 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12518, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-txw2", +"repository": "rhel8-AppStream" +} +], +"set_id": 17422 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12519, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-xjc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17423 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12520, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "jaxb", +"stream": "4" +} +], +"name": "jaxb-xsom", +"repository": "rhel8-AppStream" +} +], +"set_id": 17424 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12521, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-codemodel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17425 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12522, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 17426 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12523, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-relaxng-datatype", +"repository": "rhel9-AppStream" +} +], +"set_id": 17427 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12524, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-rngom", +"repository": "rhel9-AppStream" +} +], +"set_id": 17428 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12525, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-runtime", +"repository": "rhel9-AppStream" +} +], +"set_id": 17429 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12526, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-txw2", +"repository": "rhel9-AppStream" +} +], +"set_id": 17430 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12527, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-xjc", +"repository": "rhel9-AppStream" +} +], +"set_id": 17431 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12528, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-xsom", +"repository": "rhel9-AppStream" +} +], +"set_id": 17432 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12529, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-dtd-parser", +"repository": "rhel9-AppStream" +} +], +"set_id": 17435 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12530, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-istack-commons-runtime", +"repository": "rhel9-AppStream" +} +], +"set_id": 17436 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12531, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jaxb-istack-commons-tools", +"repository": "rhel9-AppStream" +} +], +"set_id": 17437 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12533, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils", +"repository": "rhel9-AppStream" +} +], +"set_id": 17440 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-13-binutils", +"repository": "rhel9-AppStream" +} +], +"set_id": 17441 +}, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12534, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "rtla", +"repository": "rhel8-AppStream" +} +], +"set_id": 17442 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12536, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17443 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12537, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17444 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12538, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-debug", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17445 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12539, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-debug-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17446 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12540, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-debug-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17447 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12541, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-debug-devel-matched", +"repository": "rhel9-AppStream" +} +], +"set_id": 17448 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12542, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-debug-modules", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17449 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12543, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-debug-modules-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17450 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12544, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-debug-modules-extra", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17451 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12545, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-devel", +"repository": "rhel9-AppStream" +} +], +"set_id": 17452 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12546, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-devel-matched", +"repository": "rhel9-AppStream" +} +], +"set_id": 17453 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12547, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-modules", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17454 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12549, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-modules-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17456 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64" +], +"id": 12551, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-64k-modules-extra", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17458 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12553, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-debug-uki-virt", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17461 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12554, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-uki-virt", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17462 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12555, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-debug-modules-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17464 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12556, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-modules-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17465 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"s390x" +], +"id": 12557, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kernel-zfcpdump-modules-core", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17466 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12558, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-tomli", +"repository": "rhel9-AppStream" +} +], +"set_id": 17467 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12559, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python-tomli", +"repository": "rhel8-AppStream" +} +], +"set_id": 17468 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12560, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-admin-webapps", +"repository": "rhel8-AppStream" +} +], +"set_id": 17471 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12561, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-docs-webapp", +"repository": "rhel8-AppStream" +} +], +"set_id": 17472 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12562, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-lib", +"repository": "rhel8-AppStream" +} +], +"set_id": 17473 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12563, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-webapps", +"repository": "rhel8-AppStream" +} +], +"set_id": 17474 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12564, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-el-3.0-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 17475 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12565, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-jsp-2.3-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 17476 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12566, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "tomcat-servlet-4.0-api", +"repository": "rhel8-AppStream" +} +], +"set_id": 17477 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12567, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldns-utils", +"repository": "rhel9-CRB" +} +], +"set_id": 17478 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12568, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-ldns", +"repository": "rhel9-CRB" +} +], +"set_id": 17479 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12569, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-ldns", +"repository": "rhel9-CRB" +} +], +"set_id": 17480 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12570, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ldns-doc", +"repository": "rhel9-CRB" +} +], +"set_id": 17481 +}, +"initial_release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12571, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman-catatonit", +"repository": "rhel9-AppStream" +} +], +"set_id": 17482 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "podman", +"repository": "rhel9-AppStream" +} +], +"set_id": 17483 +}, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12572, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "kde-l10n-Chinese", +"repository": "rhel7-base" +} +], +"set_id": 17484 +}, +"initial_release": { +"major_version": 7, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 7, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"x86_64" +], +"id": 12574, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pf-bb-config", +"repository": "rhel9-AppStream" +} +], +"set_id": 17485 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12575, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +{ +"name": "idm", +"stream": "DL1" +} +], +"name": "ipa-idoverride-memberof-plugin", +"repository": "rhel8-AppStream" +} +], +"set_id": 17486 +}, +"initial_release": { +"major_version": 8, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"x86_64" +], +"id": 12576, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jmc", +"repository": "rhel9-CRB" +} +], +"set_id": 17487 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 12577, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jmc-core", +"repository": "rhel9-AppStream" +} +], +"set_id": 17489 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "jmc-core", +"repository": "rhel9-CRB" +} +], +"set_id": 17490 +}, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 6, +"architectures": [ +"x86_64" +], +"id": 12578, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "owasp-java-encoder", +"repository": "rhel9-AppStream" +} +], +"set_id": 17491 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "owasp-java-encoder", +"repository": "rhel9-CRB" +} +], +"set_id": 17492 +}, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12579, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "marisa-devel", +"repository": "rhel8-CRB" +} +], +"set_id": 17493 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12580, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-annocheck", +"repository": "rhel8-AppStream" +} +], +"set_id": 17494 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12581, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-annocheck", +"repository": "rhel8-AppStream" +} +], +"set_id": 17494 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12582, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17495 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12583, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17495 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12584, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-plugin-gcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17496 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12585, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-plugin-gcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17496 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12586, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 17497 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12587, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils", +"repository": "rhel8-AppStream" +} +], +"set_id": 17497 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12588, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17498 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12589, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17498 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12590, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils-gold", +"repository": "rhel8-AppStream" +} +], +"set_id": 17499 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12591, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils-gold", +"repository": "rhel8-AppStream" +} +], +"set_id": 17499 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12592, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-annocheck", +"repository": "rhel8-AppStream" +} +], +"set_id": 17500 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12593, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-docs", +"repository": "rhel8-AppStream" +} +], +"set_id": 17501 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12594, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-annobin-plugin-gcc", +"repository": "rhel8-AppStream" +} +], +"set_id": 17502 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12595, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils-devel", +"repository": "rhel8-AppStream" +} +], +"set_id": 17503 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12596, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-12-binutils-gold", +"repository": "rhel8-AppStream" +} +], +"set_id": 17504 +}, +"initial_release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"ppc64le", +"x86_64" +], +"id": 12597, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libreoffice", +"repository": "rhel8-AppStream" +} +], +"set_id": 17505 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 3, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12612, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "ht-caladea-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 17514 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "google-crosextra-caladea-fonts", +"repository": "rhel9-AppStream" +} +], +"set_id": 17515 +}, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 1, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12613, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "subscription-manager-migration", +"repository": "rhel8-AppStream" +} +], +"set_id": 17516 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12614, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pacemaker", +"repository": "rhel9-HighAvailability" +} +], +"set_id": 17517 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pacemaker", +"repository": "rhel9-HighAvailability" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pacemaker", +"repository": "rhel9-HighAvailability" +} +], +"set_id": 17518 +}, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12645, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libblkio", +"repository": "rhel9-AppStream" +} +], +"set_id": 17547 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 4, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12646, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pacemaker", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 17548 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [ +{ +"in_modulestream": null, +"out_modulestream": null +} +], +"out_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pacemaker", +"repository": "rhel8-HighAvailability" +}, +{ +"modulestreams": [ +null +], +"name": "python3-pacemaker", +"repository": "rhel8-HighAvailability" +} +], +"set_id": 17549 +}, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12647, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unifdef", +"repository": "rhel9-CRB" +} +], +"set_id": 17550 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12648, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "unifdef", +"repository": "rhel8-CRB" +} +], +"set_id": 17551 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12649, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gstreamer1-rtsp-server", +"repository": "rhel9-AppStream" +} +], +"set_id": 17552 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12650, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "python3-pefile", +"repository": "rhel9-AppStream" +} +], +"set_id": 17553 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12652, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-13-gdb", +"repository": "rhel9-AppStream" +} +], +"set_id": 17555 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12653, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "pipewire-module-x11", +"repository": "rhel9-AppStream" +} +], +"set_id": 17556 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12654, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "firefox-x11", +"repository": "rhel9-AppStream" +} +], +"set_id": 17557 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12655, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-classification-banner", +"repository": "rhel9-AppStream" +} +], +"set_id": 17558 +}, +"initial_release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 0, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12656, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-classification-banner", +"repository": "rhel8-AppStream" +} +], +"set_id": 17559 +}, +"initial_release": { +"major_version": 8, +"minor_version": 5, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 6, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12657, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-custom-menu", +"repository": "rhel9-AppStream" +} +], +"set_id": 17560 +}, +"initial_release": { +"major_version": 9, +"minor_version": 1, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12658, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-shell-extension-custom-menu", +"repository": "rhel8-AppStream" +} +], +"set_id": 17561 +}, +"initial_release": { +"major_version": 8, +"minor_version": 7, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12659, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "cockpit-ostree", +"repository": "rhel9-AppStream" +} +], +"set_id": 17562 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12660, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gnome-software-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17563 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12661, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "librelp-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17564 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12662, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "liblognorm-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17565 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12663, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libfastjson-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17566 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12664, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "gcc-toolset-13-annobin", +"repository": "rhel9-AppStream" +} +], +"set_id": 17567 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12665, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuser", +"repository": "rhel9-BaseOS" +} +], +"set_id": 17568 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 2, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12666, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "libuser-devel", +"repository": "rhel9-CRB" +} +], +"set_id": 17569 +}, +"initial_release": { +"major_version": 9, +"minor_version": 2, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 9, +"minor_version": 3, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12667, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-IO-Socket-SSL", +"repository": "rhel8-BaseOS" +} +], +"set_id": 17570 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12668, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Net-SSLeay", +"repository": "rhel8-BaseOS" +} +], +"set_id": 17571 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +}, +{ +"action": 0, +"architectures": [ +"aarch64", +"ppc64le", +"s390x", +"x86_64" +], +"id": 12669, +"in_packageset": { +"package": [ +{ +"modulestreams": [ +null +], +"name": "perl-Mozilla-CA", +"repository": "rhel8-BaseOS" +} +], +"set_id": 17572 +}, +"initial_release": { +"major_version": 8, +"minor_version": 8, +"os_name": "RHEL", +"tag": null, +"z_stream": null +}, +"modulestream_maps": [], +"out_packageset": null, +"release": { +"major_version": 8, +"minor_version": 9, +"os_name": "RHEL", +"tag": null, +"z_stream": null +} +} +], +"provided_data_streams": [ +"2.0" +], +"timestamp": "202308221702Z" +} diff --git a/etc/leapp/files/repomap.json b/etc/leapp/files/repomap.json new file mode 100644 index 0000000..8e94b2e --- /dev/null +++ b/etc/leapp/files/repomap.json @@ -0,0 +1,3796 @@ +{ + "datetime": "202307241553Z", + "version_format": "1.2.0", + "mapping": [ + { + "source_major_version": "7", + "target_major_version": "8", + "entries": [ + { + "source": "rhel7-base", + "target": [ + "rhel8-AppStream", + "rhel8-BaseOS" + ] + }, + { + "source": "rhel7-optional", + "target": [ + "rhel8-CRB" + ] + }, + { + "source": "rhel7-supplementary", + "target": [ + "rhel8-Supplementary" + ] + }, + { + "source": "rhel7-extras", + "target": [ + "rhel8-AppStream", + "rhel8-BaseOS" + ] + }, + { + "source": "rhel7-rt", + "target": [ + "rhel8-RT" + ] + }, + { + "source": "rhel7-nfv", + "target": [ + "rhel8-NFV" + ] + }, + { + "source": "rhel7-sap", + "target": [ + "rhel8-SAP-NetWeaver" + ] + }, + { + "source": "rhel7-sap-hana", + "target": [ + "rhel8-SAP-Solutions" + ] + }, + { + "source": "rhel7-rhui-microsoft-azure-sap-apps", + "target": [ + "rhel8-SAP-Solutions", + "rhel8-SAP-NetWeaver", + "rhel8-rhui-microsoft-azure-sap-apps" + ] + }, + { + "source": "rhel7-highavailability", + "target": [ + "rhel8-HighAvailability" + ] + }, + { + "source": "rhel7-ansible-2", + "target": [ + "rhel8-ansible-2" + ] + }, + { + "source": "rhel7-rhui-client-config-server-7", + "target": [ + "rhel8-rhui-client-config-server-8" + ] + }, + { + "source": "rhel7-rhui-client-config-server-7-sap", + "target": [ + "rhel8-rhui-client-config-server-8-sap" + ] + }, + { + "source": "rhel7-rhui-microsoft-azure-rhel7", + "target": [ + "rhel8-rhui-microsoft-azure-rhel8" + ] + }, + { + "source": "rhel7-rhui-microsoft-sap-ha", + "target": [ + "rhel8-rhui-microsoft-sap-ha" + ] + }, + { + "source": "rhel7-rhui-google-compute-engine", + "target": [ + "rhel8-rhui-google-compute-engine-leapp" + ] + }, + { + "source": "rhel7-rhui-custom-client-at-alibaba", + "target": [ + "rhel8-rhui-custom-client-at-alibaba" + ] + } + ] + }, + { + "source_major_version": "8", + "target_major_version": "9", + "entries": [ + { + "source": "rhel8-BaseOS", + "target": [ + "rhel9-BaseOS" + ] + }, + { + "source": "rhel8-AppStream", + "target": [ + "rhel9-AppStream" + ] + }, + { + "source": "rhel8-CRB", + "target": [ + "rhel9-CRB" + ] + }, + { + "source": "rhel8-rhui-client-config-server-8-ha", + "target": [ + "rhel9-rhui-client-config-server-9" + ] + }, + { + "source": "rhel8-rhui-client-config-server-8", + "target": [ + "rhel9-rhui-client-config-server-9" + ] + }, + { + "source": "rhel8-Supplementary", + "target": [ + "rhel9-Supplementary" + ] + }, + { + "source": "rhel8-RT", + "target": [ + "rhel9-RT" + ] + }, + { + "source": "rhel8-NFV", + "target": [ + "rhel9-NFV" + ] + }, + { + "source": "rhel8-SAP-NetWeaver", + "target": [ + "rhel9-SAP-NetWeaver" + ] + }, + { + "source": "rhel8-SAP-Solutions", + "target": [ + "rhel9-SAP-Solutions" + ] + }, + { + "source": "rhel8-HighAvailability", + "target": [ + "rhel9-HighAvailability" + ] + }, + { + "source": "rhel8-Advanced-Virt", + "target": [ + "rhel9-AppStream" + ] + }, + { + "source": "rhel8-Advanced-Virt-CRB", + "target": [ + "rhel9-CRB" + ] + }, + { + "source": "rhel8-rhui-client-config-server-8-sap", + "target": [ + "rhel9-rhui-client-config-server-9-sap" + ] + }, + { + "source": "rhel8-rhui-microsoft-azure-rhel8", + "target": [ + "rhel9-rhui-microsoft-azure-rhel9" + ] + }, + { + "source": "rhel8-rhui-microsoft-azure-sap-apps", + "target": [ + "rhel9-rhui-microsoft-azure-sap-apps" + ] + }, + { + "source": "rhel8-rhui-microsoft-sap-ha", + "target": [ + "rhel9-rhui-microsoft-sap-ha" + ] + }, + { + "source": "rhel8-rhui-google-compute-engine", + "target": [ + "rhel9-rhui-google-compute-engine-leapp" + ] + } + ] + } + ], + "repositories": [ + { + "pesid": "rhel7-base", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-7-for-arm-64-rhui-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-arm-64-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-9-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-a-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-aus-rpms", + "arch": "x86_64", + "channel": "aus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-releases-rhui-beta", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-rhui-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel7-optional", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-7-for-arm-64-optional-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-arm-64-rhui-optional-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-9-optional-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-e4s-optional-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-eus-optional-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-optional-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-optional-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-a-optional-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-eus-optional-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-optional-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-optional-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-aus-optional-rpms", + "arch": "x86_64", + "channel": "aus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-e4s-optional-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-e4s-optional-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-eus-optional-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-optional-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-optional-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-releases-rhui-optional-beta", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-eus-optional-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-optional-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-optional-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-e4s-optional-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-rhui-optional-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-rhui-optional-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel7-supplementary", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-7-for-power-9-supplementary-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-eus-supplementary-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-supplementary-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-eus-supplementary-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-supplementary-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-eus-supplementary-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-eus-supplementary-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-supplementary-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-supplementary-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-supplementary-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-rhui-supplementary-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel7-extras", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-7-for-arm-64-extras-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-arm-64-extras-rhui-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-arm-64-extras-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-9-extras-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-9-extras-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-extras-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-power-le-extras-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-a-extras-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-a-extras-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-extras-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-for-system-z-extras-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-extras-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-extras-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-extras-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rhui-extras-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-rhui-extras-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-7-server-rhui-extras-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel7-rt", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-7-server-eus-rt-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rt-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-7-server-rt-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + } + ] + }, + { + "pesid": "rhel7-nfv", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-7-server-nfv-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + } + ] + }, + { + "pesid": "rhel7-sap", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-for-power-le-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-for-power-le-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-for-power-le-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-for-system-z-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-for-system-z-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-for-system-z-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-server-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-server-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-server-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-server-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-server-rhui-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhel-sap-for-rhel-7-server-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-sap-for-rhel-7-server-rhui-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-sap-for-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel7-sap-hana", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-for-power-le-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-for-power-le-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-for-power-le-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-server-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-server-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-server-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-server-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-server-rhui-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhel-sap-hana-for-rhel-7-server-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-sap-hana-for-rhel-7-server-rhui-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-sap-hana-for-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel7-highavailability", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-for-system-z-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-for-system-z-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-server-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-server-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-server-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-server-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-server-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-server-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhel-ha-for-rhel-7-server-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "7", + "repoid": "rhui-rhel-ha-for-rhel-7-server-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel7-ansible-2", + "entries": [ + { + "major_version": "7", + "repoid": "rhel-7-server-ansible-2-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel7-rhui-client-config-server-7", + "entries": [ + { + "major_version": "7", + "repoid": "rhui-client-config-server-7", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "7", + "repoid": "rhui-client-config-server-7-arm", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + } + ] + }, + { + "pesid": "rhel7-rhui-client-config-server-7-sap", + "entries": [ + { + "major_version": "7", + "repoid": "rhui-client-config-server-7-sap-bundle", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + } + ] + }, + { + "pesid": "rhel7-rhui-microsoft-azure-rhel7", + "entries": [ + { + "major_version": "7", + "repoid": "rhui-microsoft-azure-rhel7", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "7", + "repoid": "rhui-microsoft-azure-rhel7-eus", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel7-rhui-microsoft-sap-ha", + "entries": [ + { + "major_version": "7", + "repoid": "rhui-microsoft-azure-rhel7-base-sap-ha", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel7-rhui-google-compute-engine", + "entries": [ + { + "major_version": "7", + "repoid": "google-compute-engine", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel7-rhui-microsoft-azure-sap-apps", + "entries": [ + { + "major_version": "7", + "repoid": "rhui-microsoft-azure-rhel7-base-sap-apps", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel7-rhui-custom-client-at-alibaba", + "entries": [ + { + "major_version": "7", + "repoid": "rhui-custom-rhui_client_at_alibaba", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel8-BaseOS", + "entries": [ + { + "major_version": "8", + "repoid": "rhel-8-baseos-beta-rhui-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-baseos-beta-rhui-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-baseos-rhui-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-baseos-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-baseos-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-baseos-e4s-rpms", + "arch": "aarch64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-baseos-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-baseos-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-baseos-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-baseos-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-baseos-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-baseos-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-baseos-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-baseos-e4s-rpms", + "arch": "s390x", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-baseos-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-baseos-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-aus-rpms", + "arch": "x86_64", + "channel": "aus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-baseos-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-baseos-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-baseos-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-baseos-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-baseos-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel8-AppStream", + "entries": [ + { + "major_version": "8", + "repoid": "rhel-8-appstream-beta-rhui-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-appstream-beta-rhui-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-appstream-rhui-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-appstream-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-appstream-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-appstream-e4s-rpms", + "arch": "aarch64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-appstream-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-appstream-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-appstream-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-appstream-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-appstream-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-appstream-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-appstream-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-appstream-e4s-rpms", + "arch": "s390x", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-appstream-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-appstream-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-aus-rpms", + "arch": "x86_64", + "channel": "aus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-appstream-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-appstream-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-appstream-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-appstream-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-appstream-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel8-CRB", + "entries": [ + { + "major_version": "8", + "repoid": "codeready-builder-beta-for-rhel-8-aarch64-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-beta-for-rhel-8-ppc64le-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-beta-for-rhel-8-s390x-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-beta-for-rhel-8-x86_64-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-aarch64-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-aarch64-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-ppc64le-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-ppc64le-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-rhui-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-s390x-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-s390x-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-x86_64-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-x86_64-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-x86_64-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "codeready-builder-for-rhel-8-x86_64-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhui-codeready-builder-for-rhel-8-x86_64-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "8", + "repoid": "rhui-codeready-builder-for-rhel-8-x86_64-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel8-Supplementary", + "entries": [ + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-supplementary-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-supplementary-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-supplementary-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-supplementary-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-supplementary-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-supplementary-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-supplementary-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-supplementary-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-supplementary-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-supplementary-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-supplementary-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-supplementary-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-supplementary-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-supplementary-beta-rhui-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-supplementary-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-supplementary-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-supplementary-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-supplementary-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel8-RT", + "entries": [ + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-rt-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-rt-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + } + ] + }, + { + "pesid": "rhel8-NFV", + "entries": [ + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-nfv-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-nfv-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-nfv-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + } + ] + }, + { + "pesid": "rhel8-SAP-NetWeaver", + "entries": [ + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-sap-netweaver-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-sap-netweaver-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-sap-netweaver-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-sap-netweaver-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-sap-netweaver-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-sap-netweaver-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-sap-netweaver-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-netweaver-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-netweaver-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-netweaver-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-netweaver-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-netweaver-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-netweaver-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-netweaver-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-netweaver-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-sap-netweaver-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel8-SAP-Solutions", + "entries": [ + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-sap-solutions-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-sap-solutions-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-sap-solutions-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-sap-solutions-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-solutions-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-solutions-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-solutions-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-solutions-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-solutions-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-solutions-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-sap-solutions-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-sap-solutions-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel8-HighAvailability", + "entries": [ + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-highavailability-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-highavailability-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-aarch64-highavailability-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-highavailability-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-highavailability-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-highavailability-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-ppc64le-highavailability-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-highavailability-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-highavailability-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-s390x-highavailability-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-highavailability-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-highavailability-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-highavailability-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-highavailability-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-highavailability-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-highavailability-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-highavailability-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhel-8-for-x86_64-highavailability-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-highavailability-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-highavailability-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "8", + "repoid": "rhui-rhel-8-for-x86_64-highavailability-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel8-ansible-2", + "entries": [ + { + "major_version": "8", + "repoid": "ansible-2-for-rhel-8-x86_64-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel8-rhui-client-config-server-8", + "entries": [ + { + "major_version": "8", + "repoid": "rhui-client-config-server-8", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "8", + "repoid": "rhui-client-config-server-8", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + } + ] + }, + { + "pesid": "rhel8-rhui-client-config-server-8-sap", + "entries": [ + { + "major_version": "8", + "repoid": "rhui-client-config-server-8-sap-bundle", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + } + ] + }, + { + "pesid": "rhel8-rhui-microsoft-azure-rhel8", + "entries": [ + { + "major_version": "8", + "repoid": "rhui-microsoft-azure-rhel8", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "8", + "repoid": "rhui-microsoft-azure-rhel8-eus", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel8-rhui-microsoft-sap-ha", + "entries": [ + { + "major_version": "8", + "repoid": "rhui-microsoft-azure-rhel8-sap-ha", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel8-rhui-microsoft-azure-sap-apps", + "entries": [ + { + "major_version": "8", + "repoid": "rhui-microsoft-azure-rhel8-sapapps", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel8-rhui-client-config-server-8-ha", + "entries": [ + { + "major_version": "8", + "repoid": "rhui-client-config-server-8-ha", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + } + ] + }, + { + "pesid": "rhel8-rhui-google-compute-engine", + "entries": [ + { + "major_version": "8", + "repoid": "google-compute-engine", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel8-rhui-google-compute-engine-leapp", + "entries": [ + { + "major_version": "8", + "repoid": "google-compute-engine-leapp", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel8-Advanced-Virt", + "entries": [ + { + "major_version": "8", + "repoid": "advanced-virt-for-rhel-8-aarch64-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-for-rhel-8-ppc64le-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-for-rhel-8-ppc64le-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-for-rhel-8-s390x-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-for-rhel-8-s390x-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-for-rhel-8-x86_64-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-for-rhel-8-x86_64-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + } + ] + }, + { + "pesid": "rhel8-Advanced-Virt-CRB", + "entries": [ + { + "major_version": "8", + "repoid": "advanced-virt-crb-for-rhel-8-aarch64-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-crb-for-rhel-8-ppc64le-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-crb-for-rhel-8-s390x-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "8", + "repoid": "advanced-virt-crb-for-rhel-8-x86_64-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + } + ] + }, + { + "pesid": "rhel8-rhui-custom-client-at-alibaba", + "entries": [ + { + "major_version": "8", + "repoid": "rhui-custom-rhui_client_at_alibaba-rhel-8", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "alibaba" + } + ] + }, + { + "pesid": "rhel9-BaseOS", + "entries": [ + { + "major_version": "9", + "repoid": "rhel-9-baseos-beta-rhui-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-baseos-beta-rhui-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-baseos-rhui-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-baseos-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-baseos-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-baseos-e4s-rpms", + "arch": "aarch64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-baseos-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-baseos-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-baseos-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-baseos-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-baseos-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-baseos-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-baseos-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-baseos-e4s-rpms", + "arch": "s390x", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-baseos-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-baseos-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-aus-rpms", + "arch": "x86_64", + "channel": "aus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-baseos-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-baseos-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-baseos-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel9-AppStream", + "entries": [ + { + "major_version": "9", + "repoid": "rhel-9-appstream-beta-rhui-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-appstream-beta-rhui-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-appstream-rhui-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-appstream-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-appstream-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-appstream-e4s-rpms", + "arch": "aarch64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-appstream-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-appstream-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-appstream-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-appstream-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-appstream-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-appstream-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-appstream-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-appstream-e4s-rpms", + "arch": "s390x", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-appstream-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-appstream-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-aus-rpms", + "arch": "x86_64", + "channel": "aus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-appstream-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-appstream-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-appstream-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel9-CRB", + "entries": [ + { + "major_version": "9", + "repoid": "codeready-builder-beta-for-rhel-9-aarch64-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-beta-for-rhel-9-ppc64le-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-beta-for-rhel-9-s390x-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-beta-for-rhel-9-x86_64-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-aarch64-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-aarch64-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-ppc64le-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-ppc64le-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-rhui-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-s390x-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-s390x-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-x86_64-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-x86_64-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "codeready-builder-for-rhel-9-x86_64-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhui-codeready-builder-for-rhel-9-x86_64-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel9-Supplementary", + "entries": [ + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-supplementary-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-supplementary-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-supplementary-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-supplementary-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-supplementary-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-supplementary-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-supplementary-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-supplementary-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-supplementary-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-supplementary-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-supplementary-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-supplementary-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-supplementary-beta-rhui-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-supplementary-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-supplementary-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel9-RT", + "entries": [ + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-rt-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-rt-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-rt-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + } + ] + }, + { + "pesid": "rhel9-NFV", + "entries": [ + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-nfv-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-nfv-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-nfv-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + } + ] + }, + { + "pesid": "rhel9-SAP-NetWeaver", + "entries": [ + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-sap-netweaver-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-sap-netweaver-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-sap-netweaver-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-sap-netweaver-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-sap-netweaver-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-sap-netweaver-e4s-rpms", + "arch": "s390x", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-sap-netweaver-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-sap-netweaver-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-netweaver-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-netweaver-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-netweaver-eus-rhui-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-netweaver-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-netweaver-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-sap-netweaver-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel9-SAP-Solutions", + "entries": [ + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-sap-solutions-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-sap-solutions-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-solutions-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-sap-solutions-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-sap-solutions-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel9-HighAvailability", + "entries": [ + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-highavailability-beta-rpms", + "arch": "aarch64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-highavailability-e4s-rpms", + "arch": "aarch64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-highavailability-eus-rpms", + "arch": "aarch64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-aarch64-highavailability-rpms", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-highavailability-beta-rpms", + "arch": "ppc64le", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-highavailability-e4s-rpms", + "arch": "ppc64le", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-highavailability-eus-rpms", + "arch": "ppc64le", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-ppc64le-highavailability-rpms", + "arch": "ppc64le", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-highavailability-beta-rpms", + "arch": "s390x", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-highavailability-e4s-rpms", + "arch": "s390x", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-highavailability-eus-rpms", + "arch": "s390x", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-s390x-highavailability-rpms", + "arch": "s390x", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-highavailability-beta-rpms", + "arch": "x86_64", + "channel": "beta", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-highavailability-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-highavailability-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-highavailability-e4s-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-highavailability-eus-rpms", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhel-9-for-x86_64-highavailability-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-highavailability-e4s-rhui-rpms", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "google" + }, + { + "major_version": "9", + "repoid": "rhui-rhel-9-for-x86_64-highavailability-rhui-rpms", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel9-rhui-client-config-server-9", + "entries": [ + { + "major_version": "9", + "repoid": "rhui-client-config-server-9", + "arch": "aarch64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + }, + { + "major_version": "9", + "repoid": "rhui-client-config-server-9", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + } + ] + }, + { + "pesid": "rhel9-rhui-client-config-server-9-sap", + "entries": [ + { + "major_version": "9", + "repoid": "rhui-client-config-server-9-sap-bundle", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "aws" + } + ] + }, + { + "pesid": "rhel9-rhui-microsoft-azure-rhel9", + "entries": [ + { + "major_version": "9", + "repoid": "rhui-microsoft-azure-rhel9", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel9-rhui-microsoft-azure-sap-apps", + "entries": [ + { + "major_version": "9", + "repoid": "rhui-microsoft-azure-rhel9-sapapps", + "arch": "x86_64", + "channel": "eus", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel9-rhui-microsoft-sap-ha", + "entries": [ + { + "major_version": "9", + "repoid": "rhui-microsoft-azure-rhel9-sap-ha", + "arch": "x86_64", + "channel": "e4s", + "repo_type": "rpm", + "rhui": "azure" + } + ] + }, + { + "pesid": "rhel9-rhui-google-compute-engine", + "entries": [ + { + "major_version": "9", + "repoid": "google-compute-engine", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + }, + { + "pesid": "rhel9-rhui-google-compute-engine-leapp", + "entries": [ + { + "major_version": "9", + "repoid": "google-compute-engine-leapp", + "arch": "x86_64", + "channel": "ga", + "repo_type": "rpm", + "rhui": "google" + } + ] + } + ], + "provided_data_streams": [ + "2.0" + ] +} diff --git a/etc/leapp/transaction/to_install b/etc/leapp/transaction/to_install new file mode 100644 index 0000000..e5fcec5 --- /dev/null +++ b/etc/leapp/transaction/to_install @@ -0,0 +1,2 @@ +### List of packages (each on new line) to be added to the upgrade transaction +### Signed packages which are already installed will be skipped diff --git a/etc/leapp/transaction/to_keep b/etc/leapp/transaction/to_keep new file mode 100644 index 0000000..19526e9 --- /dev/null +++ b/etc/leapp/transaction/to_keep @@ -0,0 +1,7 @@ +### List of packages (each on new line) to be kept in the upgrade transaction + +leapp +python2-leapp +python3-leapp +leapp-repository +snactor diff --git a/etc/leapp/transaction/to_remove b/etc/leapp/transaction/to_remove new file mode 100644 index 0000000..0feb782 --- /dev/null +++ b/etc/leapp/transaction/to_remove @@ -0,0 +1,3 @@ +### List of packages (each on new line) to be removed from the upgrade transaction +# Removing initial-setup package to avoid it asking for EULA acceptance during upgrade - OAMG-1531 +initial-setup diff --git a/packaging/leapp-repository.spec b/packaging/leapp-repository.spec new file mode 100644 index 0000000..937a738 --- /dev/null +++ b/packaging/leapp-repository.spec @@ -0,0 +1,279 @@ +%global leapp_datadir %{_datadir}/leapp-repository +%global repositorydir %{leapp_datadir}/repositories +%global custom_repositorydir %{leapp_datadir}/custom-repositories + +%define leapp_repo_deps 9 + +%if 0%{?rhel} == 7 + %define leapp_python_sitelib %{python2_sitelib} + %define lpr_name leapp-upgrade-el7toel8 +%else + %define leapp_python_sitelib %{python3_sitelib} + %define lpr_name leapp-upgrade-el8toel9 + + # This drops autogenerated deps on + # - /usr/libexec/platform-python (rhel-8 buildroot) + # - /usr/bin/python3.x (epel-8 buildroot) + # - python(abi) = 3.x + # Each of these lead into the removal of leapp rpms as python is changed between + # major versions of RHEL + %global __requires_exclude ^python\\(abi\\) = 3\\..+|/usr/libexec/platform-python|/usr/bin/python.* +%endif + + +# TODO: not sure whether it's required nowadays. Let's check it and drop +# the whole block if not. +%if 0%{?rhel} == 7 +# Defining py_byte_compile macro because it is not defined in old rpm (el7) +# Only defined to python2 since python3 is not used in RHEL7 +%{!?py_byte_compile: %global py_byte_compile py2_byte_compile() {\ + python_binary="%1"\ + bytecode_compilation_path="%2"\ + find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :\ + find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :\ +}\ +py2_byte_compile "%1" "%2"} +%endif + + +# We keeps the leapp-repository name for the component, however we do not plan +# to create such an rpm. Instead, we are going to introduce new naming for +# RHEL 8+ packages to be consistent with other leapp projects in future. + +Name: leapp-repository +Version: 0.19.0 +Release: 1%{?dist} +Summary: Repositories for leapp + +License: ASL 2.0 +URL: https://oamg.github.io/leapp/ +Source0: https://github.com/oamg/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: deps-pkgs.tar.gz + +# NOTE: Our packages must be noarch. Do no drop this in any way. +BuildArch: noarch + +### PATCHES HERE +# Patch0001: filename.patch + + +%description +%{summary} + + +# This is the real RPM with the leapp repositories content +%package -n %{lpr_name} +Summary: Leapp repositories for the in-place upgrade + +%if 0%{?rhel} == 7 +######### RHEL 7 ############ +BuildRequires: python-devel +Requires: python2-leapp + +# We should not drop this on RHEL 7 because of the compatibility reasons +Obsoletes: leapp-repository-data <= 0.6.1 +Provides: leapp-repository-data <= 0.6.1 + +# Former leapp subpackage that is part of the sos package since RHEL 7.8 +Obsoletes: leapp-repository-sos-plugin <= 0.9.0 + +# Set the conflict to be sure this RPM is not upgraded automatically to +# the one from the target (upgraded) RHEL. The RPM has to stay untouched +# during the whole IPU process. +# The manual removal of the RPM is required after the IPU +Conflicts: leapp-upgrade-el8toel9 + +%else +######### RHEL 8 ############ +BuildRequires: python3-devel +Requires: python3-leapp + +# Same as the conflict above - we want to be sure our packages are untouched +# during the whole IPU process +Conflicts: leapp-upgrade-el7toel8 + +%endif + +# IMPORTANT: every time the requirements are changed, increment number by one +# - same for Provides in deps subpackage +Requires: leapp-repository-dependencies = %{leapp_repo_deps} + +# IMPORTANT: this is capability provided by the leapp framework rpm. +# Check that 'version' instead of the real framework rpm version. +Requires: leapp-framework >= 5.0, leapp-framework < 6 + +# Since we provide sub-commands for the leapp utility, we expect the leapp +# tool to be installed as well. +Requires: leapp + +# Used to determine RHEL version of a given target RHEL installation image - +# uncompressing redhat-release package from the ISO. +Requires: cpio + +# The leapp-repository rpm is renamed to %%{lpr_name} +Obsoletes: leapp-repository < 0.14.0-%{release} +Provides: leapp-repository = %{version}-%{release} + +# Provide "leapp-upgrade" for the user convenience. Users will be pointed +# to install "leapp-upgrade" in the official docs. +Provides: leapp-upgrade = %{version}-%{release} + +# Provide leapp-commands so the framework could refer to them when customers +# do not have installed particular leapp-repositories +Provides: leapp-command(answer) +Provides: leapp-command(preupgrade) +Provides: leapp-command(upgrade) +Provides: leapp-command(rerun) +Provides: leapp-command(list-runs) + + +%description -n %{lpr_name} +Leapp repositories for the in-place upgrade to the next major version +of the Red Hat Enterprise Linux system. + + +# This metapackage should contain all RPM dependencies excluding deps on *leapp* +# RPMs. This metapackage will be automatically replaced during the upgrade +# to satisfy dependencies with RPMs from target system. +%package -n %{lpr_name}-deps +Summary: Meta-package with system dependencies of %{lpr_name} package + +# The package has been renamed, so let's obsoletes the old one +Obsoletes: leapp-repository-deps < 0.14.0-%{release} + +# IMPORTANT: every time the requirements are changed, increment number by one +# - same for Requires in main package +Provides: leapp-repository-dependencies = %{leapp_repo_deps} +################################################## +# Real requirements for the leapp-repository HERE +################################################## +Requires: dnf >= 4 +Requires: pciutils +%if 0%{?rhel} && 0%{?rhel} == 7 +# Required to gather system facts about SELinux +Requires: libselinux-python +Requires: python-pyudev +# required by SELinux actors +Requires: policycoreutils-python +# Required to fetch leapp data +Requires: python-requests + +%else +############# RHEL 8 dependencies (when the source system is RHEL 8) ########## +# systemd-nspawn utility +Requires: systemd-container +Requires: python3-pyudev +# Required to fetch leapp data +Requires: python3-requests +# Required because the code is kept Py2 & Py3 compatible +Requires: python3-six +# required by SELinux actors +Requires: policycoreutils-python-utils +# required by systemfacts, and several other actors +Requires: procps-ng +Requires: kmod +# since RHEL 8+ dracut does not have to be present on the system all the time +# and missing dracut could be killing situation for us :) +Requires: dracut + +# Required to scan NetworkManagerConnection (e.g. to recognize secrets) +# NM is requested to be used on RHEL 8+ systems +Requires: NetworkManager-libnm +Requires: python3-gobject-base + +%endif +################################################## +# end requirement +################################################## + + +%description -n %{lpr_name}-deps +%{summary} + + +%prep +%setup -n %{name}-%{version} +%setup -q -n %{name}-%{version} -D -T -a 1 + +# APPLY PATCHES HERE +# %%patch0001 -p1 + + +%build +%if 0%{?rhel} == 7 +cp -a leapp*deps*el8.noarch.rpm repos/system_upgrade/el7toel8/files/bundled-rpms/ +%else +cp -a leapp*deps*el9.noarch.rpm repos/system_upgrade/el8toel9/files/bundled-rpms/ +%endif + + +%install +install -m 0755 -d %{buildroot}%{custom_repositorydir} +install -m 0755 -d %{buildroot}%{repositorydir} +cp -r repos/* %{buildroot}%{repositorydir}/ +install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/repos.d/ +install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/transaction/ +install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/files/ +install -m 0644 etc/leapp/transaction/* %{buildroot}%{_sysconfdir}/leapp/transaction +install -m 0644 etc/leapp/files/* %{buildroot}%{_sysconfdir}/leapp/files + +# install CLI commands for the leapp utility on the expected path +install -m 0755 -d %{buildroot}%{leapp_python_sitelib}/leapp/cli/ +cp -r commands %{buildroot}%{leapp_python_sitelib}/leapp/cli/ +rm -rf %{buildroot}%{leapp_python_sitelib}/leapp/cli/commands/tests + +# Remove irrelevant repositories - We don't want to ship them for the particular +# RHEL version +%if 0%{?rhel} == 7 +rm -rf %{buildroot}%{repositorydir}/system_upgrade/el8toel9 +%else +rm -rf %{buildroot}%{repositorydir}/system_upgrade/el7toel8 +%endif + +# remove component/unit tests, Makefiles, ... stuff that related to testing only +rm -rf %{buildroot}%{repositorydir}/common/actors/testactor +find %{buildroot}%{repositorydir}/common -name "test.py" -delete +rm -rf `find %{buildroot}%{repositorydir} -name "tests" -type d` +find %{buildroot}%{repositorydir} -name "Makefile" -delete + +for DIRECTORY in $(find %{buildroot}%{repositorydir}/ -mindepth 1 -maxdepth 1 -type d); +do + REPOSITORY=$(basename $DIRECTORY) + echo "Enabling repository $REPOSITORY" + ln -s %{repositorydir}/$REPOSITORY %{buildroot}%{_sysconfdir}/leapp/repos.d/$REPOSITORY +done; + +# __python2 could be problematic on systems with Python3 only, but we have +# no choice as __python became error on F33+: +# https://fedoraproject.org/wiki/Changes/PythonMacroError +%if 0%{?rhel} == 7 +%py_byte_compile %{__python2} %{buildroot}%{repositorydir}/* +%else +%py_byte_compile %{__python3} %{buildroot}%{repositorydir}/* +%endif + + +%files -n %{lpr_name} +%doc README.md +%license LICENSE +%dir %{_sysconfdir}/leapp/transaction +%dir %{_sysconfdir}/leapp/files +%dir %{leapp_datadir} +%dir %{repositorydir} +%dir %{custom_repositorydir} +%dir %{leapp_python_sitelib}/leapp/cli/commands +%config %{_sysconfdir}/leapp/files/* +%{_sysconfdir}/leapp/repos.d/* +%{_sysconfdir}/leapp/transaction/* +%{repositorydir}/* +%{leapp_python_sitelib}/leapp/cli/commands/* + + +%files -n %{lpr_name}-deps +# no files here + + +# DO NOT TOUCH SECTION BELOW IN UPSTREAM +%changelog +* Mon Apr 16 2018 Vinzenz Feenstra - %{version}-%{release} +- Initial RPM diff --git a/packaging/other_specs/leapp-el7toel8-deps.spec b/packaging/other_specs/leapp-el7toel8-deps.spec new file mode 100644 index 0000000..4a181ee --- /dev/null +++ b/packaging/other_specs/leapp-el7toel8-deps.spec @@ -0,0 +1,120 @@ +# The %%{rhel} macro just has to be specified +%global lrdname leapp-repository-deps-el%{rhel} +%global ldname leapp-deps-el%{rhel} + +%if 0%{?rhel} == 8 + %define lpr_name_src leapp-upgrade-el7toel8-deps +%else + %define lpr_name_src leapp-upgrade-el8toel9-deps +%endif + + +%define leapp_repo_deps 9 +%define leapp_framework_deps 5 + +# NOTE: the Version contains the %{rhel} macro just for the convenience to +# have always upgrade path between newer and older deps packages. So for +# packages built for RHEL 8 it's 5.0.8, for RHEL 9 it's 5.0.9, etc.. +# Not sure how much it will be beneficial in the end, but why not? + +# TODO: keeping the name of the specfile & srpm leapp-el7toel8-deps even when +# it could be confusing as we start to build for el8toel9. +Name: leapp-el7toel8-deps +Version: 5.0.%{rhel} +Release: 1%{?dist} +Summary: Dependencies for *leapp* packages + +# NOTE: Our packages must be noarch. Do no drop this in any way. +BuildArch: noarch + +License: ASL 2.0 +URL: https://oamg.github.io/leapp/ + +%description +%{summary} + +################################################## +# DEPS FOR LEAPP REPOSITORY ON RHEL 8+ (IPU target system) +################################################## +%package -n %{lrdname} +Summary: Meta-package with system dependencies for leapp repository +Provides: leapp-repository-dependencies = %{leapp_repo_deps} + +# NOTE: we can drop this one Obsoletes later, but keeping it for now... +Obsoletes: leapp-repository-deps +Obsoletes: %{lpr_name_src} + +Requires: dnf >= 4 +Requires: pciutils +Requires: python3 +Requires: python3-pyudev +# required by SELinux actors +Requires: policycoreutils-python-utils + +# we need the dnf configuration manager to check and modify configuration +# The package is first installed inside the target userspace container +# Than we ensure the rpm will be present after the upgrade transaction. +Requires: dnf-command(config-manager) + +# It should not happen that dracut is not present on the target system, +# but as dracut is removable on RHEL 8+, let's rather require it to be really +# sure +Requires: dracut + +# Used to determine RHEL version of a given target RHEL installation image - +# uncompressing redhat-release package from the ISO. +Requires: cpio + +# just to be sure that /etc/modprobe.d is present +Requires: kmod + + +%description -n %{lrdname} +%{summary} + +################################################## +# DEPS FOR LEAPP FRAMEWORK ON RHEL 8+ (IPU target system) +################################################## +%package -n %{ldname} +Summary: Meta-package with system dependencies for leapp framework +Provides: leapp-framework-dependencies = %{leapp_framework_deps} +Obsoletes: leapp-deps + +Requires: findutils + +%if 0%{?rhel} == 8 +# Keep currently these dependencies as maybe we would need them to finish the +# RPMUpgradePhase phase correctly (e.g. postun scriptlets would need py2) +Requires: python2-six +Requires: python2-setuptools +Requires: python2-requests +%endif + +# Python3 deps +Requires: python3 +Requires: python3-six +Requires: python3-setuptools +Requires: python3-requests + + +%description -n %{ldname} +%{summary} + +%prep + +%build + +%install + +# do not create main packages +#%files + +%files -n %{lrdname} +# no files here + +%files -n %{ldname} +# no files here + +%changelog +* Tue Jan 22 2019 Petr Stodulka - %{version}-%{release} +- Initial rpm diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..e555400 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,10 @@ +[pytest] +addopts = -svv +testpaths = repos/ +log_cli = True +log_cli_level = DEBUG +log_cli_format = | %(asctime)s | %(name)s | %(levelname)s | %(filename)s | %(message)s +python_files= + test_*.py + unit_test_*.py + component_test_*.py diff --git a/repos/common/.leapp/info b/repos/common/.leapp/info new file mode 100644 index 0000000..e03481e --- /dev/null +++ b/repos/common/.leapp/info @@ -0,0 +1 @@ +{"messages": {}, "name": "common", "id": "efcf9016-f2d1-4609-9329-a298e6587b3c"} \ No newline at end of file diff --git a/repos/common/.leapp/leapp.conf b/repos/common/.leapp/leapp.conf new file mode 100644 index 0000000..707baa3 --- /dev/null +++ b/repos/common/.leapp/leapp.conf @@ -0,0 +1,6 @@ + +[repositories] +repo_path=${project:root_dir} + +[database] +path=${project:state_dir}/leapp.db diff --git a/repos/common/topics/systeminfo.py b/repos/common/topics/systeminfo.py new file mode 100644 index 0000000..446c2b7 --- /dev/null +++ b/repos/common/topics/systeminfo.py @@ -0,0 +1,5 @@ +from leapp.topics import Topic + + +class SystemInfoTopic(Topic): + name = 'system_info' diff --git a/repos/system_upgrade/common/.leapp/info b/repos/system_upgrade/common/.leapp/info new file mode 100644 index 0000000..272d103 --- /dev/null +++ b/repos/system_upgrade/common/.leapp/info @@ -0,0 +1 @@ +{"name": "system_upgrade_common", "id": "644900a5-c347-43a3-bfab-f448f46d9647", "repos": ["efcf9016-f2d1-4609-9329-a298e6587b3c"]} diff --git a/repos/system_upgrade/common/.leapp/leapp.conf b/repos/system_upgrade/common/.leapp/leapp.conf new file mode 100644 index 0000000..b459134 --- /dev/null +++ b/repos/system_upgrade/common/.leapp/leapp.conf @@ -0,0 +1,6 @@ + +[repositories] +repo_path=${repository:root_dir} + +[database] +path=${repository:state_dir}/leapp.db diff --git a/repos/system_upgrade/common/actors/addupgradebootentry/actor.py b/repos/system_upgrade/common/actors/addupgradebootentry/actor.py new file mode 100644 index 0000000..2e28971 --- /dev/null +++ b/repos/system_upgrade/common/actors/addupgradebootentry/actor.py @@ -0,0 +1,39 @@ +import os + +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor.addupgradebootentry import add_boot_entry, fix_grub_config_error +from leapp.models import BootContent, FirmwareFacts, GrubConfigError, TargetKernelCmdlineArgTasks, TransactionDryRun +from leapp.tags import InterimPreparationPhaseTag, IPUWorkflowTag + + +class AddUpgradeBootEntry(Actor): + """ + Add new boot entry for Leapp provided initramfs. + + Using new boot entry, Leapp can continue the upgrade process in the initramfs after reboot + """ + + name = 'add_upgrade_boot_entry' + consumes = (BootContent, GrubConfigError, FirmwareFacts, TransactionDryRun) + produces = (TargetKernelCmdlineArgTasks,) + tags = (IPUWorkflowTag, InterimPreparationPhaseTag) + + def process(self): + for grub_config_error in self.consume(GrubConfigError): + if grub_config_error.error_detected: + fix_grub_config_error('/etc/default/grub', grub_config_error.error_type) + + configs = None + ff = next(self.consume(FirmwareFacts), None) + if not ff: + raise StopActorExecutionError( + 'Could not identify system firmware', + details={'details': 'Actor did not receive FirmwareFacts message.'} + ) + + # related to issue with hybrid BIOS and UEFI images + # https://bugzilla.redhat.com/show_bug.cgi?id=1667028 + if ff.firmware == 'bios' and os.path.ismount('/boot/efi') and os.path.isfile('/boot/efi/EFI/redhat/grub.cfg'): + configs = ['/boot/grub2/grub.cfg', '/boot/efi/EFI/redhat/grub.cfg'] + add_boot_entry(configs) diff --git a/repos/system_upgrade/common/actors/addupgradebootentry/libraries/addupgradebootentry.py b/repos/system_upgrade/common/actors/addupgradebootentry/libraries/addupgradebootentry.py new file mode 100644 index 0000000..4e1c420 --- /dev/null +++ b/repos/system_upgrade/common/actors/addupgradebootentry/libraries/addupgradebootentry.py @@ -0,0 +1,116 @@ +import os +import re + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import BootContent, KernelCmdlineArg, TargetKernelCmdlineArgTasks + + +def add_boot_entry(configs=None): + debug = 'debug' if os.getenv('LEAPP_DEBUG', '0') == '1' else '' + enable_network = os.getenv('LEAPP_DEVEL_INITRAM_NETWORK') in ('network-manager', 'scripts') + ip_arg = ' ip=dhcp rd.neednet=1' if enable_network else '' + kernel_dst_path, initram_dst_path = get_boot_file_paths() + _remove_old_upgrade_boot_entry(kernel_dst_path, configs=configs) + try: + cmd = [ + '/usr/sbin/grubby', + '--add-kernel', '{0}'.format(kernel_dst_path), + '--initrd', '{0}'.format(initram_dst_path), + '--title', 'RHEL-Upgrade-Initramfs', + '--copy-default', + '--make-default', + '--args', '{DEBUG}{NET} enforcing=0 rd.plymouth=0 plymouth.enable=0'.format(DEBUG=debug, NET=ip_arg) + ] + if configs: + for config in configs: + run(cmd + ['-c', config]) + else: + run(cmd) + + if architecture.matches_architecture(architecture.ARCH_S390X): + # on s390x we need to call zipl explicitly because of issue in grubby, + # otherwise the new boot entry will not be set as default + # See https://bugzilla.redhat.com/show_bug.cgi?id=1764306 + run(['/usr/sbin/zipl']) + + if debug: + # The kernelopts for target kernel are generated based on the cmdline used in the upgrade initramfs, + # therefore, if we enabled debug above, and the original system did not have the debug kernelopt, we + # need to explicitly remove it from the target os boot entry. + # NOTE(mhecko): This will also unconditionally remove debug kernelopt if the source system used it. + api.produce(TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='debug')])) + + # NOTE(mmatuska): This will remove the option even if the source system had it set. + # However enforcing=0 shouldn't be set persistently anyway. + api.produce(TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='enforcing', value='0')])) + + except CalledProcessError as e: + raise StopActorExecutionError( + 'Cannot configure bootloader.', + details={'details': '{}: {}'.format(str(e), e.stderr)} + ) + + +def _remove_old_upgrade_boot_entry(kernel_dst_path, configs=None): + """ + Remove entry referring to the upgrade kernel. + + We have to ensure there are no duplicit boot entries. Main reason is crash + of zipl when duplicit entries exist. + """ + cmd = [ + '/usr/sbin/grubby', + '--remove-kernel', '{0}'.format(kernel_dst_path) + ] + try: + if configs: + for config in configs: + run(cmd + ['-c', config]) + else: + run(cmd) + except CalledProcessError: + # TODO(pstodulk): instead of this, check whether the entry exists or not + # so no warning of problem is reported (info log could be present if the + # entry is missing. + api.current_logger().warning( + 'Could not remove {} entry. May be ignored if the entry did not exist.'.format(kernel_dst_path) + ) + + +def get_boot_file_paths(): + boot_content_msgs = api.consume(BootContent) + boot_content = next(boot_content_msgs, None) + if list(boot_content_msgs): + api.current_logger().warning('Unexpectedly received more than one BootContent message.') + if not boot_content: + raise StopActorExecutionError('Could not create a GRUB boot entry for the upgrade initramfs', + details={'details': 'Did not receive a message about the leapp-provided' + 'kernel and initramfs'}) + # Returning information about kernel hmac file path is needless as it is not used when adding boot entry + return boot_content.kernel_path, boot_content.initram_path + + +def write_to_file(filename, content): + with open(filename, 'w') as f: + f.write(content) + + +def fix_grub_config_error(conf_file, error_type): + with open(conf_file, 'r') as f: + config = f.read() + + if error_type == 'GRUB_CMDLINE_LINUX syntax': + # move misplaced '"' to the end + pattern = r'GRUB_CMDLINE_LINUX=.+?(?=GRUB|\Z)' + original_value = re.search(pattern, config, re.DOTALL).group() + parsed_value = original_value.split('"') + new_value = '{KEY}"{VALUE}"{END}'.format(KEY=parsed_value[0], VALUE=''.join(parsed_value[1:]).rstrip(), + END=original_value[-1]) + + config = config.replace(original_value, new_value) + write_to_file(conf_file, config) + + elif error_type == 'missing newline': + write_to_file(conf_file, config + '\n') diff --git a/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test.fixed b/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test.fixed new file mode 100644 index 0000000..5fc1622 --- /dev/null +++ b/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test.fixed @@ -0,0 +1,7 @@ +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" +GRUB_DEFAULT=saved +GRUB_DISABLE_SUBMENU=true +GRUB_TERMINAL_OUTPUT="console" +GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200n8 no_timer_check net.ifnames=0" +GRUB_DISABLE_RECOVERY="true" diff --git a/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test.wrong b/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test.wrong new file mode 100644 index 0000000..2d9c24f --- /dev/null +++ b/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test.wrong @@ -0,0 +1,7 @@ +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" +GRUB_DEFAULT=saved +GRUB_DISABLE_SUBMENU=true +GRUB_TERMINAL_OUTPUT="console" +GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto" console=ttyS0,115200n8 no_timer_check net.ifnames=0 +GRUB_DISABLE_RECOVERY="true" diff --git a/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test_newline.fixed b/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test_newline.fixed new file mode 100644 index 0000000..5fc1622 --- /dev/null +++ b/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test_newline.fixed @@ -0,0 +1,7 @@ +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" +GRUB_DEFAULT=saved +GRUB_DISABLE_SUBMENU=true +GRUB_TERMINAL_OUTPUT="console" +GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200n8 no_timer_check net.ifnames=0" +GRUB_DISABLE_RECOVERY="true" diff --git a/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test_newline.wrong b/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test_newline.wrong new file mode 100644 index 0000000..d1ca6f0 --- /dev/null +++ b/repos/system_upgrade/common/actors/addupgradebootentry/tests/files/grub_test_newline.wrong @@ -0,0 +1,7 @@ +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" +GRUB_DEFAULT=saved +GRUB_DISABLE_SUBMENU=true +GRUB_TERMINAL_OUTPUT="console" +GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200n8 no_timer_check net.ifnames=0" +GRUB_DISABLE_RECOVERY="true" \ No newline at end of file diff --git a/repos/system_upgrade/common/actors/addupgradebootentry/tests/unit_test_addupgradebootentry.py b/repos/system_upgrade/common/actors/addupgradebootentry/tests/unit_test_addupgradebootentry.py new file mode 100644 index 0000000..ddc37e5 --- /dev/null +++ b/repos/system_upgrade/common/actors/addupgradebootentry/tests/unit_test_addupgradebootentry.py @@ -0,0 +1,169 @@ +import os +from collections import namedtuple + +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import addupgradebootentry +from leapp.libraries.common.config.architecture import ARCH_S390X, ARCH_X86_64 +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import BootContent, KernelCmdlineArg, TargetKernelCmdlineArgTasks + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +class run_mocked(object): + def __init__(self): + self.args = [] + + def __call__(self, args, split=False): + self.args.append(args) + + +class write_to_file_mocked(object): + def __init__(self): + self.content = None + + def __call__(self, filename, content): + self.content = content + + +CONFIGS = ['/boot/grub2/grub.cfg', '/boot/efi/EFI/redhat/grub.cfg'] + +RunArgs = namedtuple('RunArgs', 'args_remove args_add args_zipl args_len') + +run_args_remove = [ + '/usr/sbin/grubby', + '--remove-kernel', '/abc' +] + +run_args_add = [ + '/usr/sbin/grubby', + '--add-kernel', '/abc', + '--initrd', '/def', + '--title', 'RHEL-Upgrade-Initramfs', + '--copy-default', + '--make-default', + '--args', + 'debug enforcing=0 rd.plymouth=0 plymouth.enable=0' + ] + +run_args_zipl = ['/usr/sbin/zipl'] + + +@pytest.mark.parametrize('run_args, arch', [ + # non s390x + (RunArgs(run_args_remove, run_args_add, None, 2), ARCH_X86_64), + # s390x + (RunArgs(run_args_remove, run_args_add, run_args_zipl, 3), ARCH_S390X), + # config file specified + (RunArgs(run_args_remove, run_args_add, None, 2), ARCH_X86_64), +]) +def test_add_boot_entry(monkeypatch, run_args, arch): + def get_boot_file_paths_mocked(): + return '/abc', '/def' + + monkeypatch.setattr(addupgradebootentry, 'get_boot_file_paths', get_boot_file_paths_mocked) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setenv('LEAPP_DEBUG', '1') + monkeypatch.setattr(addupgradebootentry, 'run', run_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch)) + + addupgradebootentry.add_boot_entry() + + assert len(addupgradebootentry.run.args) == run_args.args_len + assert addupgradebootentry.run.args[0] == run_args.args_remove + assert addupgradebootentry.run.args[1] == run_args.args_add + assert api.produce.model_instances == [ + TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='debug')]), + TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='enforcing', value='0')]) + ] + + if run_args.args_zipl: + assert addupgradebootentry.run.args[2] == run_args.args_zipl + + +@pytest.mark.parametrize('is_leapp_invoked_with_debug', [True, False]) +def test_debug_kernelopt_removal_task_production(monkeypatch, is_leapp_invoked_with_debug): + def get_boot_file_paths_mocked(): + return '/abc', '/def' + + monkeypatch.setattr(addupgradebootentry, 'get_boot_file_paths', get_boot_file_paths_mocked) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setenv('LEAPP_DEBUG', '1' if is_leapp_invoked_with_debug else '0') + monkeypatch.setattr(addupgradebootentry, 'run', run_mocked()) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + + addupgradebootentry.add_boot_entry() + + expected_produced_messages = [] + if is_leapp_invoked_with_debug: + expected_produced_messages = [TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='debug')])] + + expected_produced_messages.append( + TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='enforcing', value='0')]) + ) + + assert api.produce.model_instances == expected_produced_messages + + +def test_add_boot_entry_configs(monkeypatch): + def get_boot_file_paths_mocked(): + return '/abc', '/def' + + monkeypatch.setattr(addupgradebootentry, 'get_boot_file_paths', get_boot_file_paths_mocked) + monkeypatch.setenv('LEAPP_DEBUG', '1') + monkeypatch.setattr(addupgradebootentry, 'run', run_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + addupgradebootentry.add_boot_entry(CONFIGS) + + assert len(addupgradebootentry.run.args) == 4 + assert addupgradebootentry.run.args[0] == run_args_remove + ['-c', CONFIGS[0]] + assert addupgradebootentry.run.args[1] == run_args_remove + ['-c', CONFIGS[1]] + assert addupgradebootentry.run.args[2] == run_args_add + ['-c', CONFIGS[0]] + assert addupgradebootentry.run.args[3] == run_args_add + ['-c', CONFIGS[1]] + assert api.produce.model_instances == [ + TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='debug')]), + TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='enforcing', value='0')]) + ] + + +def test_get_boot_file_paths(monkeypatch): + # BootContent message available + def consume_message_mocked(*models): + yield BootContent(kernel_path='/ghi', initram_path='/jkl', kernel_hmac_path='/path') + + monkeypatch.setattr('leapp.libraries.stdlib.api.consume', consume_message_mocked) + + kernel_path, initram_path = addupgradebootentry.get_boot_file_paths() + + assert kernel_path == '/ghi' and initram_path == '/jkl' + + # No BootContent message available + def consume_no_message_mocked(*models): + yield None + + monkeypatch.setattr('leapp.libraries.stdlib.api.consume', consume_no_message_mocked) + + with pytest.raises(StopActorExecutionError): + addupgradebootentry.get_boot_file_paths() + + +@pytest.mark.parametrize( + ('error_type', 'test_file_name'), + [ + ('GRUB_CMDLINE_LINUX syntax', 'grub_test'), + ('missing newline', 'grub_test_newline') + ] +) +def test_fix_grub_config_error(monkeypatch, error_type, test_file_name): + monkeypatch.setattr(addupgradebootentry, 'write_to_file', write_to_file_mocked()) + addupgradebootentry.fix_grub_config_error(os.path.join(CUR_DIR, 'files/{}.wrong'.format(test_file_name)), + error_type) + + with open(os.path.join(CUR_DIR, 'files/{}.fixed'.format(test_file_name))) as f: + assert addupgradebootentry.write_to_file.content == f.read() diff --git a/repos/system_upgrade/common/actors/applytransactionworkarounds/actor.py b/repos/system_upgrade/common/actors/applytransactionworkarounds/actor.py new file mode 100644 index 0000000..f1514dd --- /dev/null +++ b/repos/system_upgrade/common/actors/applytransactionworkarounds/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.common import dnfplugin +from leapp.models import DNFWorkaround +from leapp.tags import IPUWorkflowTag, PreparationPhaseTag + + +class ApplyTransactionWorkarounds(Actor): + """ + Executes registered workaround scripts on the system before the upgrade transaction + """ + + name = 'applytransactionworkarounds' + consumes = (DNFWorkaround,) + produces = () + tags = (IPUWorkflowTag, PreparationPhaseTag) + + def process(self): + dnfplugin.apply_workarounds() diff --git a/repos/system_upgrade/common/actors/applytransactionworkarounds/tests/unit_test_applytransactionworkarounds.py b/repos/system_upgrade/common/actors/applytransactionworkarounds/tests/unit_test_applytransactionworkarounds.py new file mode 100644 index 0000000..8fe3364 --- /dev/null +++ b/repos/system_upgrade/common/actors/applytransactionworkarounds/tests/unit_test_applytransactionworkarounds.py @@ -0,0 +1,61 @@ +import os + +from leapp.libraries.common.dnfplugin import api, apply_workarounds, mounting +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.models import DNFWorkaround + + +class ShowMessageCurrentActorMocked(CurrentActorMocked): + def __init__(self, *args, **kwargs): + super(ShowMessageCurrentActorMocked, self).__init__(*args, **kwargs) + self._show_messages = [] + + @property + def show_messages(self): + return self._show_messages + + def show_message(self, message): + self._show_messages.append(message) + + +class MockedNotIsolatedActions(object): + def __init__(self): + self.called = 0 + self.args = None + + def call(self, args): + self.called += 1 + self.args = args + return {'stdout': ''} + + def __call__(self, *args, **kwargs): + return self + + +def _get_tool_path(name): + for directory in os.getenv('LEAPP_COMMON_TOOLS', '').split(':'): + full_path = os.path.join(directory, name) + if os.path.isfile(full_path): + return full_path + return None + + +def test_prepare_yum_config(monkeypatch): + actions = MockedNotIsolatedActions() + monkeypatch.setattr(api, 'get_tool_path', _get_tool_path) + monkeypatch.setattr(mounting, 'NotIsolatedActions', actions) + display_name = 'Test Action Handle Yum Config' + actor = ShowMessageCurrentActorMocked( + msgs=( + DNFWorkaround( + display_name=display_name, + script_path='/your/path/might/vary/handleyumconfig' + ), + ), + ) + monkeypatch.setattr(api, 'current_actor', actor) + apply_workarounds() + assert actions.called == 1 + assert os.path.basename(actions.args[-1]) == 'handleyumconfig' + assert actor.show_messages and len(actor.show_messages) == 1 + assert display_name in actor.show_messages[0] diff --git a/repos/system_upgrade/common/actors/baculacheck/actor.py b/repos/system_upgrade/common/actors/baculacheck/actor.py new file mode 100644 index 0000000..d206e3c --- /dev/null +++ b/repos/system_upgrade/common/actors/baculacheck/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor.baculacheck import report_installed_packages +from leapp.models import InstalledRedHatSignedRPM, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class BaculaCheck(Actor): + """ + Actor checking for presence of Bacula installation. + + Provides user with information related to upgrading systems + with Bacula installed. + """ + name = 'bacula_check' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + report_installed_packages() diff --git a/repos/system_upgrade/common/actors/baculacheck/libraries/baculacheck.py b/repos/system_upgrade/common/actors/baculacheck/libraries/baculacheck.py new file mode 100644 index 0000000..f8ae155 --- /dev/null +++ b/repos/system_upgrade/common/actors/baculacheck/libraries/baculacheck.py @@ -0,0 +1,50 @@ +from leapp import reporting +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + +# Summary for bacula-director report +report_director_inst_summary = ( + 'Bacula director component will be upgraded. Since the new version is' + ' incompatible with the current version, it is necessary to proceed' + ' with additional steps for the complete upgrade of the Bacula backup' + ' database.' +) + +report_director_inst_hint = ( + 'Back up your data before proceeding with the upgrade' + ' and use the command "/usr/libexec/bacula/update_bacula_tables " to upgrade' + ' the Bacula database after the system upgrade.' + ' The value of depends on the database backend, possible values are' + ' sqlite3, mysql, postgresql.' +) + + +def _report_director_installed(): + """ + Create report on bacula-director package installation detection. + + Should remind user about present Bacula director package + installation and warn them about necessary additional steps. + """ + reporting.create_report([ + reporting.Title('bacula (bacula-director) has been detected on your system'), + reporting.Summary(report_director_inst_summary), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource('package', 'bacula-director'), + reporting.Remediation(hint=report_director_inst_hint), + ]) + + +def report_installed_packages(_context=api): + """ + Create reports according to detected bacula packages. + + Create the report if the bacula-director rpm (RH signed) is installed. + """ + has_director = has_package(InstalledRedHatSignedRPM, 'bacula-director', context=_context) + + if has_director: + # bacula-director + _report_director_installed() diff --git a/repos/system_upgrade/common/actors/baculacheck/tests/test_baculacheck.py b/repos/system_upgrade/common/actors/baculacheck/tests/test_baculacheck.py new file mode 100644 index 0000000..6f81d5f --- /dev/null +++ b/repos/system_upgrade/common/actors/baculacheck/tests/test_baculacheck.py @@ -0,0 +1,65 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.baculacheck import report_installed_packages +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, RPM + + +def _generate_rpm_with_name(name): + """ + Generate new RPM model item with given name. + + Parameters: + name (str): rpm name + + Returns: + rpm (RPM): new RPM object with name parameter set + """ + return RPM(name=name, + version='0.1', + release='1.sm01', + epoch='1', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51', + packager='Red Hat, Inc. ', + arch='noarch') + + +@pytest.mark.parametrize('has_director', [ + (True), # with director + (False), # without director +]) +def test_actor_execution(monkeypatch, has_director): + """ + Parametrized helper function for test_actor_* functions. + + First generate list of RPM models based on set arguments. Then, run + the actor fed with our RPM list. Finally, assert Reports + according to set arguments. + + Parameters: + has_director (bool): bacula-director installed + """ + + # Couple of random packages + rpms = [_generate_rpm_with_name('sed'), + _generate_rpm_with_name('htop')] + + if has_director: + # Add bacula-director + rpms += [_generate_rpm_with_name('bacula-director')] + + curr_actor_mocked = CurrentActorMocked(msgs=[InstalledRedHatSignedRPM(items=rpms)]) + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + # Executed actor fed with out fake RPMs + report_installed_packages(_context=api) + + if has_director: + # Assert for bacula-director package installed + assert reporting.create_report.called == 1 + else: + # Assert for no bacula packages installed + assert not reporting.create_report.called diff --git a/repos/system_upgrade/common/actors/biosdevname/actor.py b/repos/system_upgrade/common/actors/biosdevname/actor.py new file mode 100644 index 0000000..0159241 --- /dev/null +++ b/repos/system_upgrade/common/actors/biosdevname/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor.biosdevname import check_biosdevname +from leapp.models import KernelCmdlineArg, PersistentNetNamesFacts +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class Biosdevname(Actor): + """ + Enable biosdevname on the target RHEL system if all interfaces on the source RHEL + system use biosdevname naming scheme and if machine vendor is DELL + """ + + name = 'biosdevname' + consumes = (PersistentNetNamesFacts,) + produces = (KernelCmdlineArg,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + check_biosdevname() diff --git a/repos/system_upgrade/common/actors/biosdevname/libraries/biosdevname.py b/repos/system_upgrade/common/actors/biosdevname/libraries/biosdevname.py new file mode 100644 index 0000000..a6b4a24 --- /dev/null +++ b/repos/system_upgrade/common/actors/biosdevname/libraries/biosdevname.py @@ -0,0 +1,59 @@ +import re + +import pyudev + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.models import KernelCmdlineArg, PersistentNetNamesFacts + + +def is_biosdevname_disabled(): + with open('/proc/cmdline') as cmdline: + if 'biosdevname=0' in cmdline.read(): + return True + + return False + + +def is_vendor_dell(): + context = pyudev.Context() + + # There should be only one dmi/id device + for dev in pyudev.Enumerator(context).match_subsystem('dmi').match_sys_name('id'): + vendor = dev.attributes.get('sys_vendor') + return re.search('Dell.*', str(vendor)) is not None + return False + + +def all_interfaces_biosdevname(interfaces): + # Biosdevname supports two naming schemes + emx = re.compile('em[0-9]+') + pxpy = re.compile('p[0-9]+p[0-9]+') + + for i in interfaces: + if emx.match(i.name) is None and pxpy.match(i.name) is None: + return False + return True + + +def enable_biosdevname(): + api.current_logger().info( + "Biosdevname naming scheme in use, explicitly enabling biosdevname on the target RHEL system" + ) + api.produce(KernelCmdlineArg(**{'key': 'biosdevname', 'value': '1'})) + + +def check_biosdevname(): + if is_biosdevname_disabled(): + return + + net_names_facts_messages = api.consume(PersistentNetNamesFacts) + net_names_facts = next(net_names_facts_messages, None) + if not net_names_facts: + raise StopActorExecutionError( + 'Could not read interfaces names', + details={'details': 'No PersistentNetNamesFacts message found.'}, + ) + + if is_vendor_dell() and all_interfaces_biosdevname(net_names_facts.interfaces): + enable_biosdevname() diff --git a/repos/system_upgrade/common/actors/biosdevname/tests/test_biosdevname.py b/repos/system_upgrade/common/actors/biosdevname/tests/test_biosdevname.py new file mode 100644 index 0000000..c60aa7a --- /dev/null +++ b/repos/system_upgrade/common/actors/biosdevname/tests/test_biosdevname.py @@ -0,0 +1,129 @@ +import pytest +import pyudev +import six +from mock import mock_open, patch + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import biosdevname +from leapp.libraries.stdlib import api +from leapp.models import Interface, PCIAddress + + +class LoggerMocked(object): + def __init__(self): + self.infomsg = None + + def info(self, *args): + self.infomsg = args + + def __call__(self): + return self + + +def test_biosdevname_disabled(monkeypatch): + mock_config = mock_open(read_data="biosdevname=0") + with patch("builtins.open" if six.PY3 else "__builtin__.open", mock_config): + assert biosdevname.is_biosdevname_disabled() + + +def test_biosdevname_enabled(monkeypatch): + mock_config = mock_open(read_data="biosdevname=1") + with patch("builtins.open" if six.PY3 else "__builtin__.open", mock_config): + assert not biosdevname.is_biosdevname_disabled() + + +class pyudev_enum_mock(object): + def __init__(self, vendor): + self.vendor = vendor + + def match_sys_name(self, _): + class dev(object): + attributes = {'sys_vendor': self.vendor} + + return [dev()] + + def match_subsystem(self, _): + return self + + def __call__(self, _): + return self + + +def test_is_vendor_is_dell(monkeypatch): + monkeypatch.setattr(pyudev, "Enumerator", pyudev_enum_mock("Dell")) + assert biosdevname.is_vendor_dell() + + +def test_is_vendor_is_not_dell(monkeypatch): + monkeypatch.setattr(pyudev, "Enumerator", pyudev_enum_mock("HP")) + assert not biosdevname.is_vendor_dell() + + +def test_all_interfaces_biosdevname(monkeypatch): + pci_info = PCIAddress(domain="domain", function="function", bus="bus", device="device") + + interfaces = [ + Interface( + name="eth0", mac="mac", vendor="dell", pci_info=pci_info, devpath="path", driver="drv" + ) + ] + assert not biosdevname.all_interfaces_biosdevname(interfaces) + interfaces = [ + Interface( + name="em0", mac="mac", vendor="dell", pci_info=pci_info, devpath="path", driver="drv" + ) + ] + assert biosdevname.all_interfaces_biosdevname(interfaces) + interfaces = [ + Interface( + name="p0p22", mac="mac", vendor="dell", pci_info=pci_info, devpath="path", driver="drv" + ) + ] + assert biosdevname.all_interfaces_biosdevname(interfaces) + + interfaces = [ + Interface( + name="p1p2", mac="mac", vendor="dell", pci_info=pci_info, devpath="path", driver="drv" + ), + Interface( + name="em2", mac="mac", vendor="dell", pci_info=pci_info, devpath="path", driver="drv" + ), + ] + assert biosdevname.all_interfaces_biosdevname(interfaces) + + interfaces = [ + Interface( + name="p1p2", mac="mac", vendor="dell", pci_info=pci_info, devpath="path", driver="drv" + ), + Interface( + name="em2", mac="mac", vendor="dell", pci_info=pci_info, devpath="path", driver="drv" + ), + Interface( + name="eth0", mac="mac", vendor="dell", pci_info=pci_info, devpath="path", driver="drv" + ), + ] + assert not biosdevname.all_interfaces_biosdevname(interfaces) + + +def test_enable_biosdevname(monkeypatch): + result = [] + monkeypatch.setattr(api, 'current_logger', LoggerMocked()) + monkeypatch.setattr(api, 'produce', result.append) + + biosdevname.enable_biosdevname() + assert ( + "Biosdevname naming scheme in use, explicitly enabling biosdevname on the target RHEL system" + in api.current_logger.infomsg + ) + assert result[0].key == "biosdevname" + assert result[0].value == "1" + + +def test_check_biosdevname(monkeypatch): + def persistent_net_names_mocked(*models): + yield None + + monkeypatch.setattr(api, "consume", persistent_net_names_mocked) + monkeypatch.setattr(biosdevname, "is_biosdevname_disabled", lambda: False) + with pytest.raises(StopActorExecutionError): + biosdevname.check_biosdevname() diff --git a/repos/system_upgrade/common/actors/cephvolumescan/actor.py b/repos/system_upgrade/common/actors/cephvolumescan/actor.py new file mode 100644 index 0000000..f0faad9 --- /dev/null +++ b/repos/system_upgrade/common/actors/cephvolumescan/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import cephvolumescan +from leapp.models import CephInfo, InstalledRPM +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CephVolumeScan(Actor): + + """ + Retrieves the list of encrypted Ceph OSD + """ + + name = 'cephvolumescan' + consumes = (InstalledRPM,) + produces = (CephInfo,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + output = cephvolumescan.encrypted_osds_list() + self.produce(CephInfo(encrypted_volumes=output)) diff --git a/repos/system_upgrade/common/actors/cephvolumescan/libraries/cephvolumescan.py b/repos/system_upgrade/common/actors/cephvolumescan/libraries/cephvolumescan.py new file mode 100644 index 0000000..b236410 --- /dev/null +++ b/repos/system_upgrade/common/actors/cephvolumescan/libraries/cephvolumescan.py @@ -0,0 +1,72 @@ +import json +import os +import re + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import InstalledRPM + +CEPH_CONF = "/etc/ceph/ceph.conf" +CONTAINER = "ceph-osd" + + +def select_osd_container(engine): + try: + output = run([engine, 'ps']) + except CalledProcessError as cpe: + raise StopActorExecutionError( + 'Could not retrieve running containers list', + details={'details': 'An exception raised during containers listing {}'.format(str(cpe))} + ) + for line in output['stdout'].splitlines(): + container_name = line.split()[-1] + if re.match(CONTAINER, container_name): + return container_name + return None + + +def get_ceph_lvm_list(): + base_cmd = ['ceph-volume', 'lvm', 'list', '--format', 'json'] + container_binary = 'podman' if has_package(InstalledRPM, 'podman') else \ + 'docker' if has_package(InstalledRPM, 'docker') else '' + if container_binary == '' and has_package(InstalledRPM, 'ceph-osd'): + cmd_ceph_lvm_list = base_cmd + elif container_binary == '': + return None + else: + container_name = select_osd_container(container_binary) + if container_name is None: + return None + cmd_ceph_lvm_list = [container_binary, 'exec', container_name] + cmd_ceph_lvm_list.extend(base_cmd) + try: + output = run(cmd_ceph_lvm_list) + except CalledProcessError as cpe: + raise StopActorExecutionError( + 'Could not retrieve the ceph volumes list', + details={'details': 'An exception raised while retrieving ceph volumes {}'.format(str(cpe))} + ) + try: + json_output = json.loads(output['stdout']) + except ValueError as jve: + raise StopActorExecutionError( + 'Could not load json file containing ceph volume list', + details={'details': 'json file wrong format {}'.format(str(jve))} + ) + return json_output + + +def encrypted_osds_list(): + result = [] + if os.path.isfile(CEPH_CONF): + output = get_ceph_lvm_list() + if output is not None: + try: + result = [output[key][0]['lv_uuid'] for key in output if output[key][0]['tags']['ceph.encrypted']] + except KeyError: + # TODO: possibly raise a report item with a medium risk factor + # TODO: possibly create list of problematic osds, extend the cephinfo + # # model to include the list and then report it. + api.current_logger().warning('ceph-osd is installed but no encrypted osd has been found') + return result diff --git a/repos/system_upgrade/common/actors/cephvolumescan/tests/test_cephvolumescan.py b/repos/system_upgrade/common/actors/cephvolumescan/tests/test_cephvolumescan.py new file mode 100644 index 0000000..f3811c4 --- /dev/null +++ b/repos/system_upgrade/common/actors/cephvolumescan/tests/test_cephvolumescan.py @@ -0,0 +1,85 @@ +import pytest +from mock import Mock, patch + +from leapp.libraries.actor import cephvolumescan +from leapp.models import InstalledRPM, LsblkEntry, RPM, StorageInfo +from leapp.reporting import Report + +CONT_PS_COMMAND_OUTPUT = { + "stdout": + """CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES + 50d96fe72019 registry.redhat.io/rhceph/rhceph-4-rhel8:latest "/opt/ceph-contain..." \ + 2 weeks ago Up 2 weeks ceph-osd-0 + f93c17b49c40 registry.redhat.io/rhceph/rhceph-4-rhel8:latest "/opt/ceph-contain..." \ + 2 weeks ago Up 2 weeks ceph-osd-1 + 0669880c52dc registry.redhat.io/rhceph/rhceph-4-rhel8:latest "/opt/ceph-contain..." \ + 2 weeks ago Up 2 weeks ceph-mgr-ceph4-standalone + d7068301294e registry.redhat.io/rhceph/rhceph-4-rhel8:latest "/opt/ceph-contain..." \ + 2 weeks ago Up 2 weeks ceph-mon-ceph4-standalone + 63de6d00f241 registry.redhat.io/openshift4/ose-prometheus-alertmanager:4.1 "/bin/alertmanager..." \ + 2 weeks ago Up 2 weeks alertmanager + 28ed65960c80 registry.redhat.io/rhceph/rhceph-4-dashboard-rhel8:4 "/run.sh" \ + 2 weeks ago Up 2 weeks grafana-server + f4b300d7a11f registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.1 "/bin/node_exporte..." \ + 2 weeks ago Up 2 weeks node-exporter + 95a03700b3ff registry.redhat.io/openshift4/ose-prometheus:4.1 "/bin/prometheus -..." \ + 2 weeks ago Up 2 weeks prometheus""" + } + +CEPH_VOLUME_OUTPUT = { + "stdout": """{ + "0":[ + { + "devices":[ + "/dev/sda" + ], + "lv_name":"osd-block-c5215ba7-517b-45c7-88df-37a03eeaa0e9", + "lv_uuid":"Tyc0TH-RDxr-ebAF-9mWF-Kh5R-YnvJ-cEcGVn", + "tags":{ + "ceph.encrypted":"1" + }, + "type":"block", + "vg_name":"ceph-a696c40d-6b1d-448d-a40e-fadca22b64bc" + } + ] + }""" +} + +CEPH_LVM_LIST = { + '0': [{'devices': ['/dev/sda'], + 'lv_name': 'osd-block-c5215ba7-517b-45c7-88df-37a03eeaa0e9', + 'lv_uuid': 'Tyc0TH-RDxr-ebAF-9mWF-Kh5R-YnvJ-cEcGVn', + 'tags': {'ceph.encrypted': '1'}, + 'type': 'block', + 'vg_name': 'ceph-a696c40d-6b1d-448d-a40e-fadca22b64bc'}] + } + + +@patch('leapp.libraries.actor.cephvolumescan.run') +def test_select_osd_container(m_run): + + m_run.return_value = CONT_PS_COMMAND_OUTPUT + + assert cephvolumescan.select_osd_container('docker') == "ceph-osd-0" + + +@patch('leapp.libraries.actor.cephvolumescan.has_package') +@patch('leapp.libraries.actor.cephvolumescan.select_osd_container') +@patch('leapp.libraries.actor.cephvolumescan.run') +def test_get_ceph_lvm_list(m_run, m_osd_container, m_has_package): + + m_has_package.return_value = True + m_osd_container.return_value = 'podman' + m_run.return_value = CEPH_VOLUME_OUTPUT + + assert cephvolumescan.get_ceph_lvm_list() == CEPH_LVM_LIST + + +@patch('leapp.libraries.actor.cephvolumescan.os.path.isfile') +@patch('leapp.libraries.actor.cephvolumescan.get_ceph_lvm_list') +def test_encrypted_osds_list(m_get_ceph_lvm_list, m_isfile): + + m_get_ceph_lvm_list.return_value = CEPH_LVM_LIST + m_isfile.return_value = True + + assert cephvolumescan.encrypted_osds_list() == ['Tyc0TH-RDxr-ebAF-9mWF-Kh5R-YnvJ-cEcGVn'] diff --git a/repos/system_upgrade/common/actors/checkbootavailspace/actor.py b/repos/system_upgrade/common/actors/checkbootavailspace/actor.py new file mode 100644 index 0000000..1d9758c --- /dev/null +++ b/repos/system_upgrade/common/actors/checkbootavailspace/actor.py @@ -0,0 +1,31 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkbootavailspace import ( + check_avail_space_on_boot, + get_avail_bytes_on_boot, +) +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckBootAvailSpace(Actor): + """ + Check if at least 100Mib of available space on /boot. If not, inhibit the upgrade process. + + Rationale for the requirement of 100MiB: + - Before reboot into initramfs, the CopyInitramfsToBoot actor copies kernel and initramfs to + /boot, together worth of 66MiB. + - After booting into initramfs, the RemoveBootFiles actor removes the copied kernel and + initramfs from /boot. + - The DnfShellRpmUpgrade installs a new kernel-core package which puts additional 54MiB of data + to /boot. + - Even though the available space needed at the time of writing this actor is 66MiB, the + additional 100-66=34MiB is a leeway for potential growth of the kernel or initramfs in size. + """ + + name = 'check_boot_avail_space' + consumes = () + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + check_avail_space_on_boot(get_avail_bytes_on_boot) diff --git a/repos/system_upgrade/common/actors/checkbootavailspace/libraries/checkbootavailspace.py b/repos/system_upgrade/common/actors/checkbootavailspace/libraries/checkbootavailspace.py new file mode 100644 index 0000000..7380f33 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkbootavailspace/libraries/checkbootavailspace.py @@ -0,0 +1,39 @@ +from __future__ import division + +from os import statvfs + +from leapp import reporting + +MIN_AVAIL_BYTES_FOR_BOOT = 100 * 2**20 # 100 MiB + + +def check_avail_space_on_boot(boot_avail_space_getter): + avail_bytes = boot_avail_space_getter() + if is_additional_space_required(avail_bytes): + inhibit_upgrade(avail_bytes) + + +def get_avail_bytes_on_boot(): + boot_stat = statvfs('/boot') + return boot_stat.f_frsize * boot_stat.f_bavail + + +def is_additional_space_required(avail_bytes): + return avail_bytes < MIN_AVAIL_BYTES_FOR_BOOT + + +def inhibit_upgrade(avail_bytes): + additional_mib_needed = (MIN_AVAIL_BYTES_FOR_BOOT - avail_bytes) / 2**20 + # we use "reporting.report_generic" to allow mocking in the tests + # WIP ^^ check if this still applies + reporting.create_report([ + reporting.Title('Not enough space on /boot'), + reporting.Summary( + '/boot needs additional {0} MiB to be able to accommodate the upgrade initramfs and new kernel.'.format( + additional_mib_needed) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.FILESYSTEM]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.RelatedResource('directory', '/boot') + ]) diff --git a/repos/system_upgrade/common/actors/checkbootavailspace/tests/unit_test_checkbootavailspace.py b/repos/system_upgrade/common/actors/checkbootavailspace/tests/unit_test_checkbootavailspace.py new file mode 100644 index 0000000..094164c --- /dev/null +++ b/repos/system_upgrade/common/actors/checkbootavailspace/tests/unit_test_checkbootavailspace.py @@ -0,0 +1,54 @@ +from __future__ import division + +from leapp import reporting +from leapp.libraries.actor.checkbootavailspace import ( + check_avail_space_on_boot, + inhibit_upgrade, + MIN_AVAIL_BYTES_FOR_BOOT +) +from leapp.libraries.common.testutils import create_report_mocked +from leapp.utils.report import is_inhibitor + + +class fake_get_avail_bytes_on_boot(object): + def __init__(self, size): + self.size = size + + def __call__(self, *args): + return self.size + + +def test_not_enough_space_available(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + # Test 0 bytes available /boot + get_avail_bytes_on_boot = fake_get_avail_bytes_on_boot(0) + check_avail_space_on_boot(get_avail_bytes_on_boot) + + # Test 0.1 MiB less then required in /boot + get_avail_bytes_on_boot = fake_get_avail_bytes_on_boot(MIN_AVAIL_BYTES_FOR_BOOT - 0.1 * 2**20) + check_avail_space_on_boot(get_avail_bytes_on_boot) + + assert reporting.create_report.called == 2 + + +def test_enough_space_available(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + get_avail_bytes_on_boot = fake_get_avail_bytes_on_boot(MIN_AVAIL_BYTES_FOR_BOOT) + check_avail_space_on_boot(get_avail_bytes_on_boot) + + assert reporting.create_report.called == 0 + + +def test_inhibit_upgrade(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + # Test 4.2 MiB available on /boot + bytes_available = 4.2 * 2**20 + inhibit_upgrade(bytes_available) + + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + mib_needed = (MIN_AVAIL_BYTES_FOR_BOOT - bytes_available) / 2**20 + assert "needs additional {0} MiB".format(mib_needed) in reporting.create_report.report_fields['summary'] diff --git a/repos/system_upgrade/common/actors/checkcifs/actor.py b/repos/system_upgrade/common/actors/checkcifs/actor.py new file mode 100644 index 0000000..f124b85 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkcifs/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkcifs import checkcifs +from leapp.models import StorageInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckCIFS(Actor): + """ + Check if CIFS filesystem is in use. If yes, inhibit the upgrade process. + + Actor looks for CIFS in /ets/fstab. + If there is a CIFS entry, the upgrade is inhibited. + """ + name = "check_cifs" + consumes = (StorageInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + checkcifs(self.consume(StorageInfo)) diff --git a/repos/system_upgrade/common/actors/checkcifs/libraries/checkcifs.py b/repos/system_upgrade/common/actors/checkcifs/libraries/checkcifs.py new file mode 100644 index 0000000..b3ae146 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkcifs/libraries/checkcifs.py @@ -0,0 +1,23 @@ +from leapp import reporting +from leapp.libraries.common.config import get_env +from leapp.reporting import create_report + + +def checkcifs(storage_info): + # if network in initramfs is enabled CIFS inhibitor is redundant + if get_env('LEAPP_DEVEL_INITRAM_NETWORK', None): + return + for storage in storage_info: + if any(entry.fs_vfstype == "cifs" for entry in storage.fstab): + create_report([ + reporting.Title("Use of CIFS detected. Upgrade can't proceed"), + reporting.Summary("CIFS is currently not supported by the inplace upgrade."), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.FILESYSTEM, + reporting.Groups.NETWORK + ]), + reporting.Remediation(hint='Comment out CIFS entries to proceed with the upgrade.'), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.RelatedResource('file', '/etc/fstab') + ]) diff --git a/repos/system_upgrade/common/actors/checkcifs/tests/test_checkcifs.py b/repos/system_upgrade/common/actors/checkcifs/tests/test_checkcifs.py new file mode 100644 index 0000000..50a8497 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkcifs/tests/test_checkcifs.py @@ -0,0 +1,38 @@ +from leapp.libraries.common import config +from leapp.models import FstabEntry, StorageInfo +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def test_actor_with_fstab_entry(current_actor_context, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + with_fstab_entry = [FstabEntry(fs_spec="//10.20.30.42/share1", fs_file="/mnt/win_share1", + fs_vfstype="cifs", + fs_mntops="credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755", + fs_freq="0", fs_passno="0"), + FstabEntry(fs_spec="//10.20.30.42/share2", fs_file="/mnt/win_share2", + fs_vfstype="cifs", + fs_mntops="credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755", + fs_freq="0", fs_passno="0"), + FstabEntry(fs_spec="/dev/mapper/fedora-home", fs_file="/home", + fs_vfstype="ext4", + fs_mntops="defaults,x-systemd.device-timeout=0", + fs_freq="1", fs_passno="2")] + current_actor_context.feed(StorageInfo(fstab=with_fstab_entry)) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + assert report_fields['severity'] == 'high' + assert report_fields['title'] == "Use of CIFS detected. Upgrade can't proceed" + + +def test_actor_no_cifs(current_actor_context, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + with_fstab_entry = [FstabEntry(fs_spec="/dev/mapper/fedora-home", fs_file="/home", + fs_vfstype="ext4", + fs_mntops="defaults,x-systemd.device-timeout=0", + fs_freq="1", fs_passno="2")] + current_actor_context.feed(StorageInfo(fstab=with_fstab_entry)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/common/actors/checkconsumedassets/actor.py b/repos/system_upgrade/common/actors/checkconsumedassets/actor.py new file mode 100644 index 0000000..4d7aaf1 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkconsumedassets/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import check_consumed_assets +from leapp.models import ConsumedDataAsset, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckConsumedAssets(Actor): + """ + Check whether Leapp is using correct data assets. + """ + + name = 'check_consumed_assets' + consumes = (ConsumedDataAsset,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + check_consumed_assets.inhibit_if_assets_with_incorrect_version() diff --git a/repos/system_upgrade/common/actors/checkconsumedassets/libraries/check_consumed_assets.py b/repos/system_upgrade/common/actors/checkconsumedassets/libraries/check_consumed_assets.py new file mode 100644 index 0000000..f5998de --- /dev/null +++ b/repos/system_upgrade/common/actors/checkconsumedassets/libraries/check_consumed_assets.py @@ -0,0 +1,162 @@ +import re +from collections import defaultdict, namedtuple + +from leapp import reporting +from leapp.libraries.common.config import get_consumed_data_stream_id +from leapp.libraries.common.fetch import ASSET_PROVIDED_DATA_STREAMS_FIELD +from leapp.libraries.stdlib import api +from leapp.models import ConsumedDataAsset + + +def compose_summary_for_incompatible_assets(assets, incompatibility_reason): + if not assets: + return [] + + summary_lines = ['The following assets are {reason}'.format(reason=incompatibility_reason)] + for asset in assets: + if asset.provided_data_streams is None: # Assets with missing streams are placed only in .outdated bucket + details = (' - The asset {what_asset} is missing information about provided data streams ' + 'in its metadata header') + details = details.format(what_asset=asset.filename) + else: + article, multiple_suffix = ('the ', '') if len(asset.provided_data_streams) == 1 else ('', 's') + details = ' - The asset {what_asset} provides {article}data stream{mult_suffix} {provided_streams}' + details = details.format(what_asset=asset.filename, + provided_streams=', '.join(asset.provided_data_streams), + article=article, mult_suffix=multiple_suffix) + summary_lines.append(details) + return summary_lines + + +def make_report_entries_with_unique_urls(docs_url_to_title_map): + report_urls = [] + # Add every unique asset URL into the report + urls_with_multiple_titles = [] + for url, titles in docs_url_to_title_map.items(): + if len(titles) > 1: + urls_with_multiple_titles.append(url) + + report_entry = reporting.ExternalLink(title=titles[0], url=url) + report_urls.append(report_entry) + + if urls_with_multiple_titles: + msg = 'Docs URLs {urls} are used with inconsistent URL titles, picking one.' + api.current_logger().warning(msg.format(urls=', '.join(urls_with_multiple_titles))) + + return report_urls + + +def report_incompatible_assets(assets): + if not any((assets.outdated, assets.too_new, assets.unknown)): + return + + title = 'Incompatible Leapp data assets are present' + + docs_url_to_title_map = defaultdict(list) + required_data_stream = get_consumed_data_stream_id() + summary_prelude = ('The currently installed Leapp consumes data stream {consumed_data_stream}, but the ' + 'following assets provide different streams:') + summary_lines = [summary_prelude.format(consumed_data_stream=required_data_stream)] + + assets_with_shared_summary_entry = [ + ('outdated', assets.outdated), + ('intended for a newer leapp', assets.too_new), + ('has an incorrect version', assets.unknown) + ] + + doc_url_to_title = defaultdict(list) # To make sure we do not spam the user with the same URLs + for reason, incompatible_assets in assets_with_shared_summary_entry: + summary_lines += compose_summary_for_incompatible_assets(incompatible_assets, reason) + + for asset in incompatible_assets: + doc_url_to_title[asset.docs_url].append(asset.docs_title) + + report_parts = [ + reporting.Title(title), + reporting.Summary('\n'.join(summary_lines)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR, reporting.Groups.REPOSITORY]), + ] + + report_parts += make_report_entries_with_unique_urls(docs_url_to_title_map) + reporting.create_report(report_parts) + + +def report_malformed_assets(malformed_assets): + if not malformed_assets: + return + + title = 'Detected malformed Leapp data assets' + summary_lines = ['The following assets are malformed:'] + + docs_url_to_title_map = defaultdict(list) + for asset in malformed_assets: + if not asset.provided_data_streams: + details = (' - The asset file {filename} contains no values in its "{provided_data_streams_field}" ' + 'field, or the field does not contain a list') + details = details.format(filename=asset.filename, + provided_data_streams_field=ASSET_PROVIDED_DATA_STREAMS_FIELD) + else: + # The asset is malformed because we failed to convert its major versions to ints + details = ' - The asset file {filename} contains invalid value in its "{data_streams_field}"' + details = details.format(filename=asset.filename, data_streams_field=ASSET_PROVIDED_DATA_STREAMS_FIELD) + summary_lines.append(details) + docs_url_to_title_map[asset.docs_url].append(asset.docs_title) + + report_parts = [ + reporting.Title(title), + reporting.Summary('\n'.join(summary_lines)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR, reporting.Groups.REPOSITORY]), + ] + + report_parts += make_report_entries_with_unique_urls(docs_url_to_title_map) + reporting.create_report(report_parts) + + +def inhibit_if_assets_with_incorrect_version(): + required_data_stream = get_consumed_data_stream_id() + required_data_stream_major = int(required_data_stream.split('.', 1)[0]) + + # The assets are collected according to why are they considered incompatible, so that a single report is created + # for every class + IncompatibleAssetsByType = namedtuple('IncompatibleAssets', ('outdated', 'too_new', 'malformed', 'unknown')) + incompatible_assets = IncompatibleAssetsByType(outdated=[], too_new=[], malformed=[], unknown=[]) + + datastream_version_re = re.compile(r'\d+\.\d+$') + + for consumed_asset in api.consume(ConsumedDataAsset): + if consumed_asset.provided_data_streams is None: # There is no provided_data_streams field + # Most likely an old file that predates the introduction of versioning to data assets + incompatible_assets.outdated.append(consumed_asset) + continue + + # Ignore minor stream numbers and search only for a stream matching the same major number + if all((datastream_version_re.match(stream) for stream in consumed_asset.provided_data_streams)): + provided_major_data_streams = sorted( + int(stream.split('.', 1)[0]) for stream in consumed_asset.provided_data_streams + ) + else: + incompatible_assets.malformed.append(consumed_asset) + continue + + if required_data_stream_major in provided_major_data_streams: + continue + + if not provided_major_data_streams: + # The field contained [], or something that was not a list, but it was corrected to [] to satisfy model + incompatible_assets.malformed.append(consumed_asset) + continue + + if required_data_stream_major > max(provided_major_data_streams): + incompatible_assets.outdated.append(consumed_asset) + elif required_data_stream_major < min(provided_major_data_streams): + incompatible_assets.too_new.append(consumed_asset) + else: + # Since the `provided_data_vers` is a list of values, it is possible that the asset provide, e.g., 4.0 + # and 6.0, but the leapp consumes 5.0, thus we need to be careful when to say that an asset is too + # new/outdated/none. + incompatible_assets.unknown.append(consumed_asset) + + report_incompatible_assets(incompatible_assets) + report_malformed_assets(incompatible_assets.malformed) diff --git a/repos/system_upgrade/common/actors/checkconsumedassets/tests/test_asset_version_checking.py b/repos/system_upgrade/common/actors/checkconsumedassets/tests/test_asset_version_checking.py new file mode 100644 index 0000000..9c324b4 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkconsumedassets/tests/test_asset_version_checking.py @@ -0,0 +1,47 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import check_consumed_assets as check_consumed_assets_lib +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import ConsumedDataAsset +from leapp.utils.report import is_inhibitor + + +@pytest.mark.parametrize(('asset_data_streams', 'inhibit_reason'), + ((['10.0'], None), + (['9.3', '10.1', '11.0'], None), + (['11.1'], 'incompatible'), + (['3.1', '4.0'], 'incompatible'), + (['11.1', '12.0'], 'incompatible'), + ([], 'malformed'), + (['malformed'], 'malformed'))) +def test_asset_version_correctness_assessment(monkeypatch, asset_data_streams, inhibit_reason): + + monkeypatch.setattr(check_consumed_assets_lib, 'get_consumed_data_stream_id', lambda: '10.0') + used_asset = ConsumedDataAsset(filename='asset.json', + fulltext_name='', + docs_url='', + docs_title='', + provided_data_streams=asset_data_streams) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[used_asset])) + create_report_mock = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', create_report_mock) + + check_consumed_assets_lib.inhibit_if_assets_with_incorrect_version() + + expected_report_count = 1 if inhibit_reason else 0 + assert create_report_mock.called == expected_report_count + if inhibit_reason: + report = create_report_mock.reports[0] + assert is_inhibitor(report) + assert inhibit_reason in report['title'].lower() + + +def test_make_report_entries_with_unique_urls(): + # Check that multiple titles produce one report + docs_url_to_title_map = {'/path/to/asset1': ['asset1_title1', 'asset1_title2'], + '/path/to/asset2': ['asset2_title']} + report_urls = check_consumed_assets_lib.make_report_entries_with_unique_urls(docs_url_to_title_map) + assert set([ru.value['url'] for ru in report_urls]) == {'/path/to/asset1', '/path/to/asset2'} diff --git a/repos/system_upgrade/common/actors/checkdetecteddevicesanddrivers/actor.py b/repos/system_upgrade/common/actors/checkdetecteddevicesanddrivers/actor.py new file mode 100644 index 0000000..1dc923d --- /dev/null +++ b/repos/system_upgrade/common/actors/checkdetecteddevicesanddrivers/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkdddd +from leapp.models import DetectedDeviceOrDriver, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckDetectedDevicesAndDrivers(Actor): + """ + Checks whether or not detected devices and drivers are usable on the target system. + + In case a driver is no longer present in the target system, an inhibitor will be raised. + If the device or driver is not maintained anymore, a warning report will be generated. + """ + + name = 'check_detected_devices_and_drivers' + consumes = (DetectedDeviceOrDriver,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + checkdddd.process() diff --git a/repos/system_upgrade/common/actors/checkdetecteddevicesanddrivers/libraries/checkdddd.py b/repos/system_upgrade/common/actors/checkdetecteddevicesanddrivers/libraries/checkdddd.py new file mode 100644 index 0000000..df431c0 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkdetecteddevicesanddrivers/libraries/checkdddd.py @@ -0,0 +1,180 @@ +from collections import defaultdict +from enum import IntEnum + +from leapp import reporting +from leapp.libraries.common.config.version import get_source_major_version, get_target_major_version +from leapp.libraries.stdlib import api +from leapp.models import DetectedDeviceOrDriver + + +class MessagingClass(IntEnum): + UNKNOWN = 0 + DRIVERS = 1 + DEVICES = 2 + CPUS = 3 + + +def create_inhibitors(inhibiting_entries): + if not inhibiting_entries: + return + + drivers = inhibiting_entries.get(MessagingClass.DRIVERS) + if drivers: + reporting.create_report([ + reporting.Title( + 'Leapp detected loaded kernel drivers which have been removed ' + 'in RHEL {}. Upgrade cannot proceed.'.format(get_target_major_version()) + ), + reporting.Summary( + ( + 'Support for the following RHEL {source} device drivers has been removed in RHEL {target}:\n' + ' - {drivers}\n' + ).format( + drivers='\n - '.join([entry.driver_name for entry in drivers]), + target=get_target_major_version(), + source=get_source_major_version(), + ) + ), + reporting.Audience('sysadmin'), + reporting.Groups([reporting.Groups.KERNEL, reporting.Groups.DRIVERS]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]) + ]) + + devices = inhibiting_entries.get(MessagingClass.DEVICES) + if devices: + reporting.create_report([ + reporting.Title( + 'Leapp detected devices which are no longer supported in RHEL {}. Upgrade cannot proceed.'.format( + get_target_major_version()) + ), + reporting.Summary( + ( + 'Support for the following devices has been removed in RHEL {target}:\n' + ' - {devices}\n' + ).format( + devices='\n - '.join(['{name} ({pci})'.format(name=entry.device_name, + pci=entry.device_id) for entry in devices]), + target=get_target_major_version(), + ) + ), + reporting.Audience('sysadmin'), + reporting.Groups([reporting.Groups.KERNEL]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]) + ]) + + cpus = inhibiting_entries.get(MessagingClass.CPUS) + if cpus: + reporting.create_report([ + reporting.Title( + 'Leapp detected a processor which is no longer supported in RHEL {}. Upgrade cannot proceed.'.format( + get_target_major_version()) + ), + reporting.Summary( + ( + 'Support for the following processors has been removed in RHEL {target}:\n' + ' - {processors}\n' + ).format( + processors='\n - '.join([entry.device_name for entry in cpus]), + target=get_target_major_version(), + ) + ), + reporting.Audience('sysadmin'), + reporting.Groups([reporting.Groups.KERNEL, reporting.Groups.BOOT]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]) + ]) + + +def create_warnings(unmaintained_entries): + if not unmaintained_entries: + return + + drivers = unmaintained_entries.get(MessagingClass.DRIVERS) + if drivers: + reporting.create_report([ + reporting.Title( + 'Leapp detected loaded kernel drivers which are no longer maintained in RHEL {}.'.format( + get_target_major_version()) + ), + reporting.Summary( + ( + 'The following RHEL {source} device drivers are no longer maintained RHEL {target}:\n' + ' - {drivers}\n' + ).format( + drivers='\n - '.join([entry.driver_name for entry in drivers]), + target=get_target_major_version(), + source=get_source_major_version(), + ) + ), + reporting.Audience('sysadmin'), + reporting.Groups([reporting.Groups.KERNEL, reporting.Groups.DRIVERS]), + reporting.Severity(reporting.Severity.HIGH), + ]) + + devices = unmaintained_entries.get(MessagingClass.DEVICES) + if devices: + reporting.create_report([ + reporting.Title( + 'Leapp detected devices which are no longer maintained in RHEL {}'.format( + get_target_major_version()) + ), + reporting.Summary( + ( + 'The support for the following devices has been removed in RHEL {target} and ' + 'are no longer maintained:\n - {devices}\n' + ).format( + devices='\n - '.join(['{name} ({pci})'.format(name=entry.device_name, + pci=entry.device_id) for entry in devices]), + target=get_target_major_version(), + ) + ), + reporting.Audience('sysadmin'), + reporting.Groups([reporting.Groups.KERNEL]), + reporting.Severity(reporting.Severity.HIGH), + ]) + + cpus = unmaintained_entries.get(MessagingClass.CPUS) + if cpus: + reporting.create_report([ + reporting.Title( + 'Leapp detected a processor which is no longer maintained in RHEL {}.'.format( + get_target_major_version()) + ), + reporting.Summary( + ( + 'The following processors are no longer maintained in RHEL {target}:\n' + ' - {processors}\n' + ).format( + processors='\n - '.join([entry.device_name for entry in cpus]), + target=get_target_major_version(), + ) + ), + reporting.Audience('sysadmin'), + reporting.Groups([reporting.Groups.KERNEL, reporting.Groups.BOOT]), + reporting.Severity(reporting.Severity.HIGH), + ]) + + +def classify(entry): + if entry.device_type == 'pci': + if entry.device_id: + return MessagingClass.DEVICES + return MessagingClass.DRIVERS + if entry.device_type == 'cpu': + return MessagingClass.CPUS + return MessagingClass.UNKNOWN + + +def process(): + target_version = int(get_target_major_version()) + inhibiting = defaultdict(list) + unmaintained = defaultdict(list) + for entry in api.consume(DetectedDeviceOrDriver): + if target_version not in entry.available_in_rhel: + inhibiting[classify(entry)].append(entry) + elif target_version not in entry.maintained_in_rhel: + unmaintained[classify(entry)].append(entry) + create_inhibitors(inhibiting) + create_warnings(unmaintained) diff --git a/repos/system_upgrade/common/actors/checketcreleasever/actor.py b/repos/system_upgrade/common/actors/checketcreleasever/actor.py new file mode 100644 index 0000000..63d8d17 --- /dev/null +++ b/repos/system_upgrade/common/actors/checketcreleasever/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checketcreleasever +from leapp.models import PkgManagerInfo, Report, RHUIInfo +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckEtcReleasever(Actor): + """ + Check releasever info and provide a guidance based on the facts + """ + + name = 'check_etc_releasever' + consumes = (PkgManagerInfo, RHUIInfo) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checketcreleasever.process() diff --git a/repos/system_upgrade/common/actors/checketcreleasever/libraries/checketcreleasever.py b/repos/system_upgrade/common/actors/checketcreleasever/libraries/checketcreleasever.py new file mode 100644 index 0000000..b0eb791 --- /dev/null +++ b/repos/system_upgrade/common/actors/checketcreleasever/libraries/checketcreleasever.py @@ -0,0 +1,34 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import PkgManagerInfo, RHUIInfo + + +def handle_etc_releasever(): + + target_version = api.current_actor().configuration.version.target + reporting.create_report([ + reporting.Title( + 'Release version in /etc/dnf/vars/releasever will be set to the current target release' + ), + reporting.Summary( + 'On this system, Leapp detected "releasever" variable is either configured through DNF/YUM configuration ' + 'file and/or the system is using RHUI infrastructure. In order to avoid issues with repofile URLs ' + '(when --release option is not provided) in cases where there is the previous major.minor version value ' + 'in the configuration, release version will be set to the target release version ({}). This will also ' + 'ensure the system stays on the expected target version after the upgrade'.format(target_version) + ), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS]), + ]) + + +def process(): + pkg_facts = next(api.consume(PkgManagerInfo), None) + rhui_facts = next(api.consume(RHUIInfo), None) + if pkg_facts and pkg_facts.etc_releasever is not None or rhui_facts: + handle_etc_releasever() + else: + api.current_logger().debug( + 'Skipping execution. "releasever" is not set in DNF/YUM vars directory and no RHUIInfo has ' + 'been produced' + ) diff --git a/repos/system_upgrade/common/actors/checketcreleasever/tests/test_checketcreleasever.py b/repos/system_upgrade/common/actors/checketcreleasever/tests/test_checketcreleasever.py new file mode 100644 index 0000000..82eb084 --- /dev/null +++ b/repos/system_upgrade/common/actors/checketcreleasever/tests/test_checketcreleasever.py @@ -0,0 +1,110 @@ +import os + +import pytest + +from leapp import reporting +from leapp.libraries.actor import checketcreleasever +from leapp.libraries.common.testutils import ( + create_report_mocked, + CurrentActorMocked, + logger_mocked +) +from leapp.libraries.stdlib import api +from leapp.models import PkgManagerInfo, Report, RHUIInfo + + +@pytest.mark.parametrize('exists', [True, False]) +def test_etc_releasever(monkeypatch, exists): + pkg_mgr_msg = [PkgManagerInfo(etc_releasever='7.7')] if exists else [] + expected_rel_ver = '6.10' + + mocked_report = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=pkg_mgr_msg, dst_ver=expected_rel_ver + ) + ) + monkeypatch.setattr(reporting, 'create_report', mocked_report) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + checketcreleasever.process() + + if exists: + assert reporting.create_report.called == 1 + assert expected_rel_ver in mocked_report.report_fields['summary'] + assert not api.current_logger.dbgmsg + else: + assert not reporting.create_report.called + assert api.current_logger.dbgmsg + + +def test_etc_releasever_empty(monkeypatch): + pkg_mgr_msg = [PkgManagerInfo(etc_releasever=None)] + expected_rel_ver = '6.10' + + mocked_report = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=pkg_mgr_msg, dst_ver=expected_rel_ver + ) + ) + monkeypatch.setattr(reporting, 'create_report', mocked_report) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + checketcreleasever.process() + + assert not reporting.create_report.called + assert api.current_logger.dbgmsg + + +@pytest.mark.parametrize('is_rhui', [True, False]) +def test_etc_releasever_rhui(monkeypatch, is_rhui): + rhui_msg = [RHUIInfo(provider='aws')] if is_rhui else [] + expected_rel_ver = '6.10' + + mocked_report = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=rhui_msg, dst_ver=expected_rel_ver + ) + ) + monkeypatch.setattr(reporting, 'create_report', mocked_report) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + checketcreleasever.process() + + if is_rhui: + assert reporting.create_report.called == 1 + assert expected_rel_ver in mocked_report.report_fields['summary'] + assert not api.current_logger.dbgmsg + else: + assert not reporting.create_report.called + assert api.current_logger.dbgmsg + + +def test_etc_releasever_neither(monkeypatch): + mocked_report = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(reporting, 'create_report', mocked_report) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + checketcreleasever.process() + + assert not reporting.create_report.called + assert api.current_logger.dbgmsg + + +def test_etc_releasever_both(monkeypatch): + msgs = [RHUIInfo(provider='aws'), PkgManagerInfo(etc_releasever='7.7')] + expected_rel_ver = '6.10' + + mocked_report = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=msgs, dst_ver=expected_rel_ver + ) + ) + monkeypatch.setattr(reporting, 'create_report', mocked_report) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + checketcreleasever.process() + + assert reporting.create_report.called == 1 + assert expected_rel_ver in mocked_report.report_fields['summary'] + assert not api.current_logger.dbgmsg diff --git a/repos/system_upgrade/common/actors/checkfips/actor.py b/repos/system_upgrade/common/actors/checkfips/actor.py new file mode 100644 index 0000000..bd09b1b --- /dev/null +++ b/repos/system_upgrade/common/actors/checkfips/actor.py @@ -0,0 +1,55 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import version +from leapp.models import DracutModule, FIPSInfo, Report, UpgradeInitramfsTasks +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckFips(Actor): + """ + Inhibit upgrade if FIPS is detected as enabled. + """ + + name = 'check_fips' + consumes = (FIPSInfo,) + produces = (Report, UpgradeInitramfsTasks) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + fips_info = next(self.consume(FIPSInfo), None) + + if not fips_info: + raise StopActorExecutionError('Cannot check FIPS state due to not receiving necessary FIPSInfo message', + details={'Problem': 'Did not receive a message with information about FIPS ' + 'usage'}) + + if version.get_target_major_version() == '8': + if fips_info.is_enabled: + title = 'Automated upgrades from RHEL 7 to RHEL 8 in FIPS mode are not supported' + summary = ('Leapp has detected that FIPS is enabled on this system. ' + 'Automated in-place upgrade of RHEL 7 systems in FIPS mode is currently unsupported ' + 'and manual intervention is required.') + + fips_7to8_steps_docs_url = 'https://red.ht/planning-upgrade-to-rhel8' + + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SECURITY, reporting.Groups.INHIBITOR]), + reporting.ExternalLink(url=fips_7to8_steps_docs_url, + title='Planning an upgrade from RHEL 7 to RHEL 8') + ]) + else: + # FIXME(mhecko): We include these files manually as they are not included automatically when the fips + # module is used due to a bug in dracut. This code should be removed, once the dracut bug is resolved. + # See https://bugzilla.redhat.com/show_bug.cgi?id=2176560 + if fips_info.is_enabled: + fips_required_initramfs_files = [ + '/etc/crypto-policies/back-ends/opensslcnf.config', + '/etc/pki/tls/openssl.cnf', + '/usr/lib64/ossl-modules/fips.so', + ] + self.produce(UpgradeInitramfsTasks(include_files=fips_required_initramfs_files, + include_dracut_modules=[DracutModule(name='fips')])) diff --git a/repos/system_upgrade/common/actors/checkfips/tests/test_checkfips.py b/repos/system_upgrade/common/actors/checkfips/tests/test_checkfips.py new file mode 100644 index 0000000..5498bf2 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkfips/tests/test_checkfips.py @@ -0,0 +1,23 @@ +import pytest + +from leapp.libraries.common.config import version +from leapp.models import FIPSInfo, Report +from leapp.utils.report import is_inhibitor + + +@pytest.mark.parametrize(('fips_info', 'target_major_version', 'should_inhibit'), [ + (FIPSInfo(is_enabled=True), '8', True), + (FIPSInfo(is_enabled=True), '9', False), + (FIPSInfo(is_enabled=False), '8', False), + (FIPSInfo(is_enabled=False), '9', False), +]) +def test_check_fips(monkeypatch, current_actor_context, fips_info, target_major_version, should_inhibit): + monkeypatch.setattr(version, 'get_target_major_version', lambda: target_major_version) + current_actor_context.feed(fips_info) + current_actor_context.run() + if should_inhibit: + output = current_actor_context.consume(Report) + assert len(output) == 1 + assert is_inhibitor(output[0].report) + else: + assert not any(is_inhibitor(msg.report) for msg in current_actor_context.consume(Report)) diff --git a/repos/system_upgrade/common/actors/checkfstabmountorder/actor.py b/repos/system_upgrade/common/actors/checkfstabmountorder/actor.py new file mode 100644 index 0000000..d4e4e49 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkfstabmountorder/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkfstabmountorder import check_fstab_mount_order +from leapp.models import StorageInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckFstabMountOrder(Actor): + """ + Checks order of entries in /etc/fstab based on their mount point and inhibits upgrade if overshadowing is detected. + """ + + name = "check_fstab_mount_order" + consumes = (StorageInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + check_fstab_mount_order() diff --git a/repos/system_upgrade/common/actors/checkfstabmountorder/libraries/checkfstabmountorder.py b/repos/system_upgrade/common/actors/checkfstabmountorder/libraries/checkfstabmountorder.py new file mode 100644 index 0000000..be9b5e8 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkfstabmountorder/libraries/checkfstabmountorder.py @@ -0,0 +1,95 @@ +import os + +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import StorageInfo + +FMT_LIST_SEPARATOR = '\n - ' + + +def _get_common_path(path1, path2): + """ + Return the longest common absolute sub-path for pair of given absolute paths. + + Note that this function implements similar functionality as os.path.commonpath(), however this function is not + available in python2.7, thus can't be used here. + """ + + if not path1 or not path2: + return '' + + path1 = path1.strip('/').split('/') + path2 = path2.strip('/').split('/') + + common_path = [] + for path1_part, path2_part in zip(path1, path2): + if path1_part != path2_part: + break + common_path.append(path1_part) + return os.path.join('/', *common_path) + + +def _get_overshadowing_mount_points(mount_points): + """ + Retrieve set of overshadowing and overshadowed mount points. + + :param list[str] mount_points: absolute paths to mount points without trailing / + :returns: set of unique mount points without trailing / + """ + overshadowing = set() + for i, mount_point in enumerate(mount_points): + for overshadowing_mount_point in mount_points[i+1:]: + if _get_common_path(mount_point, overshadowing_mount_point) == overshadowing_mount_point: + overshadowing.add(overshadowing_mount_point) + overshadowing.add(mount_point) + return overshadowing + + +def check_fstab_mount_order(): + storage_info = next(api.consume(StorageInfo), None) + + if not storage_info: + return + + mount_points = [] + for fstab_entry in storage_info.fstab: + mount_point = fstab_entry.fs_file + if mount_point != '/': + mount_point = mount_point.rstrip('/') + if os.path.isabs(mount_point): + mount_points.append(mount_point) + + overshadowing = _get_overshadowing_mount_points(mount_points) + duplicates = {mp for mp in mount_points if mount_points.count(mp) > 1} + + if not overshadowing: + return + + overshadowing_in_order = [mp for mp in mount_points if mp in overshadowing] + overshadowing_fixed = sorted(set(mount_points), key=len) + summary = 'Leapp detected incorrect /etc/fstab format that causes overshadowing of mount points.' + hint = 'To prevent the overshadowing:' + + if duplicates: + summary += '\nDetected mount points with duplicates: {}'.format(', '.join(duplicates)) + hint += ' Remove detected duplicates by using unique mount points.' + + if overshadowing: + summary += '\nDetected order of overshadowing mount points: {}'.format(', '.join(overshadowing_in_order)) + hint += ( + ' Reorder the detected overshadowing entries. Possible order of all mount ' + 'points without overshadowing:{}{}' + ).format(FMT_LIST_SEPARATOR, FMT_LIST_SEPARATOR.join(overshadowing_fixed)) + + reporting.create_report([ + reporting.Title( + 'Detected incorrect order of entries or duplicate entries in /etc/fstab, preventing a successful ' + 'in-place upgrade.' + ), + reporting.Summary(summary), + reporting.Remediation(hint=hint), + reporting.RelatedResource('file', '/etc/fstab'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.FILESYSTEM]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ]) diff --git a/repos/system_upgrade/common/actors/checkfstabmountorder/tests/test_checkfstabmountorder.py b/repos/system_upgrade/common/actors/checkfstabmountorder/tests/test_checkfstabmountorder.py new file mode 100644 index 0000000..ade842e --- /dev/null +++ b/repos/system_upgrade/common/actors/checkfstabmountorder/tests/test_checkfstabmountorder.py @@ -0,0 +1,89 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.checkfstabmountorder import ( + _get_common_path, + _get_overshadowing_mount_points, + check_fstab_mount_order +) +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import FstabEntry, MountEntry, StorageInfo + +VAR_ENTRY = FstabEntry(fs_spec='', fs_file='/var', fs_vfstype='', + fs_mntops='defaults', fs_freq='0', fs_passno='0') +VAR_DUPLICATE_ENTRY = FstabEntry(fs_spec='', fs_file='/var/', fs_vfstype='', + fs_mntops='defaults', fs_freq='0', fs_passno='0') +VAR_LOG_ENTRY = FstabEntry(fs_spec='', fs_file='/var/log', fs_vfstype='', + fs_mntops='defaults', fs_freq='0', fs_passno='0') + + +@pytest.mark.parametrize( + ('path1', 'path2', 'expected_output'), + [ + ('', '', ''), + ('/var', '/var', '/var'), + ('/var/lib/leapp', '/var/lib', '/var/lib'), + ('/var/lib/leapp', '/home', '/'), + ('/var/lib/leapp', '/var/lib/lea', '/var/lib'), + ] +) +def test_get_common_path(path1, path2, expected_output): + assert _get_common_path(path1, path2) == expected_output + + +@pytest.mark.parametrize( + ('fstab_entries', 'expected_output'), + [ + ( + ['/var', '/var/log'], + set() + ), + ( + ['/var', '/'], + {'/var', '/'} + ), + ( + ['/var/log', '/var', '/var'], + {'/var/log', '/var'} + ), + ( + ['/var/log', '/home', '/var', '/var/lib/leapp'], + {'/var/log', '/var'} + ), + ( + ['/var/log', '/home', '/var/lib/leapp', '/var'], + {'/var/log', '/var', '/var/lib/leapp'} + ), + ( + ['/var/log', '/home', '/var', '/var/lib/lea', '/var/lib/leapp'], + {'/var/log', '/var'} + ), + ] +) +def test_get_overshadowing_mount_points(fstab_entries, expected_output): + assert _get_overshadowing_mount_points(fstab_entries) == expected_output + + +@pytest.mark.parametrize( + ('storage_info', 'should_inhibit', 'duplicates'), + [ + (StorageInfo(fstab=[]), False, False), + (StorageInfo(fstab=[VAR_LOG_ENTRY, VAR_ENTRY]), True, False), + (StorageInfo(fstab=[VAR_LOG_ENTRY, VAR_ENTRY, VAR_DUPLICATE_ENTRY]), True, True), + (StorageInfo(fstab=[VAR_ENTRY, VAR_LOG_ENTRY]), False, False), + ] +) +def test_var_lib_leapp_non_persistent_is_detected(monkeypatch, storage_info, should_inhibit, duplicates): + + created_reports = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[storage_info])) + monkeypatch.setattr(reporting, 'create_report', created_reports) + + check_fstab_mount_order() + + if should_inhibit: + assert created_reports.called == 1 + + if duplicates: + assert 'Detected mount points with duplicates:' in created_reports.reports[-1]['summary'] diff --git a/repos/system_upgrade/common/actors/checkgrubcore/actor.py b/repos/system_upgrade/common/actors/checkgrubcore/actor.py new file mode 100644 index 0000000..ae9e53e --- /dev/null +++ b/repos/system_upgrade/common/actors/checkgrubcore/actor.py @@ -0,0 +1,56 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import architecture +from leapp.models import FirmwareFacts, GrubInfo +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +GRUB_SUMMARY = ('On legacy (BIOS) systems, GRUB2 core (located in the gap between the MBR and the ' + 'first partition) cannot be updated during the rpm transaction and Leapp has to initiate ' + 'the update running "grub2-install" after the transaction. No action is needed before the ' + 'upgrade. After the upgrade, it is recommended to check the GRUB configuration.') + + +class CheckGrubCore(Actor): + """ + Check whether we are on legacy (BIOS) system and instruct Leapp to upgrade GRUB core + """ + + name = 'check_grub_core' + consumes = (FirmwareFacts, GrubInfo) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if architecture.matches_architecture(architecture.ARCH_S390X): + # s390x archs use ZIPL instead of GRUB + return + + ff = next(self.consume(FirmwareFacts), None) + if ff and ff.firmware == 'bios': + grub_info = next(self.consume(GrubInfo), None) + if not grub_info: + raise StopActorExecutionError('Actor did not receive any GrubInfo message.') + if grub_info.orig_devices: + create_report([ + reporting.Title( + 'GRUB2 core will be automatically updated during the upgrade' + ), + reporting.Summary(GRUB_SUMMARY), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.BOOT]), + ]) + else: + create_report([ + reporting.Title('Leapp could not identify where GRUB2 core is located'), + reporting.Summary( + 'We assumed GRUB2 core is located on the same device(s) as /boot, ' + 'however Leapp could not detect GRUB2 on the device(s). ' + 'GRUB2 core needs to be updated maually on legacy (BIOS) systems. ' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.BOOT]), + reporting.Remediation( + hint='Please run "grub2-install command manually after the upgrade'), + ]) diff --git a/repos/system_upgrade/common/actors/checkgrubcore/tests/test_checkgrubcore.py b/repos/system_upgrade/common/actors/checkgrubcore/tests/test_checkgrubcore.py new file mode 100644 index 0000000..b834f9f --- /dev/null +++ b/repos/system_upgrade/common/actors/checkgrubcore/tests/test_checkgrubcore.py @@ -0,0 +1,35 @@ +from leapp.libraries.common.config import mock_configs +from leapp.models import FirmwareFacts, GrubInfo +from leapp.reporting import Report + +NO_GRUB = 'Leapp could not identify where GRUB2 core is located' +GRUB = 'GRUB2 core will be automatically updated during the upgrade' + + +def test_actor_update_grub(current_actor_context): + current_actor_context.feed(FirmwareFacts(firmware='bios')) + current_actor_context.feed(GrubInfo(orig_devices=['/dev/vda', '/dev/vdb'])) + current_actor_context.run(config_model=mock_configs.CONFIG) + assert current_actor_context.consume(Report) + assert current_actor_context.consume(Report)[0].report['title'].startswith(GRUB) + + +def test_actor_no_grub_device(current_actor_context): + current_actor_context.feed(FirmwareFacts(firmware='bios')) + current_actor_context.feed(GrubInfo()) + current_actor_context.run(config_model=mock_configs.CONFIG) + assert current_actor_context.consume(Report) + assert current_actor_context.consume(Report)[0].report['title'].startswith(NO_GRUB) + + +def test_actor_with_efi(current_actor_context): + current_actor_context.feed(FirmwareFacts(firmware='efi')) + current_actor_context.run(config_model=mock_configs.CONFIG) + assert not current_actor_context.consume(Report) + + +def test_s390x(current_actor_context): + current_actor_context.feed(FirmwareFacts(firmware='bios')) + current_actor_context.feed(GrubInfo(orig_devices=['/dev/vda', '/dev/vdb'])) + current_actor_context.run(config_model=mock_configs.CONFIG_S390X) + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/common/actors/checkinsightsautoregister/actor.py b/repos/system_upgrade/common/actors/checkinsightsautoregister/actor.py new file mode 100644 index 0000000..70b3b67 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkinsightsautoregister/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkinsightsautoregister +from leapp.models import InstalledRPM, RpmTransactionTasks +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckInsightsAutoregister(Actor): + """ + Checks if system can be automatically registered into Red Hat Insights + + The registration is skipped if NO_INSIGHTS_REGISTER=1 environment variable + is set, the --no-insights-register command line argument present. if the + system isn't registered with subscription-manager. + + Additionally, the insights-client package is required. If it's missing an + RpmTransactionTasks is produced to install it during the upgrade. + + A report is produced informing about the automatic registration and + eventual insights-client package installation. + """ + + name = 'check_insights_auto_register' + consumes = (InstalledRPM,) + produces = (Report, RpmTransactionTasks) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checkinsightsautoregister.process() diff --git a/repos/system_upgrade/common/actors/checkinsightsautoregister/libraries/checkinsightsautoregister.py b/repos/system_upgrade/common/actors/checkinsightsautoregister/libraries/checkinsightsautoregister.py new file mode 100644 index 0000000..762f3c0 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkinsightsautoregister/libraries/checkinsightsautoregister.py @@ -0,0 +1,53 @@ +from leapp import reporting +from leapp.libraries.common import rhsm +from leapp.libraries.common.config import get_env +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRPM, RpmTransactionTasks + +INSIGHTS_CLIENT_PKG = "insights-client" + + +def _ensure_package(package): + """ + Produce install tasks if the given package is missing + + :return: True if the install task is produced else False + """ + has_client_package = has_package(InstalledRPM, package) + if not has_client_package: + api.produce(RpmTransactionTasks(to_install=[package])) + + return not has_client_package + + +def _report_registration_info(installing_client): + pkg_msg = " The '{}' package required for the registration will be installed during the upgrade." + + title = "Automatic registration into Red Hat Insights" + summary = ( + "After the upgrade, this system will be automatically registered into Red Hat Insights." + "{}" + " To skip the automatic registration, use the '--no-insights-register' command line option or" + " set the LEAPP_NO_INSIGHTS_REGISTER environment variable." + ).format(pkg_msg.format(INSIGHTS_CLIENT_PKG) if installing_client else "") + + reporting.create_report( + [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.SERVICES]), + ] + ) + + +def process(): + if rhsm.skip_rhsm(): + return + + if get_env("LEAPP_NO_INSIGHTS_REGISTER", "0") == "1": + return + + installing_client = _ensure_package(INSIGHTS_CLIENT_PKG) + _report_registration_info(installing_client) diff --git a/repos/system_upgrade/common/actors/checkinsightsautoregister/tests/test_reportinsightsautoregister.py b/repos/system_upgrade/common/actors/checkinsightsautoregister/tests/test_reportinsightsautoregister.py new file mode 100644 index 0000000..5cacf01 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkinsightsautoregister/tests/test_reportinsightsautoregister.py @@ -0,0 +1,80 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import checkinsightsautoregister +from leapp.libraries.common import rhsm +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api + + +@pytest.mark.parametrize( + ("skip_rhsm", "no_register", "should_report"), + [ + (False, False, True), + (False, True, False), + (True, False, False), + (True, True, False), + ], +) +def test_should_report(monkeypatch, skip_rhsm, no_register, should_report): + + monkeypatch.setattr(rhsm, "skip_rhsm", lambda: skip_rhsm) + monkeypatch.setattr( + api, + "current_actor", + CurrentActorMocked( + envars={"LEAPP_NO_INSIGHTS_REGISTER": "1" if no_register else "0"} + ), + ) + + def ensure_package_mocked(package): + assert package == checkinsightsautoregister.INSIGHTS_CLIENT_PKG + return False + + monkeypatch.setattr( + checkinsightsautoregister, "_ensure_package", ensure_package_mocked + ) + + called = [False] + + def _report_registration_info_mocked(_): + called[0] = True + + monkeypatch.setattr( + checkinsightsautoregister, + "_report_registration_info", + _report_registration_info_mocked, + ) + + checkinsightsautoregister.process() + + assert called[0] == should_report + + +@pytest.mark.parametrize( + "already_installed, should_install", [(True, False), (False, True)] +) +def test_install_task_produced(monkeypatch, already_installed, should_install): + + def has_package_mocked(*args, **kwargs): + return already_installed + + monkeypatch.setattr(checkinsightsautoregister, "has_package", has_package_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + + checkinsightsautoregister._ensure_package( + checkinsightsautoregister.INSIGHTS_CLIENT_PKG + ) + + assert api.produce.called == should_install + + +@pytest.mark.parametrize("installing_client", (True, False)) +def test_report_created(monkeypatch, installing_client): + + created_reports = create_report_mocked() + monkeypatch.setattr(reporting, "create_report", created_reports) + + checkinsightsautoregister._report_registration_info(installing_client) + + assert created_reports.called diff --git a/repos/system_upgrade/common/actors/checkipaserver/actor.py b/repos/system_upgrade/common/actors/checkipaserver/actor.py new file mode 100644 index 0000000..14bdf0a --- /dev/null +++ b/repos/system_upgrade/common/actors/checkipaserver/actor.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkipaserver import ipa_inhibit_upgrade, ipa_warn_pkg_installed +from leapp.models import IpaInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckIPAServer(Actor): + """ + Check for ipa-server and inhibit upgrade + """ + + name = "check_ipa_server" + consumes = (IpaInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + for ipainfo in self.consume(IpaInfo): + if ipainfo.is_server_configured: + self.log.info( + "IdM server instance detected, inhibit upgrade" + ) + ipa_inhibit_upgrade(ipainfo) + elif ipainfo.has_server_package: + self.log.info("Unused ipa-server package detected") + ipa_warn_pkg_installed(ipainfo) diff --git a/repos/system_upgrade/common/actors/checkipaserver/libraries/checkipaserver.py b/repos/system_upgrade/common/actors/checkipaserver/libraries/checkipaserver.py new file mode 100644 index 0000000..5ec36d0 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkipaserver/libraries/checkipaserver.py @@ -0,0 +1,72 @@ +from leapp import reporting +from leapp.libraries.common.config.version import get_source_major_version + +MIGRATION_GUIDE_7 = "https://red.ht/IdM-upgrading-RHEL-7-to-RHEL-8" + +# TBD: update the doc url when migration guide 8->9 becomes available +MIGRATION_GUIDE_8 = "https://red.ht/IdM-upgrading-RHEL-8-to-RHEL-9" +MIGRATION_GUIDES = { + '7': MIGRATION_GUIDE_7, + '8': MIGRATION_GUIDE_8 +} + + +def ipa_inhibit_upgrade(ipainfo): + """ + Create upgrade inhibitor for configured ipa-server + """ + entries = [ + reporting.Title( + "ipa-server does not support in-place upgrade" + ), + reporting.Summary( + "An IdM server installation was detected on the system. IdM " + "does not support in-place upgrade." + ), + reporting.Remediation( + hint="Follow the IdM RHEL migration guide lines." + ), + reporting.ExternalLink( + url=MIGRATION_GUIDES[get_source_major_version()], + title="IdM migration guide", + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource("package", "ipa-server"), + ] + return reporting.create_report(entries) + + +def ipa_warn_pkg_installed(ipainfo): + """ + Warn that unused ipa-server package is installed + """ + if ipainfo.is_client_configured: + summary = ( + "The ipa-server package is installed but only IdM client is " + "configured on this system." + ) + else: + summary = ( + "The ipa-server package is installed but neither IdM server " + "nor client is configured on this system." + ) + entries = [ + reporting.Title( + "ipa-server package is installed but no IdM is configured" + ), + reporting.Summary(summary), + reporting.Remediation( + hint="Remove unused ipa-server package", + commands=[["yum", "remove", "-y", "ipa-server"]], + ), + reporting.ExternalLink( + url=MIGRATION_GUIDES[get_source_major_version()], + title="Migrating IdM from RHEL 7 to 8", + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource("package", "ipa-server"), + ] + return reporting.create_report(entries) diff --git a/repos/system_upgrade/common/actors/checkipaserver/tests/test_check_ipa_server_checkipaserver.py b/repos/system_upgrade/common/actors/checkipaserver/tests/test_check_ipa_server_checkipaserver.py new file mode 100644 index 0000000..a7d5678 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkipaserver/tests/test_check_ipa_server_checkipaserver.py @@ -0,0 +1,58 @@ +import pytest + +from leapp.libraries.common.config import version +from leapp.models import IpaInfo +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def mock_ipa_info(client, server_pkg, server_configured): + return IpaInfo( + has_client_package=client, + is_client_configured=client, + has_server_package=server_pkg, + is_server_configured=server_configured, + ) + + +@pytest.mark.parametrize('src_v', ['7', '8']) +def test_inhibit_ipa_configured(monkeypatch, current_actor_context, src_v): + monkeypatch.setattr(version, "get_source_major_version", lambda: src_v) + current_actor_context.feed(mock_ipa_info(True, True, True)) + current_actor_context.run() + reports = current_actor_context.consume(Report) + + assert len(reports) == 1 + fields = reports[0].report + assert is_inhibitor(fields) + assert "ipa-server" in fields["title"] + + +@pytest.mark.parametrize('src_v', ['7', '8']) +def test_warn_server_pkg(monkeypatch, current_actor_context, src_v): + monkeypatch.setattr(version, "get_source_major_version", lambda: src_v) + current_actor_context.feed(mock_ipa_info(True, True, False)) + current_actor_context.run() + reports = current_actor_context.consume(Report) + + assert len(reports) == 1 + fields = reports[0].report + assert not is_inhibitor(fields) + assert "ipa-server" in fields["title"] + + +def test_client_only(current_actor_context): + current_actor_context.feed(mock_ipa_info(True, False, False)) + current_actor_context.run() + reports = current_actor_context.consume(Report) + + assert not reports + + +def test_no_ipa(current_actor_context): + current_actor_context.feed(mock_ipa_info(False, False, False)) + current_actor_context.run() + reports = current_actor_context.consume(Report) + + assert not reports diff --git a/repos/system_upgrade/common/actors/checkmemory/actor.py b/repos/system_upgrade/common/actors/checkmemory/actor.py new file mode 100644 index 0000000..53af11f --- /dev/null +++ b/repos/system_upgrade/common/actors/checkmemory/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkmemory +from leapp.models import MemoryInfo, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckMemory(Actor): + """ + The actor check the size of RAM against RHEL8 minimal hardware requirements + + Using the following resource: https://access.redhat.com/articles/rhel-limits + """ + + name = 'checkmemory' + consumes = (MemoryInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checkmemory.process() diff --git a/repos/system_upgrade/common/actors/checkmemory/libraries/checkmemory.py b/repos/system_upgrade/common/actors/checkmemory/libraries/checkmemory.py new file mode 100644 index 0000000..2501227 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkmemory/libraries/checkmemory.py @@ -0,0 +1,49 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import architecture, version +from leapp.libraries.stdlib import api +from leapp.models import MemoryInfo + +min_req_memory = { + architecture.ARCH_X86_64: 1572864, # 1.5G + architecture.ARCH_ARM64: 1572864, # 1.5G + architecture.ARCH_PPC64LE: 3145728, # 3G + architecture.ARCH_S390X: 1572864, # 1.5G +} + + +def _check_memory(mem_info): + msg = {} + + for arch, min_req in iter(min_req_memory.items()): + if architecture.matches_architecture(arch): + is_ok = mem_info.mem_total >= min_req + msg = {} if is_ok else {'detected': mem_info.mem_total, + 'minimal_req': min_req} + + return msg + + +def process(): + memoryinfo = next(api.consume(MemoryInfo), None) + if memoryinfo is None: + raise StopActorExecutionError(message="Missing information about Memory.") + + minimum_req_error = _check_memory(memoryinfo) + + if minimum_req_error: + title = 'Minimum memory requirements for RHEL {} are not met'.format(version.get_target_major_version()) + summary = 'Memory detected: {} MiB, required: {} MiB'.format( + int(minimum_req_error['detected'] / 1024), # noqa: W1619; pylint: disable=old-division + int(minimum_req_error['minimal_req'] / 1024), # noqa: W1619; pylint: disable=old-division + ) + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY, reporting.Groups.INHIBITOR]), + reporting.ExternalLink( + url='https://access.redhat.com/articles/rhel-limits', + title='Red Hat Enterprise Linux Technology Capabilities and Limits' + ), + ]) diff --git a/repos/system_upgrade/common/actors/checkmemory/tests/test_checkmemory.py b/repos/system_upgrade/common/actors/checkmemory/tests/test_checkmemory.py new file mode 100644 index 0000000..a0bac0a --- /dev/null +++ b/repos/system_upgrade/common/actors/checkmemory/tests/test_checkmemory.py @@ -0,0 +1,31 @@ +from leapp import reporting +from leapp.libraries.actor import checkmemory +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import MemoryInfo +from leapp.utils.report import is_inhibitor + + +def test_check_memory_low(monkeypatch): + minimum_req_error = [] + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + minimum_req_error = checkmemory._check_memory(MemoryInfo(mem_total=1024)) + assert minimum_req_error + + +def test_check_memory_high(monkeypatch): + minimum_req_error = [] + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + minimum_req_error = checkmemory._check_memory(MemoryInfo(mem_total=16273492)) + assert not minimum_req_error + + +def test_report(monkeypatch): + title_msg = 'Minimum memory requirements for RHEL 8 are not met' + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(api, 'consume', lambda x: iter([MemoryInfo(mem_total=129)])) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + checkmemory.process() + assert reporting.create_report.called + assert title_msg == reporting.create_report.report_fields['title'] + assert is_inhibitor(reporting.create_report.report_fields) diff --git a/repos/system_upgrade/common/actors/checkmountoptions/actor.py b/repos/system_upgrade/common/actors/checkmountoptions/actor.py new file mode 100644 index 0000000..ce0e01c --- /dev/null +++ b/repos/system_upgrade/common/actors/checkmountoptions/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkmountoptions import check_mount_options +from leapp.models import StorageInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckMountOptions(Actor): + """ + Check for mount options preventing the upgrade. + + Checks performed: + - /var is mounted with the noexec option + """ + name = "check_mount_options" + consumes = (StorageInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + check_mount_options() diff --git a/repos/system_upgrade/common/actors/checkmountoptions/libraries/checkmountoptions.py b/repos/system_upgrade/common/actors/checkmountoptions/libraries/checkmountoptions.py new file mode 100644 index 0000000..869c92f --- /dev/null +++ b/repos/system_upgrade/common/actors/checkmountoptions/libraries/checkmountoptions.py @@ -0,0 +1,75 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import StorageInfo + + +def inhibit_upgrade_due_var_with_noexec(mountpoint, found_in_fstab=False): + summary = ( + 'Leapp detected that the {0} mountpoint is mounted with the "noexec" option, ' + 'which prevents binaries necessary for the upgrade from being executed. ' + 'The upgrade process cannot continue with {0} mounted using the "noexec" option.' + ) + + if found_in_fstab: + hint = ( + 'Temporarily remove the "noexec" option from {0} entry in /etc/fstab until the system is upgraded, ' + 'and remount the partition without the "noexec" option.' + ) + related_resource = [reporting.RelatedResource('file', '/etc/fstab')] + else: + hint = ( + 'Remount {0} without the noexec option and make sure the change is persistent' + 'during the entire in-place upgrade process.' + ) + related_resource = [] + + reporting.create_report([ + reporting.Title( + 'Detected partitions mounted with the "noexec" option, preventing a successful in-place upgrade.' + ), + reporting.Summary(summary.format(mountpoint)), + reporting.Remediation(hint=hint.format(mountpoint)), + reporting.RelatedResource('file', '/etc/fstab'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.FILESYSTEM]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ] + related_resource) + + +def find_mount_entry_with_mountpoint(mount_entries, mountpoint): + for mount_entry in mount_entries: + if mount_entry.mount == mountpoint: + return mount_entry + return None + + +def find_fstab_entry_with_mountpoint(fstab_entries, mountpoint): + for fstab_entry in fstab_entries: + if fstab_entry.fs_file == mountpoint: + return fstab_entry + return None + + +def check_noexec_on_var(storage_info): + """Check for /var or /var/lib being mounted with noexec mount option.""" + + # Order of checking is important as mount options on /var/lib override those on /var + mountpoints_to_check = ('/var/lib/leapp', '/var/lib', '/var') + for mountpoint in mountpoints_to_check: + fstab_entry = find_fstab_entry_with_mountpoint(storage_info.fstab, mountpoint) + if fstab_entry and 'noexec' in fstab_entry.fs_mntops.split(','): + inhibit_upgrade_due_var_with_noexec(fstab_entry.fs_file, found_in_fstab=True) + return # Do not check further as present mounts would likely reflect fstab + + # Make sure present mountpoints don't contain noexec as well - user might have fixed noexec in fstab + # but did not remount the partition, or, less likely, mounted the partition without creating a fstab entry + for mountpoint in mountpoints_to_check: + mount_entry = find_mount_entry_with_mountpoint(storage_info.mount, mountpoint) + if mount_entry and 'noexec' in mount_entry.options.split(','): + inhibit_upgrade_due_var_with_noexec(mount_entry.mount, found_in_fstab=False) + return + + +def check_mount_options(): + for storage_info in api.consume(StorageInfo): + check_noexec_on_var(storage_info) diff --git a/repos/system_upgrade/common/actors/checkmountoptions/tests/test_checkmountoptions.py b/repos/system_upgrade/common/actors/checkmountoptions/tests/test_checkmountoptions.py new file mode 100644 index 0000000..de19856 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkmountoptions/tests/test_checkmountoptions.py @@ -0,0 +1,61 @@ +from collections import namedtuple +from functools import partial + +import pytest + +from leapp import reporting +from leapp.libraries.actor.checkmountoptions import check_mount_options +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import FstabEntry, MountEntry, StorageInfo + + +@pytest.mark.parametrize( + ('fstab_entries', 'mounts', 'should_inhibit'), + [ + ( + (('/var', 'default'), ), + (('/var', 'default'), ), + False + ), + ( + (('/var', 'default'), ('/var/lib', 'default'), ), + (('/var', 'default'), ('/var/lib', 'default'), ), + False + ), + ( + (('/var', 'default'), ('/var/lib/leapp', 'noexec')), + (('/var', 'default'), ('/var/lib/leapp', 'noexec')), + True + ), + ( + (('/var', 'defaults'), ('/var/lib', 'noexec')), + (('/var', 'noexec'), ('/var/lib', 'noexec')), + True + ), + ( + (('/var', 'noexec'), ('/var/lib', 'defaults')), + (('/var', 'noexec'), ('/var/lib', 'noexec')), + True + ), + ] +) +def test_var_mounted_with_noexec_is_detected(monkeypatch, fstab_entries, mounts, should_inhibit): + mounts = [ + MountEntry(name='/dev/sdaX', tp='ext4', mount=mountpoint, options=options) for mountpoint, options in mounts + ] + + fstab_entries = [ + FstabEntry(fs_spec='', fs_file=mountpoint, fs_vfstype='', + fs_mntops=opts, fs_freq='0', fs_passno='0') for mountpoint, opts in fstab_entries + ] + + storage_info = StorageInfo(mount=mounts, fstab=fstab_entries) + + created_reports = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[storage_info])) + monkeypatch.setattr(reporting, 'create_report', created_reports) + + check_mount_options() + + assert bool(created_reports.called) == should_inhibit diff --git a/repos/system_upgrade/common/actors/checknfs/actor.py b/repos/system_upgrade/common/actors/checknfs/actor.py new file mode 100644 index 0000000..40ca834 --- /dev/null +++ b/repos/system_upgrade/common/actors/checknfs/actor.py @@ -0,0 +1,77 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.config import get_env +from leapp.models import StorageInfo +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckNfs(Actor): + """ + Check if NFS filesystem is in use. If yes, inhibit the upgrade process. + + Actor looks for NFS in the following sources: /ets/fstab, mount and systemd-mount. + If there is NFS in any of the mentioned sources, actors inhibits the upgrade. + """ + name = "check_nfs" + consumes = (StorageInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + # if network in initramfs is enabled NFS inhibitors are redundant + if get_env('LEAPP_DEVEL_INITRAM_NETWORK', None): + return + details = "NFS is currently not supported by the inplace upgrade.\n" \ + "We have found NFS usage at the following locations:\n" + + def _is_nfs(a_type): + return a_type.startswith('nfs') and a_type != 'nfsd' + + for storage in self.consume(StorageInfo): + # Check fstab + fstab_nfs_mounts = [] + for fstab in storage.fstab: + if _is_nfs(fstab.fs_vfstype): + fstab_nfs_mounts.append(" - {} {}\n".format(fstab.fs_spec, fstab.fs_file)) + + # Check mount + nfs_mounts = [] + for mount in storage.mount: + if _is_nfs(mount.tp): + nfs_mounts.append(" - {} {}\n".format(mount.name, mount.mount)) + + # Check systemd-mount + systemd_nfs_mounts = [] + for systemdmount in storage.systemdmount: + if _is_nfs(systemdmount.fs_type): + # mountpoint is not available in the model + systemd_nfs_mounts.append(" - {}\n".format(systemdmount.node)) + + if any((fstab_nfs_mounts, nfs_mounts, systemd_nfs_mounts)): + if fstab_nfs_mounts: + details += "- NFS shares found in /etc/fstab:\n" + details += ''.join(fstab_nfs_mounts) + + if nfs_mounts: + details += "- NFS shares currently mounted:\n" + details += ''.join(nfs_mounts) + + if systemd_nfs_mounts: + details += "- NFS mounts configured with systemd-mount:\n" + details += ''.join(systemd_nfs_mounts) + + fstab_related_resource = [reporting.RelatedResource('file', '/etc/fstab')] if fstab_nfs_mounts else [] + + create_report([ + reporting.Title("Use of NFS detected. Upgrade can't proceed"), + reporting.Summary(details), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.FILESYSTEM, + reporting.Groups.NETWORK + ]), + reporting.Remediation(hint='Disable NFS temporarily for the upgrade if possible.'), + reporting.Groups([reporting.Groups.INHIBITOR]), + ] + fstab_related_resource + ) diff --git a/repos/system_upgrade/common/actors/checknfs/tests/test_checknfs.py b/repos/system_upgrade/common/actors/checknfs/tests/test_checknfs.py new file mode 100644 index 0000000..907dca4 --- /dev/null +++ b/repos/system_upgrade/common/actors/checknfs/tests/test_checknfs.py @@ -0,0 +1,123 @@ +import pytest + +from leapp.libraries.common import config +from leapp.models import FstabEntry, MountEntry, StorageInfo, SystemdMountEntry +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +@pytest.mark.parametrize('nfs_fstype', ('nfs', 'nfs4')) +def test_actor_with_systemdmount_entry(current_actor_context, nfs_fstype, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + with_systemdmount_entry = [SystemdMountEntry(node="nfs", path="n/a", model="n/a", + wwn="n/a", fs_type=nfs_fstype, label="n/a", + uuid="n/a")] + current_actor_context.feed(StorageInfo(systemdmount=with_systemdmount_entry)) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_actor_without_systemdmount_entry(current_actor_context, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + without_systemdmount_entry = [SystemdMountEntry(node="/dev/sda1", + path="pci-0000:00:17.0-ata-2", + model="TOSHIBA_THNSNJ512GDNU_A", + wwn="0x500080d9108e8753", + fs_type="ext4", label="n/a", + uuid="5675d309-eff7-4eb1-9c27-58bc5880ec72")] + current_actor_context.feed(StorageInfo(systemdmount=without_systemdmount_entry)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +@pytest.mark.parametrize('nfs_fstype', ('nfs', 'nfs4')) +def test_actor_with_fstab_entry(current_actor_context, nfs_fstype, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + with_fstab_entry = [FstabEntry(fs_spec="lithium:/mnt/data", fs_file="/mnt/data", + fs_vfstype=nfs_fstype, + fs_mntops="noauto,noatime,rsize=32768,wsize=32768", + fs_freq="0", fs_passno="0")] + current_actor_context.feed(StorageInfo(fstab=with_fstab_entry)) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_actor_without_fstab_entry(current_actor_context, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + without_fstab_entry = [FstabEntry(fs_spec="/dev/mapper/fedora-home", fs_file="/home", + fs_vfstype="ext4", + fs_mntops="defaults,x-systemd.device-timeout=0", + fs_freq="1", fs_passno="2")] + current_actor_context.feed(StorageInfo(fstab=without_fstab_entry)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_with_nfsd(current_actor_context, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + with_nfsd = [MountEntry(name="nfsd", mount="/proc/fs/nfsd", tp="nfsd", options="rw,relatime")] + current_actor_context.feed(StorageInfo(mount=with_nfsd)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +@pytest.mark.parametrize('nfs_fstype', ('nfs', 'nfs4')) +def test_actor_with_mount_share(current_actor_context, nfs_fstype, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + with_mount_share = [MountEntry(name="nfs", mount="/mnt/data", tp=nfs_fstype, + options="rw,nosuid,nodev,relatime,user_id=1000,group_id=1000")] + current_actor_context.feed(StorageInfo(mount=with_mount_share)) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_actor_without_mount_share(current_actor_context, monkeypatch): + monkeypatch.setattr(config, 'get_env', lambda x, y: y) + without_mount_share = [MountEntry(name="tmpfs", mount="/run/snapd/ns", tp="tmpfs", + options="rw,nosuid,nodev,seclabel,mode=755")] + current_actor_context.feed(StorageInfo(mount=without_mount_share)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_skipped_if_initram_network_enabled(current_actor_context, monkeypatch): + """Check that previous inhibitors are not stopping the upgrade in case env var is set""" + monkeypatch.setattr(config, 'get_env', lambda x, y: 'network-manager' if x == 'LEAPP_DEVEL_INITRAM_NETWORK' else y) + with_mount_share = [MountEntry(name="nfs", mount="/mnt/data", tp='nfs', + options="rw,nosuid,nodev,relatime,user_id=1000,group_id=1000")] + with_systemdmount_entry = [SystemdMountEntry(node="nfs", path="n/a", model="n/a", + wwn="n/a", fs_type='nfs', label="n/a", + uuid="n/a")] + with_fstab_entry = [FstabEntry(fs_spec="lithium:/mnt/data", fs_file="/mnt/data", + fs_vfstype='nfs', + fs_mntops="noauto,noatime,rsize=32768,wsize=32768", + fs_freq="0", fs_passno="0")] + current_actor_context.feed(StorageInfo(mount=with_mount_share, + systemdmount=with_systemdmount_entry, + fstab=with_fstab_entry)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_not_skipped_if_initram_network_empty(current_actor_context, monkeypatch): + """Check that previous inhibitors are not stopping the upgrade in case env var is set""" + monkeypatch.setattr(config, 'get_env', lambda x, y: '' if x == 'LEAPP_DEVEL_INITRAM_NETWORK' else y) + with_mount_share = [MountEntry(name="nfs", mount="/mnt/data", tp='nfs', + options="rw,nosuid,nodev,relatime,user_id=1000,group_id=1000")] + with_systemdmount_entry = [SystemdMountEntry(node="nfs", path="n/a", model="n/a", + wwn="n/a", fs_type='nfs', label="n/a", + uuid="n/a")] + with_fstab_entry = [FstabEntry(fs_spec="lithium:/mnt/data", fs_file="/mnt/data", + fs_vfstype='nfs', + fs_mntops="noauto,noatime,rsize=32768,wsize=32768", + fs_freq="0", fs_passno="0")] + current_actor_context.feed(StorageInfo(mount=with_mount_share, + systemdmount=with_systemdmount_entry, + fstab=with_fstab_entry)) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) diff --git a/repos/system_upgrade/common/actors/checkosrelease/actor.py b/repos/system_upgrade/common/actors/checkosrelease/actor.py new file mode 100644 index 0000000..7747eb9 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkosrelease/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkosrelease import check_os_version, skip_check +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckOSRelease(Actor): + """ + Check if the current RHEL minor version is supported. If not, inhibit the upgrade process. + + This check can be skipped by using the LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE environment variable. + """ + + name = 'check_os_release' + consumes = () + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if not skip_check(): + check_os_version() diff --git a/repos/system_upgrade/common/actors/checkosrelease/libraries/checkosrelease.py b/repos/system_upgrade/common/actors/checkosrelease/libraries/checkosrelease.py new file mode 100644 index 0000000..e57ba1a --- /dev/null +++ b/repos/system_upgrade/common/actors/checkosrelease/libraries/checkosrelease.py @@ -0,0 +1,45 @@ +import os + +from leapp import reporting +from leapp.libraries.common.config import version + +COMMON_REPORT_TAGS = [reporting.Groups.SANITY] + +related = [reporting.RelatedResource('file', '/etc/os-release')] + + +def skip_check(): + """ Check if an environment variable was used to skip this actor """ + if os.getenv('LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE'): + reporting.create_report([ + reporting.Title('Skipped OS release check'), + reporting.Summary('Source RHEL release check skipped via LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE env var.'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS) + ] + related) + + return True + return False + + +def check_os_version(): + """ Check the RHEL minor version and inhibit the upgrade if it does not match the supported ones """ + if not version.is_supported_version(): + supported_releases = [] + for rel in version.SUPPORTED_VERSIONS: + for ver in version.SUPPORTED_VERSIONS[rel]: + supported_releases.append(rel.upper() + ' ' + ver) + reporting.create_report([ + reporting.Title( + 'The installed OS version is not supported for the in-place upgrade to the target RHEL version' + ), + reporting.Summary( + 'The supported OS releases for the upgrade process:\n' + ' {}'.format('\n'.join(supported_releases)) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS), + reporting.Groups([reporting.Groups.INHIBITOR]), + # we want to set a static Key here because of different Title per path + reporting.Key('1c7a98849a747ec9890f04bf4321de7280970715') + ] + related) diff --git a/repos/system_upgrade/common/actors/checkosrelease/tests/test_checkosrelease.py b/repos/system_upgrade/common/actors/checkosrelease/tests/test_checkosrelease.py new file mode 100644 index 0000000..99d1983 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkosrelease/tests/test_checkosrelease.py @@ -0,0 +1,44 @@ +import os + +from leapp import reporting +from leapp.libraries.actor import checkosrelease +from leapp.libraries.common.config import version +from leapp.libraries.common.testutils import create_report_mocked, produce_mocked +from leapp.utils.report import is_inhibitor + + +def test_skip_check(monkeypatch): + monkeypatch.setenv('LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE', '1') + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + assert checkosrelease.skip_check() + assert reporting.create_report.called == 1 + assert 'Skipped OS release check' in reporting.create_report.report_fields['title'] + assert reporting.create_report.report_fields['severity'] == 'high' + + +def test_no_skip_check(monkeypatch): + monkeypatch.delenv('LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE', raising=False) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + assert not checkosrelease.skip_check() + assert reporting.create_report.called == 0 + + +def test_not_supported_release(monkeypatch): + monkeypatch.setattr(version, "is_supported_version", lambda: False) + monkeypatch.setattr(version, "get_source_major_version", lambda: '7') + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + checkosrelease.check_os_version() + assert reporting.create_report.called == 1 + assert 'The installed OS version is not supported' in reporting.create_report.report_fields['title'] + assert is_inhibitor(reporting.create_report.report_fields) + + +def test_supported_release(monkeypatch): + monkeypatch.setattr(version, "is_supported_version", lambda: True) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + checkosrelease.check_os_version() + assert reporting.create_report.called == 0 diff --git a/repos/system_upgrade/common/actors/checkpersistentmounts/actor.py b/repos/system_upgrade/common/actors/checkpersistentmounts/actor.py new file mode 100644 index 0000000..6db243c --- /dev/null +++ b/repos/system_upgrade/common/actors/checkpersistentmounts/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkpersistentmounts import check_persistent_mounts +from leapp.models import StorageInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckPersistentMounts(Actor): + """ + Check if mounts required to be persistent are mounted in persistent fashion. + + Checks performed: + - if /var/lib/leapp is mounted it has an entry in /etc/fstab + """ + name = "check_persistent_mounts" + consumes = (StorageInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + check_persistent_mounts() diff --git a/repos/system_upgrade/common/actors/checkpersistentmounts/libraries/checkpersistentmounts.py b/repos/system_upgrade/common/actors/checkpersistentmounts/libraries/checkpersistentmounts.py new file mode 100644 index 0000000..2a35f4c --- /dev/null +++ b/repos/system_upgrade/common/actors/checkpersistentmounts/libraries/checkpersistentmounts.py @@ -0,0 +1,43 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import StorageInfo + + +def inhibit_upgrade_due_non_persistent_mount(mountpoint): + summary = ( + 'Leapp detected that the {0} mountpoint is mounted, with no corresponding entry in /etc/fstab. ' + 'The upgrade process cannot continue with {0} mounted in non-persistent fashion, ' + 'as Leapp needs this mount to be available after a reboot.' + ) + + hint = ( + 'Add {0} mount entry to /etc/fstab' + ) + + reporting.create_report([ + reporting.Title( + 'Detected partitions mounted in a non-persistent fashion, preventing a successful in-place upgrade.' + ), + reporting.Summary(summary.format(mountpoint)), + reporting.Remediation(hint=hint.format(mountpoint)), + reporting.RelatedResource('file', '/etc/fstab'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.FILESYSTEM]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ]) + + +def check_mount_is_persistent(storage_info, mountpoint): + """Check if mountpoint is mounted in persistent fashion""" + + mount_entry_exists = any(me.mount == mountpoint for me in storage_info.mount) + fstab_entry_exists = any(fe.fs_file == mountpoint for fe in storage_info.fstab) + + if mount_entry_exists and not fstab_entry_exists: + inhibit_upgrade_due_non_persistent_mount(mountpoint) + + +def check_persistent_mounts(): + storage_info = next(api.consume(StorageInfo), None) + if storage_info: + check_mount_is_persistent(storage_info, '/var/lib/leapp') diff --git a/repos/system_upgrade/common/actors/checkpersistentmounts/tests/test_checkpersistentmounts.py b/repos/system_upgrade/common/actors/checkpersistentmounts/tests/test_checkpersistentmounts.py new file mode 100644 index 0000000..fd6b3da --- /dev/null +++ b/repos/system_upgrade/common/actors/checkpersistentmounts/tests/test_checkpersistentmounts.py @@ -0,0 +1,40 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.checkpersistentmounts import check_persistent_mounts +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import FstabEntry, MountEntry, StorageInfo + +MOUNT_ENTRY = MountEntry(name='/dev/sdaX', tp='ext4', mount='/var/lib/leapp', options='defaults') + +FSTAB_ENTRY = FstabEntry(fs_spec='', fs_file='/var/lib/leapp', fs_vfstype='', + fs_mntops='defaults', fs_freq='0', fs_passno='0') + + +@pytest.mark.parametrize( + ('storage_info', 'should_inhibit'), + [ + ( + StorageInfo(mount=[MOUNT_ENTRY], fstab=[]), + True + ), + ( + StorageInfo(mount=[], fstab=[FSTAB_ENTRY]), + False + ), + ( + StorageInfo(mount=[MOUNT_ENTRY], fstab=[FSTAB_ENTRY]), + False + ), + ] +) +def test_var_lib_leapp_non_persistent_is_detected(monkeypatch, storage_info, should_inhibit): + + created_reports = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[storage_info])) + monkeypatch.setattr(reporting, 'create_report', created_reports) + + check_persistent_mounts() + + assert bool(created_reports.called) == should_inhibit diff --git a/repos/system_upgrade/common/actors/checkrhsmsku/actor.py b/repos/system_upgrade/common/actors/checkrhsmsku/actor.py new file mode 100644 index 0000000..f1a9a85 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkrhsmsku/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkrhsmsku +from leapp.models import Report, RHSMInfo +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckRedHatSubscriptionManagerSKU(Actor): + """ + Ensure the system is subscribed to the subscription manager + + This actor verifies that the system is correctly subscribed to via the Red Hat Subscription Manager and + has attached SKUs. The actor will inhibit the upgrade if there are none and RHSM is not supposed + to be skipped. + """ + + name = 'check_rhsmsku' + consumes = (RHSMInfo,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + checkrhsmsku.process() diff --git a/repos/system_upgrade/common/actors/checkrhsmsku/libraries/checkrhsmsku.py b/repos/system_upgrade/common/actors/checkrhsmsku/libraries/checkrhsmsku.py new file mode 100644 index 0000000..fbf4b93 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkrhsmsku/libraries/checkrhsmsku.py @@ -0,0 +1,29 @@ +from leapp import reporting +from leapp.libraries.common import rhsm +from leapp.libraries.stdlib import api +from leapp.models import RHSMInfo +from leapp.reporting import create_report + +SCA_TEXT = "Content Access Mode is set to Simple Content Access" + + +def process(): + if not rhsm.skip_rhsm(): + for info in api.consume(RHSMInfo): + if not info.attached_skus and not info.sca_detected: + create_report([ + reporting.Title('The system is not registered or subscribed.'), + reporting.Summary( + 'The system has to be registered and subscribed to be able to proceed' + ' with the upgrade, unless the --no-rhsm option is specified when' + ' executing leapp.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation( + hint='Register your system with the subscription-manager tool and attach' + ' proper SKUs to be able to proceed the upgrade or use the --no-rhsm' + ' leapp option if you want to provide target repositories by yourself.'), + reporting.RelatedResource('package', 'subscription-manager') + ]) diff --git a/repos/system_upgrade/common/actors/checkrhsmsku/tests/test_rhsmsku_checkrhsmsku.py b/repos/system_upgrade/common/actors/checkrhsmsku/tests/test_rhsmsku_checkrhsmsku.py new file mode 100644 index 0000000..7ce0fac --- /dev/null +++ b/repos/system_upgrade/common/actors/checkrhsmsku/tests/test_rhsmsku_checkrhsmsku.py @@ -0,0 +1,41 @@ +from leapp.libraries.actor import checkrhsmsku +from leapp.libraries.common import rhsm +from leapp.libraries.common.testutils import create_report_mocked +from leapp.libraries.stdlib import api +from leapp.models import RHSMInfo +from leapp.utils.report import is_inhibitor + + +def test_sku_report_skipped(monkeypatch): + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: True) + monkeypatch.setattr(api, 'consume', lambda x: (RHSMInfo(attached_skus=[]),)) + monkeypatch.setattr(checkrhsmsku, 'create_report', create_report_mocked()) + checkrhsmsku.process() + assert not checkrhsmsku.create_report.called + + +def test_sku_report_has_skus(monkeypatch): + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: False) + monkeypatch.setattr(api, 'consume', lambda x: (RHSMInfo(attached_skus=['testing-sku']),)) + monkeypatch.setattr(checkrhsmsku, 'create_report', create_report_mocked()) + checkrhsmsku.process() + assert not checkrhsmsku.create_report.called + + +def test_sku_report_has_no_skus(monkeypatch): + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: False) + monkeypatch.setattr(api, 'consume', lambda x: (RHSMInfo(attached_skus=[]),)) + monkeypatch.setattr(checkrhsmsku, 'create_report', create_report_mocked()) + checkrhsmsku.process() + assert checkrhsmsku.create_report.called == 1 + assert checkrhsmsku.create_report.report_fields['title'] == 'The system is not registered or subscribed.' + assert checkrhsmsku.create_report.report_fields['severity'] == 'high' + assert is_inhibitor(checkrhsmsku.create_report.report_fields) + + +def test_sku_report_has_sca(monkeypatch): + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: False) + monkeypatch.setattr(api, 'consume', lambda x: (RHSMInfo(attached_skus=[], sca_detected=True),)) + monkeypatch.setattr(checkrhsmsku, 'create_report', create_report_mocked()) + checkrhsmsku.process() + assert not checkrhsmsku.create_report.called diff --git a/repos/system_upgrade/common/actors/checkrootsymlinks/actor.py b/repos/system_upgrade/common/actors/checkrootsymlinks/actor.py new file mode 100644 index 0000000..2769b7c --- /dev/null +++ b/repos/system_upgrade/common/actors/checkrootsymlinks/actor.py @@ -0,0 +1,64 @@ +import os + +from leapp import reporting +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.models import Report, RootDirectory +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckRootSymlinks(Actor): + """ + Check if the symlinks /bin and /lib are relative, not absolute. + + After reboot, dracut fails if the links are absolute. + """ + + name = 'check_root_symlinks' + consumes = (RootDirectory,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + rootdir = next(self.consume(RootDirectory), None) + if not rootdir: + raise StopActorExecutionError('Cannot check root symlinks', + details={'Problem': 'Did not receive a message with ' + 'root subdirectories'}) + absolute_links = [item for item in rootdir.items if item.target and os.path.isabs(item.target)] + absolute_links_nonutf = [item for item in rootdir.invalid_items if item.target and os.path.isabs(item.target)] + if not absolute_links and not absolute_links_nonutf: + return + + report_fields = [ + reporting.Title('Upgrade requires links in root directory to be relative'), + reporting.Summary( + 'After rebooting, parts of the upgrade process can fail if symbolic links in / ' + 'point to absolute paths.\n' + 'Please change these links to relative ones.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR])] + + # Generate reports about absolute links presence + rem_commands = [] + if absolute_links: + commands = [] + for item in absolute_links: + command = ' '.join(['ln', + '-snf', + os.path.relpath(item.target, '/'), + os.path.join('/', item.name)]) + commands.append(command) + rem_commands = [['sh', '-c', ' && '.join(commands)]] + # Generate reports about non-utf8 absolute links presence + nonutf_count = len(absolute_links_nonutf) + if nonutf_count > 0: + # for non-utf encoded filenames can't provide a remediation command, so will mention this fact in a hint + rem_hint = ("{} symbolic links point to absolute paths that have non-utf8 encoding and need to be" + " fixed additionally".format(nonutf_count)) + report_fields.append(reporting.Remediation(hint=rem_hint, commands=rem_commands)) + else: + report_fields.append(reporting.Remediation(commands=rem_commands)) + + reporting.create_report(report_fields) diff --git a/repos/system_upgrade/common/actors/checkrootsymlinks/tests/unit_test_checkrootsymlinks.py b/repos/system_upgrade/common/actors/checkrootsymlinks/tests/unit_test_checkrootsymlinks.py new file mode 100644 index 0000000..94a6e30 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkrootsymlinks/tests/unit_test_checkrootsymlinks.py @@ -0,0 +1,58 @@ +import pytest +import six + +from leapp.models import InvalidRootSubdirectory, Report, RootDirectory, RootSubdirectory +from leapp.snactor.fixture import current_actor_context + + +@pytest.mark.parametrize('modified,invalid,expected_report', [ + ({}, {}, False), + ({'bin': '/usr/bin'}, {}, True), + ({'sbin': 'usr/bin'}, {}, False), + ({'sbin': '/usr/sbin'}, {}, True), + ({'lib': '/usr/lib', 'lib64': 'usr/lib64'}, {}, True), + ({}, {b'\xc4\xc9\xd2\xc5\xcb\xd4\xcf\xd2\xc9\xd1': b''}, False), + ({}, {b'\xc4\xc9\xd2\xc5\xcb\xd4\xcf\xd2\xc9\xd1': b'usr/bin'}, False), + ({'lib': '/usr/lib', 'lib64': 'usr/lib64'}, {b'\xc4\xc9\xd2\xc5\xcb\xd4\xcf\xd2\xc9\xd1': b'/usr/lib64'}, True), + ({}, {b'\xc4\xc9\xd2\xc5\xcb\xd4\xcf\xd2\xc9\xd1': b'/usr/lib64'}, True)]) +def test_wrong_symlink_inhibitor(current_actor_context, modified, invalid, expected_report): + invalid_subdirs = {} + subdirs = { + 'bin': 'usr/bin', + 'boot': '', + 'dev': '', + 'etc': '', + 'home': '', + 'lib': 'usr/lib', + 'lib64': 'usr/lib64', + 'media': '', + 'mnt': '', + 'opt': '', + 'proc': '', + 'root': '', + 'run': '', + 'sbin': 'usr/sbin', + 'srv': '', + 'sys': '', + 'tmp': '', + 'usr': '', + 'var': '' + } + subdirs.update(modified) + invalid_subdirs.update(invalid) + + items = [RootSubdirectory(name=name, target=target) for name, target in subdirs.items()] + invalid_items = [InvalidRootSubdirectory(name=name, target=target) for name, target in invalid_subdirs.items()] + current_actor_context.feed(RootDirectory(items=items, invalid_items=invalid_items)) + current_actor_context.run() + if expected_report: + report = current_actor_context.consume(Report) + assert report + # Make sure the hint is there in case of non-utf bad symlinks + if invalid_subdirs: + msg = 'symbolic links point to absolute paths that have non-utf8 encoding' + hint = next((rem['context'] for rem in report[0].report['detail']['remediations'] + if rem['type'] == 'hint'), None) + assert msg in hint + else: + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/common/actors/checksaphana/actor.py b/repos/system_upgrade/common/actors/checksaphana/actor.py new file mode 100644 index 0000000..97d0045 --- /dev/null +++ b/repos/system_upgrade/common/actors/checksaphana/actor.py @@ -0,0 +1,33 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checksaphana import perform_check +from leapp.models import SapHanaInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckSapHana(Actor): + """ + If SAP HANA has been detected, several checks are performed to ensure a successful upgrade. + + If the upgrade flavour is 'default' no checks are being executed. + + The following checks are executed: + - If the major target release is 8, and this system is _NOT_ running on x86_64, the upgrade is inhibited. + - If the major target release is 9, and this system is _NOT_ running on x86_64 or ppc64le, + the upgrade is inhibited. + - If SAP HANA 1 has been detected on the system the upgrade is inhibited since there is no supported upgrade path + with installed SAP HANA 1. + - If SAP HANA 2 has been detected, the upgrade will be inhibited if an unsupported version for the target release + has been detected (<8.8, <9.2). + - If the target release >=8.8 or >=9.2, the upgrade will be inhibited unless a user confirms to proceed + for the currently installed SAP HANA 2.0 version and the chosen target release. + - If SAP HANA is running the upgrade is inhibited. + """ + + name = 'check_sap_hana' + consumes = (SapHanaInfo,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + perform_check() diff --git a/repos/system_upgrade/common/actors/checksaphana/libraries/checksaphana.py b/repos/system_upgrade/common/actors/checksaphana/libraries/checksaphana.py new file mode 100644 index 0000000..1b08f3d --- /dev/null +++ b/repos/system_upgrade/common/actors/checksaphana/libraries/checksaphana.py @@ -0,0 +1,289 @@ +from leapp import reporting +from leapp.libraries.common.config import architecture, version +from leapp.libraries.stdlib import api +from leapp.models import SapHanaInfo + +# SAP HANA Compatibility +# Supported architectures for upgrades with SAP HANA to RHEL 'X' +SAP_HANA_SUPPORTER_ARCHS = { + '8': [architecture.ARCH_X86_64], + '9': [architecture.ARCH_X86_64, architecture.ARCH_PPC64LE] +} + +SAP_HANA_MINIMAL_MAJOR_VERSION = 2 + +# RHEL 8.6 target requirements +SAP_HANA_RHEL86_REQUIRED_PATCH_LEVELS = ((5, 59, 2),) +SAP_HANA_RHEL86_MINIMAL_VERSION_STRING = 'HANA 2.0 SPS05 rev 59.02 or later' + +# RHEL 9.0 target requirements +SAP_HANA_RHEL90_REQUIRED_PATCH_LEVELS = ((5, 59, 4), (6, 63, 0)) +SAP_HANA_RHEL90_MINIMAL_VERSION_STRING = 'HANA 2.0 SPS05 rev 59.04 or later, or SPS06 rev 63 or later' + + +def _report_skip_check(): + summary = ( + 'For the target RHEL releases >=8.8 and >=9.2 ' + 'the leapp utility does not check RHEL and SAP HANA 2.0 ' + 'versions compatibility. Please ensure your SAP HANA 2.0 ' + 'is supported on the target RHEL release and ' + 'proceed on your discretion. ' + 'SAP HANA: Supported Operating Systems ' + 'https://launchpad.support.sap.com/#/notes/2235581') + remedy_hint = 'Ensure your SAP HANA 2.0 is supported on the target release.' + reporting.create_report([ + reporting.Title('SAP HANA 2.0 version should be checked prior the upgrade'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Remediation(hint=remedy_hint), + reporting.ExternalLink(url='https://launchpad.support.sap.com/#/notes/2235581', + title='SAP HANA: Supported Operating Systems'), + ]) + + +def _manifest_get(manifest, key, default_value=None): + for entry in manifest: + if entry.key == key: + return entry.value + return default_value + + +def running_check(info): + """ Creates a report if a running instance of SAP HANA has been detected """ + if info.running: + reporting.create_report([ + reporting.Title('Found running SAP HANA instances'), + reporting.Summary( + 'In order to perform a system upgrade it is necessary that all instances of SAP HANA are stopped.' + ), + reporting.RemediationHint('Shutdown all SAP HANA instances before you continue with the upgrade.'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ]) + + +def _add_hana_details(target, instance): + """ Adds instance information into the target dictionary for creating later reports. """ + target.setdefault(instance.name, {'numbers': set(), 'path': instance.path, 'admin': instance.admin}) + target[instance.name]['numbers'].add(instance.instance_number) + + +def _create_detected_instances_list(details): + """ Generates report data for detected instances in list form with details """ + result = [] + for name, meta in details.items(): + result.append(('Name: {name}\n' + ' Instances: {instances}\n' + ' Admin: {admin}\n' + ' Path: {path}').format(name=name, + instances=', '.join(meta['numbers']), + admin=meta['admin'], + path=meta['path'])) + if result: + return '- {}'.format('\n- '.join(result)) + return '' + + +def _min_ver_string(): + if version.matches_target_version('8.6'): + ver_str = SAP_HANA_RHEL86_MINIMAL_VERSION_STRING + else: + ver_str = SAP_HANA_RHEL90_MINIMAL_VERSION_STRING + return ver_str + + +def version1_check(info): + """ Creates a report for SAP HANA instances running on version 1 """ + found = {} + for instance in info.instances: + if _manifest_get(instance.manifest, 'release') == '1.00': + _add_hana_details(found, instance) + + if found: + detected = _create_detected_instances_list(found) + reporting.create_report([ + reporting.Title('Found SAP HANA 1.0 which is not supported with the target version of RHEL'), + reporting.Summary( + ('SAP HANA 1.00 is not supported with the version of RHEL you are upgrading to.\n\n' + 'The following instances have been detected to be version 1.00:\n' + '{}'.format(detected)) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.RemediationHint(( + 'In order to upgrade RHEL, you will have to upgrade your SAP HANA 1.0 software to ' + 'SAP HANA 2.0 supported on the target RHEL release first.')), + reporting.ExternalLink(url='https://launchpad.support.sap.com/#/notes/2235581', + title='SAP HANA: Supported Operating Systems'), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ]) + + +def _major_version_check(instance): + """ Performs the check for the major version of SAP HANA """ + release = _manifest_get(instance.manifest, 'release', '0.00') + parts = release.split('.') + + try: + if int(parts[0]) != SAP_HANA_MINIMAL_MAJOR_VERSION: + api.current_logger().info('Unsupported major version {} for instance {}'.format(release, instance.name)) + return False + return True + except (ValueError, IndexError): + api.current_logger().warn( + 'Failed to parse manifest release field for instance {}'.format(instance.name), exc_info=True) + return False + + +def _sp_rev_patchlevel_check(instance, patchlevels): + """ Checks whether this SP, REV & PatchLevel are eligible """ + number = _manifest_get(instance.manifest, 'rev-number', '000') + if len(number) > 2 and number.isdigit(): + required_sp_levels = [r[0] for r in patchlevels] + lowest_sp = min(required_sp_levels) + highest_sp = max(required_sp_levels) + sp = int(number[0:2].lstrip('0') or '0') + if sp < lowest_sp: + # Less than minimal required SP + return False + if sp > highest_sp: + # Less than minimal required SP + return True + for requirements in patchlevels: + req_sp, req_rev, req_pl = requirements + if sp == req_sp: + rev = int(number.lstrip('0') or '0') + if rev < req_rev: + continue + if rev == req_rev: + patch_level = int(_manifest_get(instance.manifest, 'rev-patchlevel', '00').lstrip('0') or '0') + if patch_level < req_pl: + continue + return True + return False + # if not 'len(number) > 2 and number.isdigit()' + api.current_logger().warn( + 'Invalid rev-number field value `{}` in manifest for instance {}'.format(number, instance.name)) + return False + + +def _fullfills_hana_min_version(instance): + """ Performs a check whether the version of SAP HANA fulfills the minimal requirements for the target RHEL """ + if version.matches_target_version('8.6'): + patchlevels = SAP_HANA_RHEL86_REQUIRED_PATCH_LEVELS + else: + patchlevels = SAP_HANA_RHEL90_REQUIRED_PATCH_LEVELS + return _major_version_check(instance) and _sp_rev_patchlevel_check(instance, patchlevels) + + +def version2_check(info): + """ Performs all checks for SAP HANA 2 and creates a report if anything unsupported has been detected """ + found = {} + for instance in info.instances: + if _manifest_get(instance.manifest, 'release', None) == '1.00': + continue + if version.matches_target_version('> 8.6', '< 9.0') or version.matches_target_version('> 9.0'): + # if a target release is >=8.8 or >=9.2, the SAP HANA and RHEL versions compatibility is not checked + _report_skip_check() + return + # if a starget release is 8.6 or 9.0 we still check SAP HANA and RHEL versions compatibility + if not _fullfills_hana_min_version(instance): + _add_hana_details(found, instance) + + if found: + min_ver_string = _min_ver_string() + detected = _create_detected_instances_list(found) + reporting.create_report([ + reporting.Title('SAP HANA needs to be updated before the RHEL upgrade'), + reporting.Summary( + ('A newer version of SAP HANA is required in order continue with the upgrade.' + ' {min_hana_version} is required for the target version of RHEL.\n\n' + 'The following SAP HANA instances have been detected to be installed with a lower version' + ' than required on the target system:\n' + '{detected}').format(detected=detected, min_hana_version=min_ver_string) + ), + reporting.RemediationHint('Update SAP HANA at least to {}'.format(min_ver_string)), + reporting.ExternalLink(url='https://launchpad.support.sap.com/#/notes/2235581', + title='SAP HANA: Supported Operating Systems'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ]) + + +def platform_check(): + """ + Inhibit the upgrade and return False if SAP HANA is running on an unsupported + architecture for the upgrade. + + Supported architectures: + - IPU 7 -> 8: x86_64 + - IPU 8 -> 9: x86_64, ppc64le + + In case of the upgrade to a RHEL X version that is not supported for the + IPU yet, return False and do not report anything, as the upgrade to + an unsupported version is handled in general in another actor. + """ + target_major_version = version.get_target_major_version() + arch = api.current_actor().configuration.architecture + + if target_major_version not in SAP_HANA_SUPPORTER_ARCHS: + # Do nothing, the inhibitor will be raised by a different actor, but log it + api.current_logger().error('Upgrade with SAP HANA is not supported to the target OS.') + return False + + if arch in SAP_HANA_SUPPORTER_ARCHS[target_major_version]: + return True + + EXTERNAL_LINK = { + '8': reporting.ExternalLink( + url='https://access.redhat.com/solutions/5154031', + title='How to in-place upgrade SAP environments from RHEL 7 to RHEL 8'), + '9': reporting.ExternalLink( + url='https://red.ht/how-to-in-place-upgrade-sap-environments-from-rhel-8-to-rhel-9', + title='How to in-place upgrade SAP environments from RHEL 8 to RHEL 9') + } + + reporting.create_report([ + reporting.Title('The current architecture is not supported for SAP HANA on the target system'), + reporting.Summary( + 'The {arch} architecture is not supported for the in-place upgrade' + ' to the RHEL {version} system with SAP HANA.' + ' The in-place upgrade with SAP HANA is now supported for the following' + ' architectures: {supp_archs}.' + ' For more information please consult the documentation.' + .format( + arch=arch, + supp_archs=', '.join(SAP_HANA_SUPPORTER_ARCHS[target_major_version]), + version=target_major_version + ) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Audience('sysadmin'), + EXTERNAL_LINK[target_major_version], + ]) + return False + + +def perform_check(): + """ Performs all checks for SAP HANA and will skip if the upgrade flavour is not `saphana` """ + + if api.current_actor().configuration.flavour != 'saphana': + # Do not run on non saphana upgrades + return + + if not platform_check(): + # If this architecture is not supported, there's no sense in continuing. + return + + info = next(api.consume(SapHanaInfo), None) + if not info: + return + + running_check(info) + version1_check(info) + version2_check(info) diff --git a/repos/system_upgrade/common/actors/checksaphana/tests/test_checksaphana.py b/repos/system_upgrade/common/actors/checksaphana/tests/test_checksaphana.py new file mode 100644 index 0000000..1417b00 --- /dev/null +++ b/repos/system_upgrade/common/actors/checksaphana/tests/test_checksaphana.py @@ -0,0 +1,293 @@ +import pytest + +from leapp.libraries.actor import checksaphana +from leapp.libraries.common import testutils +from leapp.libraries.common.config import architecture, version +from leapp.models import SapHanaManifestEntry + +SAPHANA1_MANIFEST = '''comptype: HDB +keyname: HDB +keycaption: SAP HANA DATABASE +supported-phases: prepare,offline,online +requires-restart: system +keyvendor: sap.com +release: 1.00 +rev-number: 122 +rev-patchlevel: 33 +sp-number: 122 +sp-patchlevel: 33 +makeid: 7407089 +date: 2020-10-08 16:23:37 +platform: linuxx86_64 +hdb-state: RAMP +fullversion: 1.00.122.33 Build 1602166441-1530 +''' + + +SAPHANA2_MANIFEST = '''comptype: HDB +keyname: HDB +keycaption: SAP HANA DATABASE +supported-phases: prepare,offline,configure,online +requires-restart: system +keyvendor: sap.com +release: 2.00 +rev-number: 053 +rev-patchlevel: 00 +sp-number: 053 +sp-patchlevel: 00 +max_rel2.0_sps2_rev-number: 24 +max_rel2.0_sps2_patchlevel: 10 +max_rel2.0_sps3_rev-number: 37 +max_rel2.0_sps3_patchlevel: 07 +max_rel2.0_sps4_rev-number: 48 +max_rel2.0_sps4_patchlevel: 02 +date: 2020-11-11 12:12:22 +platform: linuxx86_64 +hdb-state: RAMP +fullversion: 2.00.053.00 Build 1605092543-1530 +''' + + +SAPHANA2_LOW_VERSION_MANIFEST = '''comptype: HDB +keyname: HDB +keycaption: SAP HANA DATABASE +supported-phases: prepare,offline,configure,online +requires-restart: system +keyvendor: sap.com +release: 2.00 +rev-number: 040 +rev-patchlevel: 00 +sp-number: 040 +sp-patchlevel: 00 +max_rel2.0_sps2_rev-number: 24 +max_rel2.0_sps2_patchlevel: 10 +max_rel2.0_sps3_rev-number: 37 +max_rel2.0_sps3_patchlevel: 07 +date: 2020-11-11 12:12:22 +platform: linuxx86_64 +hdb-state: RAMP +fullversion: 2.00.040.00 Build 1605092543-1530 +''' + + +def _report_has_pattern(report, pattern): + return pattern in report[0].to_dict().get('title', '') + + +EXPECTED_TITLE_PATTERNS = { + 'running': lambda report: _report_has_pattern(report, 'running SAP HANA'), + 'v1': lambda report: _report_has_pattern(report, 'Found SAP HANA 1'), + 'low': lambda report: _report_has_pattern(report, 'SAP HANA needs to be updated before the RHEL upgrade'), +} + + +def list_clear(l): + del l[:] + + +def _parse_manifest_data(manifest): + result = [] + for line in manifest.split('\n'): + line = line.strip() + if not line: + continue + # If there is a ValueError during the split, just burn with fire in this test + key, value = line.split(': ', 1) + result.append(SapHanaManifestEntry(key=key, value=value.strip())) + return result + + +class MockSapHanaInstanceInfo(object): + def __init__(self, name, number, path, admin, manifest_data, running=True): + self.manifest = _parse_manifest_data(manifest_data) + self.name = name + self.instance_number = number + self.path = path + self.running = running + self.admin = admin + + +def _gen_instance_info(name, manifest_data, index, running=True): + return MockSapHanaInstanceInfo( + name=name, + number='{:02}'.format(index), + path='/hana/shared/{name}/HDB{number:02}'.format(name=name, number=index), + admin='{name}adm'.format(name=name.lower()), + manifest_data=manifest_data, + running=running + ) + + +class MockSapHanaInfo(object): + def __init__(self, v1names, v2names, v2lownames, running=None): + self.installed = bool(v1names or v2names or v2lownames) + self.running = running if running is not None else self.installed + self.instances = [_gen_instance_info(name, + SAPHANA1_MANIFEST, + index, + running=running) + for index, name in enumerate(v1names)] + self.instances += [_gen_instance_info(name, + SAPHANA2_MANIFEST, + index + len(v1names), + running=running) + for index, name in enumerate(v2names)] + self.instances += [_gen_instance_info(name, + SAPHANA2_LOW_VERSION_MANIFEST, + index + len(v1names) + len(v2names), + running=running) + for index, name in enumerate(v2lownames)] + + +def _report_collector(reports): + def _mock_report(args): + reports.append(args) + return _mock_report + + +def _consume_mock_sap_hana_info(v1names=(), v2names=(), v2lownames=(), running=True): + def _consume(*models): + return iter([MockSapHanaInfo(v1names, v2names, v2lownames, running=running)]) + return _consume + + +class MockSAPHanaVersionInstance(object): + def __init__(self, major, rev, patchlevel): + self.name = "TestName" + + def _kv(k, v): + return SapHanaManifestEntry(key=k, value=v) + self.manifest = [ + _kv('release', '{major}.00'.format(major=major)), + _kv('rev-number', '{rev:03}'.format(rev=rev)), + _kv('rev-patchlevel', '{pl:02}'.format(pl=patchlevel)), + _kv('sp-number', '{rev:03}'.format(rev=rev)), + _kv('sp-patchlevel', '{pl:02}'.format(pl=patchlevel)), + ] + + +@pytest.mark.parametrize( + 'major,rev,patchlevel,result', ( + (2, 52, 0, True), + (2, 52, 1, True), + (2, 52, 2, True), + (2, 53, 0, True), + (2, 60, 0, True), + (2, 48, 2, True), + (2, 48, 1, False), + (2, 48, 0, False), + (2, 38, 2, False), + (2, 49, 0, True), + ) +) +def test_checksaphana__fullfills_rhel86_hana_min_version(monkeypatch, major, rev, patchlevel, result): + monkeypatch.setattr(version, 'get_target_major_version', lambda: '8') + monkeypatch.setattr(version, 'get_target_version', lambda: '8.6') + monkeypatch.setattr(checksaphana, 'SAP_HANA_RHEL86_REQUIRED_PATCH_LEVELS', ((4, 48, 2), (5, 52, 0))) + assert checksaphana._fullfills_hana_min_version( + MockSAPHanaVersionInstance( + major=major, + rev=rev, + patchlevel=patchlevel, + ) + ) == result + + +@pytest.mark.parametrize( + 'major,rev,patchlevel,result', ( + (2, 59, 4, True), + (2, 59, 5, True), + (2, 59, 6, True), + (2, 60, 0, False), + (2, 61, 0, False), + (2, 62, 0, False), + (2, 63, 2, True), + (2, 48, 1, False), + (2, 48, 0, False), + (2, 59, 0, False), + (2, 59, 1, False), + (2, 59, 2, False), + (2, 59, 3, False), + (2, 38, 2, False), + (2, 64, 0, True), + ) +) +def test_checksaphana__fullfills_hana_rhel90_min_version(monkeypatch, major, rev, patchlevel, result): + monkeypatch.setattr(version, 'get_target_major_version', lambda: '9') + monkeypatch.setattr(version, 'get_target_version', lambda: '9.0') + monkeypatch.setattr(checksaphana, 'SAP_HANA_RHEL90_REQUIRED_PATCH_LEVELS', ((5, 59, 4), (6, 63, 0))) + assert checksaphana._fullfills_hana_min_version( + MockSAPHanaVersionInstance( + major=major, + rev=rev, + patchlevel=patchlevel, + ) + ) == result + + +@pytest.mark.parametrize('flavour', ('default', 'saphana')) +@pytest.mark.parametrize('version,arch,inhibitor_expected', ( + ('8.6', architecture.ARCH_X86_64, False), + ('8.6', architecture.ARCH_PPC64LE, True), + ('8.6', architecture.ARCH_ARM64, True), + ('8.6', architecture.ARCH_S390X, True), + + ('9.0', architecture.ARCH_X86_64, False), + ('9.0', architecture.ARCH_PPC64LE, False), + ('9.0', architecture.ARCH_ARM64, True), + ('9.0', architecture.ARCH_S390X, True), +)) +def test_checksaphsana_test_arch(monkeypatch, flavour, version, arch, inhibitor_expected): + reports = [] + monkeypatch.setattr(checksaphana.reporting, 'create_report', _report_collector(reports)) + curr_actor_mocked = testutils.CurrentActorMocked(arch=arch, flavour=flavour, dst_ver=version) + monkeypatch.setattr(checksaphana.api, 'current_actor', curr_actor_mocked) + checksaphana.perform_check() + if flavour == 'saphana' and inhibitor_expected: + # the system has SAP HANA but unsupported target arch + assert reports and len(reports) == 1 + assert 'x86_64' in reports[0][1].to_dict()['summary'] + if version[0] == '9': + assert 'ppc64le' in reports[0][1].to_dict()['summary'] + elif flavour != 'saphana' or not inhibitor_expected: + assert not reports + + +def test_checksaphana_perform_check(monkeypatch): + v1names = ('ABC', 'DEF', 'GHI') + v2names = ('JKL', 'MNO', 'PQR', 'STU') + v2lownames = ('VWX', 'YZA') + reports = [] + monkeypatch.setattr(checksaphana, 'SAP_HANA_RHEL86_REQUIRED_PATCH_LEVELS', ((4, 48, 2), (5, 52, 0))) + monkeypatch.setattr(version, 'get_target_major_version', lambda: '8') + monkeypatch.setattr(version, 'get_target_version', lambda: '8.6') + monkeypatch.setattr(checksaphana.reporting, 'create_report', _report_collector(reports)) + monkeypatch.setattr(checksaphana.api, 'consume', _consume_mock_sap_hana_info( + v1names=v1names, v2names=v2names, v2lownames=v2lownames, running=True)) + + list_clear(reports) + monkeypatch.setattr(checksaphana.api, + 'current_actor', + testutils.CurrentActorMocked(arch=architecture.ARCH_X86_64)) + checksaphana.perform_check() + assert not reports + + monkeypatch.setattr(checksaphana.api, + 'current_actor', + testutils.CurrentActorMocked(arch=architecture.ARCH_X86_64, flavour='saphana')) + checksaphana.perform_check() + assert reports + # Expected 3 reports due to v1names + v2lownames + running + assert len(reports) == 3 + # Verifies that all expected title patterns are within the reports and not just coincidentally 3 + assert all([any([pattern(report) for report in reports]) for pattern in EXPECTED_TITLE_PATTERNS.values()]) + + list_clear(reports) + monkeypatch.setattr(checksaphana.api, 'consume', _consume_mock_sap_hana_info( + v1names=v1names, v2names=v2names, v2lownames=v2lownames, running=False)) + checksaphana.perform_check() + assert reports + # Expected 2 reports due to v1names + v2lownames + assert len(reports) == 2 + # Verifies that all expected title patterns are within the reports and not just coincidentally 2 + assert all([any([EXPECTED_TITLE_PATTERNS[pattern](report) for report in reports]) for pattern in ['v1', 'low']]) diff --git a/repos/system_upgrade/common/actors/checkselinux/actor.py b/repos/system_upgrade/common/actors/checkselinux/actor.py new file mode 100644 index 0000000..4e8fa7d --- /dev/null +++ b/repos/system_upgrade/common/actors/checkselinux/actor.py @@ -0,0 +1,26 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkselinux +from leapp.models import KernelCmdlineArg, Report, SELinuxFacts, SelinuxPermissiveDecision, SelinuxRelabelDecision +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckSelinux(Actor): + """ + Check SELinux status and produce decision messages for further action. + + Based on SELinux status produces decision messages to relabeling and changing status if + necessary + """ + + name = 'check_se_linux' + consumes = (SELinuxFacts,) + produces = ( + KernelCmdlineArg, + Report, + SelinuxPermissiveDecision, + SelinuxRelabelDecision, + ) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checkselinux.process() diff --git a/repos/system_upgrade/common/actors/checkselinux/libraries/checkselinux.py b/repos/system_upgrade/common/actors/checkselinux/libraries/checkselinux.py new file mode 100644 index 0000000..2ef914a --- /dev/null +++ b/repos/system_upgrade/common/actors/checkselinux/libraries/checkselinux.py @@ -0,0 +1,77 @@ +from leapp import reporting +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api +from leapp.models import KernelCmdlineArg, SELinuxFacts, SelinuxPermissiveDecision, SelinuxRelabelDecision + +DOC_URL = 'https://red.ht/rhel9-disabling-selinux' + + +def process(): + facts = next(api.consume(SELinuxFacts), None) + if not facts: + return + + enabled = facts.enabled + conf_status = facts.static_mode + + if conf_status == 'disabled': + if get_target_major_version() == '9': + api.produce(KernelCmdlineArg(key='selinux', value='0')) + reporting.create_report([ + reporting.Title('LEAPP detected SELinux disabled in "/etc/selinux/config"'), + reporting.Summary( + 'On RHEL 9, disabling SELinux in "/etc/selinux/config" is no longer possible. ' + 'This way, the system starts with SELinux enabled but with no policy loaded. LEAPP ' + 'will automatically disable SELinux using "SELINUX=0" kernel command line parameter. ' + 'However, Red Hat strongly recommends to have SELinux enabled' + ), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.SELINUX]), + reporting.RelatedResource('file', '/etc/selinux/config'), + reporting.ExternalLink(url=DOC_URL, title='Disabling SELinux'), + ]) + + if enabled: + reporting.create_report([ + reporting.Title('SElinux should be disabled based on the configuration file but it is enabled'), + reporting.Summary( + 'This message is to inform user about non-standard SElinux configuration. Please check ' + '"/etc/selinux/config" to see whether the configuration is set as expected.' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.SELINUX, reporting.Groups.SECURITY]) + ]) + reporting.create_report([ + reporting.Title('SElinux disabled'), + reporting.Summary('SElinux disabled, continuing...'), + reporting.Groups([reporting.Groups.SELINUX, reporting.Groups.SECURITY]) + ]) + return + + if conf_status in ('enforcing', 'permissive'): + api.produce(SelinuxRelabelDecision(set_relabel=True)) + reporting.create_report([ + reporting.Title('SElinux relabeling will be scheduled'), + reporting.Summary('SElinux relabeling will be scheduled as the status is permissive/enforcing.'), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.SELINUX, reporting.Groups.SECURITY]) + ]) + + if conf_status == 'enforcing': + api.produce(SelinuxPermissiveDecision( + set_permissive=True)) + reporting.create_report([ + reporting.Title('SElinux will be set to permissive mode'), + reporting.Summary( + 'SElinux will be set to permissive mode. Current mode: enforcing. This action is ' + 'required by the upgrade process to make sure the upgraded system can boot without ' + 'beinig blocked by SElinux rules.' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Remediation(hint=( + 'Make sure there are no SElinux related warnings after the upgrade and enable SElinux ' + 'manually afterwards. Notice: You can ignore the "/root/tmp_leapp_py3" SElinux warnings.' + ) + ), + reporting.Groups([reporting.Groups.SELINUX, reporting.Groups.SECURITY]) + ]) diff --git a/repos/system_upgrade/common/actors/checkselinux/tests/test_checkselinux.py b/repos/system_upgrade/common/actors/checkselinux/tests/test_checkselinux.py new file mode 100644 index 0000000..2a42b3e --- /dev/null +++ b/repos/system_upgrade/common/actors/checkselinux/tests/test_checkselinux.py @@ -0,0 +1,69 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import checkselinux +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import Report, SELinuxFacts, SelinuxPermissiveDecision, SelinuxRelabelDecision +from leapp.snactor.fixture import current_actor_context + + +def create_selinuxfacts(static_mode, enabled, policy='targeted', mls_enabled=True): + runtime_mode = static_mode if static_mode != 'disabled' else None + + return SELinuxFacts( + runtime_mode=runtime_mode, + static_mode=static_mode, + enabled=enabled, + policy=policy, + mls_enabled=mls_enabled + ) + + +@pytest.mark.parametrize('mode', ('permissive', 'enforcing')) +def test_actor_schedule_relabelling(monkeypatch, mode): + + fact = create_selinuxfacts(static_mode=mode, enabled=True) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[fact])) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + checkselinux.process() + + assert api.produce.model_instances[0].set_relabel + assert reporting.create_report.called + + +def test_actor_set_permissive(monkeypatch): + relabel = create_selinuxfacts(static_mode='enforcing', enabled=True) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[relabel])) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + checkselinux.process() + + assert api.produce.model_instances[0].set_relabel + assert api.produce.model_instances[1].set_permissive + assert reporting.create_report.called + + +@pytest.mark.parametrize('el8_to_el9', (True, False)) +def test_actor_selinux_disabled(monkeypatch, el8_to_el9): + disabled = create_selinuxfacts(enabled=False, static_mode='disabled') + + target_ver = '8' if not el8_to_el9 else '9' + + monkeypatch.setattr(checkselinux, 'get_target_major_version', lambda: target_ver) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[disabled])) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + checkselinux.process() + if el8_to_el9: + assert api.produce.model_instances[0] + assert reporting.create_report.called == 2 + else: + assert not api.produce.model_instances + assert reporting.create_report.called diff --git a/repos/system_upgrade/common/actors/checkskippedrepositories/actor.py b/repos/system_upgrade/common/actors/checkskippedrepositories/actor.py new file mode 100644 index 0000000..d4d0a79 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkskippedrepositories/actor.py @@ -0,0 +1,53 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.stdlib import config +from leapp.models import Report, SkippedRepositories +from leapp.reporting import create_report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckSkippedRepositories(Actor): + """ + Produces a report if any repositories enabled on the system are going to be skipped. + + The report produced by this actor should additionally include any package that is affected due to skipping + the repository. + """ + + name = 'check_skipped_repositories' + consumes = (SkippedRepositories,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + repos = set() + packages = set() + + for message in self.consume(SkippedRepositories): + repos.update(message.repos) + packages.update(message.packages) + + if repos: + title = 'Some enabled RPM repositories are unknown to Leapp' + summary_data = [] + summary_data.append('The following repositories with Red Hat-signed packages are unknown to Leapp:') + summary_data.extend(['- {}'.format(r) for r in repos]) + summary_data.append('And the following packages installed from those repositories may not be upgraded:') + summary_data.extend(['- {}'.format(p) for p in packages]) + summary = '\n'.join(summary_data) + + packages_related = [reporting.RelatedResource('package', str(p)) for p in packages] + repos_related = [reporting.RelatedResource('repository', str(r)) for r in repos] + + create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Remediation( + hint='You can file a request to add this repository to the scope of in-place upgrades ' + 'by filing a support ticket') + ] + packages_related + repos_related) + + if config.is_verbose(): + self.log.info('\n'.join([title, summary])) diff --git a/repos/system_upgrade/common/actors/checkskippedrepositories/tests/test_checkskippedrepos_checkskippedrepositories.py b/repos/system_upgrade/common/actors/checkskippedrepositories/tests/test_checkskippedrepos_checkskippedrepositories.py new file mode 100644 index 0000000..c53bade --- /dev/null +++ b/repos/system_upgrade/common/actors/checkskippedrepositories/tests/test_checkskippedrepos_checkskippedrepositories.py @@ -0,0 +1,70 @@ +from leapp.models import Report, SkippedRepositories + + +def test_skipped_repos(current_actor_context): + reported_packages = ['pkg_a', 'pkg_b', 'pkg_c'] + reported_repos = ['repo_a', 'repo_b', 'repo_c'] + current_actor_context.feed( + SkippedRepositories( + packages=list(reported_packages), + repos=list(reported_repos) + ) + ) + + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports + assert len(reports) == 1 + report_fields = reports[0].report + for pkg in reported_packages: + assert '\n- {}'.format(pkg) in report_fields['summary'] + for repo in reported_repos: + assert '\n- {}'.format(repo) in report_fields['summary'] + + +def test_skipped_just_repos(current_actor_context): + reported_repos = ['repo_a', 'repo_b', 'repo_c'] + current_actor_context.feed( + SkippedRepositories( + packages=[], + repos=list(reported_repos) + ) + ) + + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports + assert len(reports) == 1 + report_fields = reports[0].report + for repo in reported_repos: + assert '\n- {}'.format(repo) in report_fields['summary'] + + +def test_skipped_repos_empty(current_actor_context): + current_actor_context.feed( + SkippedRepositories( + packages=[], + repos=[] + ) + ) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert not reports + + +def test_skipped_repos_no_repos(current_actor_context): + current_actor_context.feed( + SkippedRepositories( + packages=['woot'], + repos=[] + ) + ) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert not reports + + +def test_skipped_repos_no_message(current_actor_context): + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert not reports diff --git a/repos/system_upgrade/common/actors/checkskipphase/actor.py b/repos/system_upgrade/common/actors/checkskipphase/actor.py new file mode 100644 index 0000000..91b4371 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkskipphase/actor.py @@ -0,0 +1,35 @@ +from leapp.actors import Actor +from leapp.messaging.commands import SkipPhasesUntilCommand +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckSkipPhase(Actor): + """ + Skip all the subsequent phases until the report phase. + + The phases that follow after the Checks phase work with the target + RHEL major version user space - stuff around preparing and checking + the rpm transaction. We do not want to process those phases in case of + inhibition - e.g. for a specific HW unsupported by the target system we + cannot do anything - we can just see some unclear errors in such case. + So we want to instead skip to the Reports phase to provide clear report + to user without confusing errors. + + The actor is processed after all actors in the phase (that provides Report + messages) are processed. + """ + + name = 'check_skip_phase' + consumes = (Report,) + produces = () + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + results = list(self.consume(Report)) + inhibitors = [msg for msg in results if 'inhibitor' in msg.report.get('flags', [])] + if inhibitors: + self.log.info("An upgrade inhibitor detected. Skipping to the Report phase.") + # until_phase='targettransactioncheck' === phase after this phase will be processed + # === the Reports phase + self._messaging.command(SkipPhasesUntilCommand(until_phase='targettransactioncheck')) diff --git a/repos/system_upgrade/common/actors/checksystemarch/actor.py b/repos/system_upgrade/common/actors/checksystemarch/actor.py new file mode 100644 index 0000000..4bbec1f --- /dev/null +++ b/repos/system_upgrade/common/actors/checksystemarch/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checksystemarch +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckSystemArch(Actor): + """ + Check if system is running at a supported architecture. If no, inhibit the upgrade process. + + Base on collected system facts, verify if current architecture is supported, otherwise produces + a message to inhibit upgrade process + """ + + name = 'check_system_arch' + consumes = () + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checksystemarch.check_architecture() diff --git a/repos/system_upgrade/common/actors/checksystemarch/libraries/checksystemarch.py b/repos/system_upgrade/common/actors/checksystemarch/libraries/checksystemarch.py new file mode 100644 index 0000000..03f218c --- /dev/null +++ b/repos/system_upgrade/common/actors/checksystemarch/libraries/checksystemarch.py @@ -0,0 +1,25 @@ +from leapp import reporting +from leapp.libraries.common.config import architecture + + +def check_architecture(): + """Check if given architecture is supported by upgrade process""" + if not architecture.matches_architecture(*architecture.ARCH_SUPPORTED): + inhibit_upgrade() + + +def inhibit_upgrade(): + """Generate an upgrade inhibitor""" + reporting.create_report( + [ + reporting.Title('Unsupported architecture'), + reporting.Summary( + 'Upgrade process is only supported on {} systems.'.format( + ', '.join(architecture.ARCH_SUPPORTED) + ) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ] + ) diff --git a/repos/system_upgrade/common/actors/checksystemarch/tests/test_checksystemarch.py b/repos/system_upgrade/common/actors/checksystemarch/tests/test_checksystemarch.py new file mode 100644 index 0000000..175b82c --- /dev/null +++ b/repos/system_upgrade/common/actors/checksystemarch/tests/test_checksystemarch.py @@ -0,0 +1,27 @@ +from leapp import reporting +from leapp.libraries.actor import checksystemarch +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.utils.report import is_inhibitor + + +def test_valid_architectures(monkeypatch): + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_ACCEPTED[0])) + + checksystemarch.check_architecture() + + assert reporting.create_report.called == 0 + + +def test_invalid_architecture(monkeypatch): + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='invalid_architecture')) + + checksystemarch.check_architecture() + assert reporting.create_report.called == 1 + assert 'Unsupported architecture' in reporting.create_report.report_fields['title'] + assert 'Upgrade process is only supported' in reporting.create_report.report_fields['summary'] + assert reporting.create_report.report_fields['severity'] == 'high' + assert is_inhibitor(reporting.create_report.report_fields) diff --git a/repos/system_upgrade/common/actors/checktargetiso/actor.py b/repos/system_upgrade/common/actors/checktargetiso/actor.py new file mode 100644 index 0000000..4d602de --- /dev/null +++ b/repos/system_upgrade/common/actors/checktargetiso/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import check_target_iso +from leapp.models import Report, StorageInfo, TargetOSInstallationImage +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckTargetISO(Actor): + """ + Check that the provided target ISO is a valid ISO image and is located on a persistent partition. + """ + + name = 'check_target_iso' + consumes = (StorageInfo, TargetOSInstallationImage,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + check_target_iso.perform_target_iso_checks() diff --git a/repos/system_upgrade/common/actors/checktargetiso/libraries/check_target_iso.py b/repos/system_upgrade/common/actors/checktargetiso/libraries/check_target_iso.py new file mode 100644 index 0000000..b5b6690 --- /dev/null +++ b/repos/system_upgrade/common/actors/checktargetiso/libraries/check_target_iso.py @@ -0,0 +1,182 @@ +import os + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import version +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import StorageInfo, TargetOSInstallationImage + + +def inhibit_if_not_valid_iso_file(iso): + inhibit_title = None + target_os = 'RHEL {}'.format(version.get_target_major_version()) + if not os.path.exists(iso.path): + inhibit_title = 'Provided {target_os} installation ISO does not exists.'.format(target_os=target_os) + inhibit_summary_tpl = 'The supplied {target_os} ISO path \'{iso_path}\' does not point to an existing file.' + inhibit_summary = inhibit_summary_tpl.format(target_os=target_os, iso_path=iso.path) + else: + try: + # TODO(mhecko): Figure out whether we will keep this since the scan actor is mounting the ISO anyway + file_cmd_output = run(['file', '--mime', iso.path]) + if 'application/x-iso9660-image' not in file_cmd_output['stdout']: + inhibit_title = 'Provided {target_os} installation image is not a valid ISO.'.format( + target_os=target_os) + summary_tpl = ('The provided {target_os} installation image path \'{iso_path}\'' + 'does not point to a valid ISO image.') + inhibit_summary = summary_tpl.format(target_os=target_os, iso_path=iso.path) + + except CalledProcessError as err: + raise StopActorExecutionError(message='Failed to check whether {0} is an ISO file.'.format(iso.path), + details={'details': '{}'.format(err)}) + if inhibit_title: + remediation_hint = ('Check whether the supplied target OS installation path points to a valid' + '{target_os} ISO image.'.format(target_os=target_os)) + + reporting.create_report([ + reporting.Title(inhibit_title), + reporting.Summary(inhibit_summary), + reporting.Remediation(hint=remediation_hint), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.REPOSITORY]), + ]) + return True + return False + + +def inhibit_if_failed_to_mount_iso(iso): + if iso.was_mounted_successfully: + return False + + target_os = 'RHEL {0}'.format(version.get_target_major_version()) + title = 'Failed to mount the provided {target_os} installation image.' + summary = 'The provided {target_os} installation image {iso_path} could not be mounted.' + hint = 'Verify that the provided ISO is a valid {target_os} installation image' + reporting.create_report([ + reporting.Title(title.format(target_os=target_os)), + reporting.Summary(summary.format(target_os=target_os, iso_path=iso.path)), + reporting.Remediation(hint=hint.format(target_os=target_os)), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.REPOSITORY]), + ]) + return True + + +def inhibit_if_wrong_iso_rhel_version(iso): + # If the major version could not be determined, the iso.rhel_version will be an empty string + if not iso.rhel_version: + reporting.create_report([ + reporting.Title( + 'Failed to determine RHEL version provided by the supplied installation image.'), + reporting.Summary( + 'Could not determine what RHEL version does the supplied installation image' + ' located at {iso_path} provide.'.format(iso_path=iso.path) + ), + reporting.Remediation(hint='Check that the supplied image is a valid RHEL installation image.'), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.REPOSITORY]), + ]) + return + + iso_rhel_major_version = iso.rhel_version.split('.')[0] + req_major_ver = version.get_target_major_version() + if iso_rhel_major_version != req_major_ver: + summary = ('The provided RHEL installation image provides RHEL {iso_rhel_ver}, however, a RHEL ' + '{required_rhel_ver} image is required for the upgrade.') + + reporting.create_report([ + reporting.Title('The provided installation image provides invalid RHEL version.'), + reporting.Summary(summary.format(iso_rhel_ver=iso.rhel_version, required_rhel_ver=req_major_ver)), + reporting.Remediation(hint='Check that the supplied image is a valid RHEL installation image.'), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.REPOSITORY]), + ]) + + +def inhibit_if_iso_not_located_on_persistent_partition(iso): + # Check whether the filesystem that on which the ISO resides is mounted in a persistent fashion + storage_info = next(api.consume(StorageInfo), None) + if not storage_info: + raise StopActorExecutionError('Actor did not receive any StorageInfo message.') + + # Assumes that the path has been already checked for validity, e.g., the ISO path points to a file + iso_mountpoint = iso.path + while not os.path.ismount(iso_mountpoint): # Guaranteed to terminate because we must reach / eventually + iso_mountpoint = os.path.dirname(iso_mountpoint) + + is_iso_on_persistent_partition = False + for fstab_entry in storage_info.fstab: + if fstab_entry.fs_file == iso_mountpoint: + is_iso_on_persistent_partition = True + break + + if not is_iso_on_persistent_partition: + target_ver = version.get_target_major_version() + title = 'The RHEL {target_ver} installation image is not located on a persistently mounted partition' + summary = ('The provided RHEL {target_ver} installation image {iso_path} is located' + ' on a partition without an entry in /etc/fstab, causing the partition ' + ' to be persistently mounted.') + hint = ('Move the installation image to a partition that is persistently mounted, or create an /etc/fstab' + ' entry for the partition on which the installation image is located.') + + reporting.create_report([ + reporting.Title(title.format(target_ver=target_ver)), + reporting.Summary(summary.format(target_ver=target_ver, iso_path=iso.path)), + reporting.Remediation(hint=hint), + reporting.RelatedResource('file', '/etc/fstab'), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.REPOSITORY]), + ]) + + +def inihibit_if_iso_does_not_contain_basic_repositories(iso): + missing_basic_repoids = {'BaseOS', 'AppStream'} + + for custom_repo in iso.repositories: + missing_basic_repoids.remove(custom_repo.repoid) + if not missing_basic_repoids: + break + + if missing_basic_repoids: + target_ver = version.get_target_major_version() + + title = 'Provided RHEL {target_ver} installation ISO is missing fundamental repositories.' + summary = ('The supplied RHEL {target_ver} installation ISO {iso_path} does not contain ' + '{missing_repos} repositor{suffix}') + hint = 'Check whether the supplied ISO is a valid RHEL {target_ver} installation image.' + + reporting.create_report([ + reporting.Title(title.format(target_ver=target_ver)), + reporting.Summary(summary.format(target_ver=target_ver, + iso_path=iso.path, + missing_repos=','.join(missing_basic_repoids), + suffix=('y' if len(missing_basic_repoids) == 1 else 'ies'))), + reporting.Remediation(hint=hint.format(target_ver=target_ver)), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.REPOSITORY]), + ]) + + +def perform_target_iso_checks(): + requested_target_iso_msg_iter = api.consume(TargetOSInstallationImage) + target_iso = next(requested_target_iso_msg_iter, None) + + if not target_iso: + return + + if next(requested_target_iso_msg_iter, None): + api.current_logger().warn('Received multiple msgs with target ISO to use.') + + # Cascade the inhibiting conditions so that we do not spam the user with inhibitors + is_iso_invalid = inhibit_if_not_valid_iso_file(target_iso) + if not is_iso_invalid: + failed_to_mount_iso = inhibit_if_failed_to_mount_iso(target_iso) + if not failed_to_mount_iso: + inhibit_if_wrong_iso_rhel_version(target_iso) + inhibit_if_iso_not_located_on_persistent_partition(target_iso) + inihibit_if_iso_does_not_contain_basic_repositories(target_iso) diff --git a/repos/system_upgrade/common/actors/checktargetiso/tests/test_check_target_iso.py b/repos/system_upgrade/common/actors/checktargetiso/tests/test_check_target_iso.py new file mode 100644 index 0000000..d819bc3 --- /dev/null +++ b/repos/system_upgrade/common/actors/checktargetiso/tests/test_check_target_iso.py @@ -0,0 +1,168 @@ +import os + +import pytest + +from leapp import reporting +from leapp.libraries.actor import check_target_iso +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import CustomTargetRepository, FstabEntry, StorageInfo, TargetOSInstallationImage +from leapp.utils.report import is_inhibitor + + +@pytest.mark.parametrize('mount_successful', (True, False)) +def test_inhibit_on_iso_mount_failure(monkeypatch, mount_successful): + create_report_mock = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', create_report_mock) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + + target_iso_msg = TargetOSInstallationImage(path='', + mountpoint='', + repositories=[], + was_mounted_successfully=mount_successful) + + check_target_iso.inhibit_if_failed_to_mount_iso(target_iso_msg) + + expected_report_count = 0 if mount_successful else 1 + assert create_report_mock.called == expected_report_count + if not mount_successful: + assert is_inhibitor(create_report_mock.reports[0]) + + +@pytest.mark.parametrize(('detected_iso_rhel_ver', 'required_target_ver', 'should_inhibit'), + (('8.6', '8.6', False), ('7.9', '8.6', True), ('8.5', '8.6', False), ('', '8.6', True))) +def test_inhibit_on_detected_rhel_version(monkeypatch, detected_iso_rhel_ver, required_target_ver, should_inhibit): + create_report_mock = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', create_report_mock) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver=required_target_ver)) + + target_iso_msg = TargetOSInstallationImage(path='', + mountpoint='', + repositories=[], + rhel_version=detected_iso_rhel_ver, + was_mounted_successfully=True) + + check_target_iso.inhibit_if_wrong_iso_rhel_version(target_iso_msg) + + expected_report_count = 1 if should_inhibit else 0 + assert create_report_mock.called == expected_report_count + if should_inhibit: + assert is_inhibitor(create_report_mock.reports[0]) + + +@pytest.mark.parametrize(('iso_repoids', 'should_inhibit'), + ((('BaseOS', 'AppStream'), False), (('BaseOS',), True), (('AppStream',), True), ((), True))) +def test_inhibit_on_invalid_rhel_version(monkeypatch, iso_repoids, should_inhibit): + create_report_mock = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', create_report_mock) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + + iso_repositories = [CustomTargetRepository(repoid=repoid, baseurl='', name='') for repoid in iso_repoids] + + target_iso_msg = TargetOSInstallationImage(path='', + mountpoint='', + repositories=iso_repositories, + was_mounted_successfully=True) + + check_target_iso.inihibit_if_iso_does_not_contain_basic_repositories(target_iso_msg) + + expected_report_count = 1 if should_inhibit else 0 + assert create_report_mock.called == expected_report_count + if should_inhibit: + assert is_inhibitor(create_report_mock.reports[0]) + + +def test_inhibit_on_nonexistent_iso(monkeypatch): + iso_path = '/nonexistent/iso' + create_report_mock = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', create_report_mock) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + + def mocked_os_path_exists(path): + assert path == iso_path, 'The actor should check only the path to ISO for existence.' + return False + + monkeypatch.setattr(os.path, 'exists', mocked_os_path_exists) + + target_iso_msg = TargetOSInstallationImage(path=iso_path, + mountpoint='', + repositories=[], + was_mounted_successfully=True) + + check_target_iso.inhibit_if_not_valid_iso_file(target_iso_msg) + + assert create_report_mock.called == 1 + assert is_inhibitor(create_report_mock.reports[0]) + + +@pytest.mark.parametrize(('filetype', 'should_inhibit'), + (('{path}: text/plain; charset=us-ascii', True), + ('{path}: application/x-iso9660-image; charset=binary', False))) +def test_inhibit_on_path_not_pointing_to_iso(monkeypatch, filetype, should_inhibit): + iso_path = '/path/not-an-iso' + create_report_mock = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', create_report_mock) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + + def mocked_os_path_exists(path): + assert path == iso_path, 'The actor should check only the path to ISO for existence.' + return True + + def mocked_run(cmd, *args, **kwargs): + assert cmd[0] == 'file', 'The actor should only use `file` cmd when checking for file type.' + return {'stdout': filetype.format(path=iso_path)} + + monkeypatch.setattr(os.path, 'exists', mocked_os_path_exists) + monkeypatch.setattr(check_target_iso, 'run', mocked_run) + + target_iso_msg = TargetOSInstallationImage(path=iso_path, mountpoint='', repositories=[]) + + check_target_iso.inhibit_if_not_valid_iso_file(target_iso_msg) + + if should_inhibit: + assert create_report_mock.called == 1 + assert is_inhibitor(create_report_mock.reports[0]) + else: + assert create_report_mock.called == 0 + + +@pytest.mark.parametrize('is_persistently_mounted', (False, True)) +def test_inhibition_when_iso_not_on_persistent_partition(monkeypatch, is_persistently_mounted): + path_mountpoint = '/d0/d1' + iso_path = '/d0/d1/d2/d3/iso' + create_report_mock = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', create_report_mock) + + def os_path_ismount_mocked(path): + if path == path_mountpoint: + return True + if path == '/': # / Should be a mountpoint on every system + return True + return False + + monkeypatch.setattr(os.path, 'ismount', os_path_ismount_mocked) + + fstab_mountpoint = path_mountpoint if is_persistently_mounted else '/some/other/mountpoint' + fstab_entry = FstabEntry(fs_spec='/dev/sta2', fs_file=fstab_mountpoint, + fs_vfstype='', fs_mntops='', fs_freq='', fs_passno='') + storage_info_msg = StorageInfo(fstab=[fstab_entry]) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[storage_info_msg])) + + target_iso_msg = TargetOSInstallationImage(path=iso_path, mountpoint='', repositories=[]) + check_target_iso.inhibit_if_iso_not_located_on_persistent_partition(target_iso_msg) + + if is_persistently_mounted: + assert not create_report_mock.called + else: + assert create_report_mock.called == 1 + assert is_inhibitor(create_report_mock.reports[0]) + + +def test_actor_does_not_perform_when_iso_not_used(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + + check_target_iso.perform_target_iso_checks() + + assert not reporting.create_report.called diff --git a/repos/system_upgrade/common/actors/checktargetrepos/actor.py b/repos/system_upgrade/common/actors/checktargetrepos/actor.py new file mode 100644 index 0000000..d61fb68 --- /dev/null +++ b/repos/system_upgrade/common/actors/checktargetrepos/actor.py @@ -0,0 +1,47 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checktargetrepos +from leapp.models import CustomTargetRepositoryFile, Report, RHUIInfo, TargetRepositories +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class Checktargetrepos(Actor): + """ + Check whether target yum repositories are specified. + + RHSM | RHUI | ER | CTR | CTRF || result + -----+------+----+-----+------++------- + Yes | ---- | -- | --- | ---- || - + -----+------+----+-----+------++------- + No | Yes | -- | --- | ---- || - + -----+------+----+-----+------++------- + No | No | -- | No | No || inhibit + -----+------+----+-----+------++------- + No | No | -- | No | Yes || inhibit + -----+------+----+-----+------++------- + No | No | No | Yes | No || warn/report info + -----+------+----+-----+------++------- + No | No | No | Yes | Yes || - + -----+------+----+-----+------++------- + No | No | Yes| Yes | No || - + -----+------+----+-----+------++------- + No | No | Yes| Yes | Yes || - + + ER - config.get_env('LEAPP_ENABLE_REPOS') is non-empty + CTR - CustomTargetRepositories found + CTRF - the expected CustomTargetRepositoryFile found + RHSM - RHSM is used (it is not skipped) + RHUI - RHUIInfo msg is consumed + + This is not 100 % reliable check. This cover just the most obvious cases + that are expected to fail. Reporting of such issues in this way, here, + will be probably much more clear, without additional errors that could + be raised. + """ + + name = 'checktargetrepos' + consumes = (CustomTargetRepositoryFile, TargetRepositories, RHUIInfo) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + checktargetrepos.process() diff --git a/repos/system_upgrade/common/actors/checktargetrepos/libraries/checktargetrepos.py b/repos/system_upgrade/common/actors/checktargetrepos/libraries/checktargetrepos.py new file mode 100644 index 0000000..6d5a2f6 --- /dev/null +++ b/repos/system_upgrade/common/actors/checktargetrepos/libraries/checktargetrepos.py @@ -0,0 +1,104 @@ +from leapp import reporting +from leapp.libraries.common import config, rhsm +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api +from leapp.models import CustomTargetRepositoryFile, RHUIInfo, TargetRepositories + +# TODO: we need to provide this path in a shared library +CUSTOM_REPO_PATH = '/etc/leapp/files/leapp_upgrade_repositories.repo' + + +def _any_custom_repo_defined(): + for tr in api.consume(TargetRepositories): + if tr.custom_repos: + return True + return False + + +def _the_custom_repofile_defined(): + for ctrf in api.consume(CustomTargetRepositoryFile): + if ctrf and ctrf.file == CUSTOM_REPO_PATH: + return True + return False + + +def _the_enablerepo_option_used(): + return config.get_env('LEAPP_ENABLE_REPOS', None) is not None + + +def process(): + target_major_version = get_target_major_version() + + if target_major_version == '8': + ipu_doc_url = 'https://red.ht/upgrading-rhel7-to-rhel8-main-official-doc' + elif target_major_version == '9': + ipu_doc_url = 'https://red.ht/upgrading-rhel8-to-rhel9-main-official-doc' + + rhui_info = next(api.consume(RHUIInfo), None) + + if not rhsm.skip_rhsm() or rhui_info: + # getting RH repositories through RHSM or RHUI; resolved by seatbelts + # implemented in other actors + return + + # rhsm skipped; take your seatbelts please + is_ctr = _any_custom_repo_defined() + is_ctrf = _the_custom_repofile_defined() + is_re = _the_enablerepo_option_used() + if not is_ctr: + # no rhsm, no custom repositories.. this will really not work :) + # TODO: add link to the RH article about use of custom repositories!! + # NOTE: we can put here now the link to the main document, as this + # will be described there or at least the link to the right document + # will be delivered here. + if is_ctrf: + summary_ctrf = '\n\nThe custom repository file has been detected. Maybe it is empty?' + else: + summary_ctrf = '' + reporting.create_report([ + reporting.Title('Using RHSM has been skipped but no custom or RHUI repositories have been delivered.'), + reporting.Summary( + 'Leapp is run in the mode when the Red Hat Subscription Manager' + ' is not used (the --no-rhsm option or the LEAPP_NO_RHSM=1' + ' environment variable has been set) so leapp is not able to' + ' obtain YUM/DNF repositories with the content for the target' + ' system in the standard way. The content has to be delivered' + ' either by user manually or, in case of public clouds, by a' + ' special Leapp package for RHUI environments.' + ), + reporting.Remediation(hint=( + 'Create the repository file according to instructions in the' + ' referred document on the following path with all' + ' repositories that should be used during the upgrade: "{}".' + '\n\n{}' + .format(CUSTOM_REPO_PATH, summary_ctrf) + )), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.ExternalLink(url=ipu_doc_url, title='UPGRADING TO RHEL {}'.format(target_major_version)), + reporting.RelatedResource('file', CUSTOM_REPO_PATH), + ]) + elif not (is_ctrf or is_re): + # Some custom repositories have been discovered, but the custom repo + # file not - neither the --enablerepo option is used. Inform about + # the official recommended way. + reporting.create_report([ + reporting.Title('Detected "CustomTargetRepositories" without using new provided mechanisms used.'), + reporting.Summary( + 'Red Hat now provides an official way for using custom' + ' repositories during the in-place upgrade through' + ' the referred custom repository file or through the' + ' --enablerepo option for leapp. The CustomTargetRepositories' + ' have been produced from custom (own) actors?' + ), + reporting.Remediation(hint=( + 'Follow the new simple way to enable custom repositories' + ' during the upgrade (see the referred document) or create' + ' the empty custom repository file to acknowledge this report' + ' message.' + )), + reporting.Severity(reporting.Severity.INFO), + reporting.ExternalLink(url=ipu_doc_url, title='UPGRADING TO RHEL {}'.format(target_major_version)), + reporting.RelatedResource('file', CUSTOM_REPO_PATH), + ]) diff --git a/repos/system_upgrade/common/actors/checktargetrepos/tests/test_checktargetrepos.py b/repos/system_upgrade/common/actors/checktargetrepos/tests/test_checktargetrepos.py new file mode 100644 index 0000000..c1ca8cd --- /dev/null +++ b/repos/system_upgrade/common/actors/checktargetrepos/tests/test_checktargetrepos.py @@ -0,0 +1,87 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import checktargetrepos +from leapp.libraries.common import rhsm +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import ( + CustomTargetRepository, + CustomTargetRepositoryFile, + EnvVar, + Report, + RepositoryData, + RHELTargetRepository, + TargetRepositories +) +from leapp.utils.report import is_inhibitor + + +class MockedConsume(object): + def __init__(self, *args): + self._msgs = [] + for arg in args: + if not arg: + continue + if isinstance(arg, list): + self._msgs.extend(arg) + else: + self._msgs.append(arg) + + def __call__(self, model): + return iter([msg for msg in self._msgs if isinstance(msg, model)]) + + +_RHEL_REPOS = [ + RHELTargetRepository(repoid='repo1'), + RHELTargetRepository(repoid='repo2'), + RHELTargetRepository(repoid='repo3'), + RHELTargetRepository(repoid='repo4'), +] + +_CUSTOM_REPOS = [ + CustomTargetRepository(repoid='repo1', name='repo1name', baseurl='repo1url', enabled=True), + CustomTargetRepository(repoid='repo2', name='repo2name', baseurl='repo2url', enabled=False), + CustomTargetRepository(repoid='repo3', name='repo3name', baseurl=None, enabled=True), + CustomTargetRepository(repoid='repo4', name='repo4name', baseurl=None, enabled=True), +] + +_TARGET_REPOS_CUSTOM = TargetRepositories(rhel_repos=_RHEL_REPOS, custom_repos=_CUSTOM_REPOS) +_TARGET_REPOS_NO_CUSTOM = TargetRepositories(rhel_repos=_RHEL_REPOS) +_CUSTOM_TARGET_REPOFILE = CustomTargetRepositoryFile(file='/etc/leapp/files/leapp_upgrade_repositories.repo') + + +def test_checktargetrepos_rhsm(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: False) + monkeypatch.setattr(api, 'consume', MockedConsume()) + monkeypatch.setattr(checktargetrepos, 'get_target_major_version', lambda: '8') + checktargetrepos.process() + assert reporting.create_report.called == 0 + + +@pytest.mark.parametrize('enable_repos', [True, False]) +@pytest.mark.parametrize('custom_target_repos', [True, False]) +@pytest.mark.parametrize('custom_target_repofile', [True, False]) +def test_checktargetrepos_no_rhsm(monkeypatch, enable_repos, custom_target_repos, custom_target_repofile): + mocked_consume = MockedConsume(_TARGET_REPOS_CUSTOM if custom_target_repos else _TARGET_REPOS_NO_CUSTOM) + if custom_target_repofile: + mocked_consume._msgs.append(_CUSTOM_TARGET_REPOFILE) + envars = {'LEAPP_ENABLE_REPOS': 'hill,spencer'} if enable_repos else {} + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars=envars)) + + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: True) + monkeypatch.setattr(api, 'consume', mocked_consume) + monkeypatch.setattr(checktargetrepos, 'get_target_major_version', lambda: '8') + + checktargetrepos.process() + + if not custom_target_repos: + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + elif not enable_repos and custom_target_repos and not custom_target_repofile: + assert reporting.create_report.called == 1 + assert not is_inhibitor(reporting.create_report.report_fields) + else: + assert reporting.create_report.called == 0 diff --git a/repos/system_upgrade/common/actors/checkyumpluginsenabled/actor.py b/repos/system_upgrade/common/actors/checkyumpluginsenabled/actor.py new file mode 100644 index 0000000..fbc2f8b --- /dev/null +++ b/repos/system_upgrade/common/actors/checkyumpluginsenabled/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkyumpluginsenabled import check_required_yum_plugins_enabled +from leapp.models import PkgManagerInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckYumPluginsEnabled(Actor): + """ + Checks that the required yum plugins are enabled. + """ + + name = 'check_yum_plugins_enabled' + consumes = (PkgManagerInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + pkg_manager_info = next(self.consume(PkgManagerInfo)) + check_required_yum_plugins_enabled(pkg_manager_info) diff --git a/repos/system_upgrade/common/actors/checkyumpluginsenabled/libraries/checkyumpluginsenabled.py b/repos/system_upgrade/common/actors/checkyumpluginsenabled/libraries/checkyumpluginsenabled.py new file mode 100644 index 0000000..48f38d0 --- /dev/null +++ b/repos/system_upgrade/common/actors/checkyumpluginsenabled/libraries/checkyumpluginsenabled.py @@ -0,0 +1,72 @@ +import os + +from leapp import reporting +from leapp.libraries.common.config.version import get_source_major_version +from leapp.libraries.common.rhsm import skip_rhsm + +# If LEAPP_NO_RHSM is set, subscription-manager and product-id will not be +# considered as required when checking whether the required plugins are enabled. +REQUIRED_YUM_PLUGINS = {'subscription-manager', 'product-id'} +FMT_LIST_SEPARATOR = '\n - ' + + +def check_required_yum_plugins_enabled(pkg_manager_info): + """ + Checks whether the yum plugins required by the IPU are enabled. + + If they are not enabled, a report is produced informing the user about it. + + :param pkg_manager_info: PkgManagerInfo + """ + + missing_required_plugins = REQUIRED_YUM_PLUGINS - set(pkg_manager_info.enabled_plugins) + + if skip_rhsm(): + missing_required_plugins -= {'subscription-manager', 'product-id'} + + if missing_required_plugins: + missing_required_plugins_text = '' + for missing_plugin in missing_required_plugins: + missing_required_plugins_text += '{0}{1}'.format(FMT_LIST_SEPARATOR, missing_plugin) + + if get_source_major_version() == '7': + pkg_manager = 'YUM' + pkg_manager_config_path = '/etc/yum.conf' + plugin_configs_dir = '/etc/yum/pluginconf.d' + else: + # On RHEL8+ the yum package might not be installed + pkg_manager = 'DNF' + pkg_manager_config_path = '/etc/dnf/dnf.conf' + plugin_configs_dir = '/etc/dnf/plugins' + + # pkg_manager_config_path - enable/disable plugins globally + # subscription_manager_plugin_conf, product_id_plugin_conf - plugins can be disabled individually + subscription_manager_plugin_conf = os.path.join(plugin_configs_dir, 'subscription-manager.conf') + product_id_plugin_conf = os.path.join(plugin_configs_dir, 'product-id.conf') + + remediation_commands = [ + 'sed -i \'s/^plugins=0/plugins=1/\' \'{0}\''.format(pkg_manager_config_path), + 'sed -i \'s/^enabled=0/enabled=1/\' \'{0}\''.format(subscription_manager_plugin_conf), + 'sed -i \'s/^enabled=0/enabled=1/\' \'{0}\''.format(product_id_plugin_conf) + ] + + reporting.create_report([ + reporting.Title('Required {0} plugins are not being loaded.'.format(pkg_manager)), + reporting.Summary( + 'The following {0} plugins are not being loaded: {1}'.format(pkg_manager, + missing_required_plugins_text) + ), + reporting.Remediation( + hint='If you have yum plugins globally disabled, please enable them by editing the {0}. ' + 'Individually, the {1} plugins can be enabled in their corresponding configurations found at: {2}' + .format(pkg_manager_config_path, pkg_manager, plugin_configs_dir), + # Provide all commands as one due to problems with satellites + commands=[['bash', '-c', '"{0}"'.format('; '.join(remediation_commands))]] + ), + reporting.RelatedResource('file', pkg_manager_config_path), + reporting.RelatedResource('file', subscription_manager_plugin_conf), + reporting.RelatedResource('file', product_id_plugin_conf), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.REPOSITORY]), + ]) diff --git a/repos/system_upgrade/common/actors/checkyumpluginsenabled/tests/test_checkyumpluginsenabled.py b/repos/system_upgrade/common/actors/checkyumpluginsenabled/tests/test_checkyumpluginsenabled.py new file mode 100644 index 0000000..9bf9a3b --- /dev/null +++ b/repos/system_upgrade/common/actors/checkyumpluginsenabled/tests/test_checkyumpluginsenabled.py @@ -0,0 +1,68 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.checkyumpluginsenabled import check_required_yum_plugins_enabled +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import PkgManagerInfo +from leapp.utils.report import is_inhibitor + + +def _create_report_with_multiple_base_list_primitive_fields(): + report_fields = [ + reporting.Title('a title'), + reporting.Summary('some summary'), + reporting.RelatedResource('file', '/path/to/some/configA'), + reporting.RelatedResource('file', '/path/to/some/configB'), + reporting.RelatedResource('file', '/path/to/some/configC'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.REPOSITORY])] + reporting.create_report(report_fields) + + +def test__create_report_mocked(monkeypatch): + actor_reports = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(reporting, 'create_report', actor_reports) + _create_report_with_multiple_base_list_primitive_fields() + + # make sure that all related resources are present + for config in ['/path/to/some/configA', '/path/to/some/configB', '/path/to/some/configC']: + assert config in [rr['title'] for rr in actor_reports.report_fields['detail']['related_resources']] + + # make sure that tags/flags joined as groups are present under groups + for group in [reporting.Groups.INHIBITOR, reporting.Groups.REPOSITORY]: + assert group in actor_reports.report_fields['groups'] + + +def test_report_when_missing_required_plugins(monkeypatch): + """Test whether a report entry is created when any of the required YUM plugins are missing.""" + yum_config = PkgManagerInfo(enabled_plugins=['product-id', 'some-user-plugin']) + + actor_reports = create_report_mocked() + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(reporting, 'create_report', actor_reports) + + check_required_yum_plugins_enabled(yum_config) + + assert actor_reports.called, "Report wasn't created when required a plugin is missing." + + fail_description = 'The missing required plugin is not mentioned in the report.' + assert 'subscription-manager' in actor_reports.report_fields['summary'], fail_description + + fail_description = 'The upgrade should be inhibited when plugins are not enabled.' + assert is_inhibitor(actor_reports.report_fields), fail_description + + +def test_nothing_is_reported_when_rhsm_disabled(monkeypatch): + actor_mocked = CurrentActorMocked(envars={'LEAPP_NO_RHSM': '1'}) + + monkeypatch.setattr(api, 'current_actor', actor_mocked) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + yum_config = PkgManagerInfo(enabled_plugins=[]) + check_required_yum_plugins_enabled(yum_config) + + assert not reporting.create_report.called, 'Report was created even if LEAPP_NO_RHSM was set' diff --git a/repos/system_upgrade/common/actors/cloud/checkhybridimage/actor.py b/repos/system_upgrade/common/actors/cloud/checkhybridimage/actor.py new file mode 100644 index 0000000..3cd2d86 --- /dev/null +++ b/repos/system_upgrade/common/actors/cloud/checkhybridimage/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkhybridimage import check_hybrid_image +from leapp.models import FirmwareFacts, HybridImage, InstalledRPM +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckHybridImage(Actor): + """ + Check if the system is using Azure hybrid image. + + These images have a default relative symlink to EFI + partition even when booted using BIOS and in such cases + GRUB is not able find "grubenv" to get the kernel cmdline + options and fails to boot after upgrade`. + """ + + name = 'checkhybridimage' + consumes = (InstalledRPM, FirmwareFacts) + produces = (HybridImage, Report) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + check_hybrid_image() diff --git a/repos/system_upgrade/common/actors/cloud/checkhybridimage/libraries/checkhybridimage.py b/repos/system_upgrade/common/actors/cloud/checkhybridimage/libraries/checkhybridimage.py new file mode 100644 index 0000000..e894683 --- /dev/null +++ b/repos/system_upgrade/common/actors/cloud/checkhybridimage/libraries/checkhybridimage.py @@ -0,0 +1,51 @@ +import os + +from leapp import reporting +from leapp.libraries.common import rhui +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import FirmwareFacts, HybridImage, InstalledRPM + +BIOS_PATH = '/boot/grub2/grubenv' +EFI_PATH = '/boot/efi/EFI/redhat/grubenv' + + +def is_grubenv_symlink_to_efi(): + """ + Check whether '/boot/grub2/grubenv' is a relative symlink to + '/boot/efi/EFI/redhat/grubenv'. + """ + return os.path.islink(BIOS_PATH) and os.path.realpath(BIOS_PATH) == os.path.realpath(EFI_PATH) + + +def is_azure_agent_installed(): + """Check whether 'WALinuxAgent' package is installed.""" + upg_path = rhui.get_upg_path() + agent_pkg = rhui.RHUI_CLOUD_MAP[upg_path].get('azure', {}).get('agent_pkg', '') + return has_package(InstalledRPM, agent_pkg) + + +def is_bios(): + """Check whether system is booted into BIOS""" + ff = next(api.consume(FirmwareFacts), None) + return ff and ff.firmware == 'bios' + + +def check_hybrid_image(): + """Check whether the system is using Azure hybrid image.""" + if all([is_grubenv_symlink_to_efi(), is_azure_agent_installed(), is_bios()]): + api.produce(HybridImage(detected=True)) + reporting.create_report([ + reporting.Title( + 'Azure hybrid (BIOS/EFI) image detected. "grubenv" symlink will be converted to a regular file' + ), + reporting.Summary( + 'Leapp detected the system is running on Azure cloud, booted using BIOS and ' + 'the "/boot/grub2/grubenv" file is a symlink to "../efi/EFI/redhat/grubenv". In case of such a ' + 'hybrid image scenario GRUB is not able to locate "grubenv" as it is a symlink to different ' + 'partition and fails to boot. If the system needs to be run in EFI mode later, please re-create ' + 'the relative symlink again.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.PUBLIC_CLOUD]), + ]) diff --git a/repos/system_upgrade/common/actors/cloud/checkhybridimage/tests/test_checkhybridimage.py b/repos/system_upgrade/common/actors/cloud/checkhybridimage/tests/test_checkhybridimage.py new file mode 100644 index 0000000..16fbb44 --- /dev/null +++ b/repos/system_upgrade/common/actors/cloud/checkhybridimage/tests/test_checkhybridimage.py @@ -0,0 +1,82 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import checkhybridimage +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import FirmwareFacts, InstalledRPM, RPM +from leapp.reporting import Report + +RH_PACKAGER = 'Red Hat, Inc. ' +WA_AGENT_RPM = RPM( + name='WALinuxAgent', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51' +) +NO_AGENT_RPM = RPM( + name='NoAgent', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51' +) + +INSTALLED_AGENT = InstalledRPM(items=[WA_AGENT_RPM]) +NOT_INSTALLED_AGENT = InstalledRPM(items=[NO_AGENT_RPM]) + +BIOS_FIRMWARE = FirmwareFacts(firmware='bios') +EFI_FIRMWARE = FirmwareFacts(firmware='efi') + +BIOS_PATH = '/boot/grub2/grubenv' +EFI_PATH = '/boot/efi/EFI/redhat/grubenv' + + +def test_hybrid_image(monkeypatch, tmpdir): + grubenv_efi = tmpdir.join('grubenv_efi') + grubenv_efi.write('grubenv') + + grubenv_boot = tmpdir.join('grubenv_boot') + grubenv_boot.mksymlinkto('grubenv_efi') + + monkeypatch.setattr(checkhybridimage, 'BIOS_PATH', grubenv_boot.strpath) + monkeypatch.setattr(checkhybridimage, 'EFI_PATH', grubenv_efi.strpath) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr( + api, 'current_actor', CurrentActorMocked(arch='x86_64', msgs=[BIOS_FIRMWARE, INSTALLED_AGENT]) + ) + monkeypatch.setattr(api, "produce", produce_mocked()) + + checkhybridimage.check_hybrid_image() + assert reporting.create_report.called == 1 + assert 'hybrid' in reporting.create_report.report_fields['title'] + assert api.produce.called == 1 + + +@pytest.mark.parametrize('is_symlink, realpath_match, is_bios, agent_installed', [ + (False, True, True, True), + (True, False, True, True), + (True, True, False, True), + (True, True, True, False), +]) +def test_no_hybrid_image(monkeypatch, is_symlink, realpath_match, is_bios, agent_installed, tmpdir): + grubenv_efi = tmpdir.join('grubenv_efi') + grubenv_efi.write('grubenv') + grubenv_efi_false = tmpdir.join('grubenv_efi_false') + grubenv_efi.write('nope') + grubenv_boot = tmpdir.join('grubenv_boot') + + grubenv_target = grubenv_efi if realpath_match else grubenv_efi_false + + if is_symlink: + grubenv_boot.mksymlinkto(grubenv_target) + + firmw = BIOS_FIRMWARE if is_bios else EFI_FIRMWARE + inst_rpms = INSTALLED_AGENT if agent_installed else NOT_INSTALLED_AGENT + + monkeypatch.setattr(checkhybridimage, 'BIOS_PATH', grubenv_boot.strpath) + monkeypatch.setattr(checkhybridimage, 'EFI_PATH', grubenv_efi.strpath) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr( + api, 'current_actor', CurrentActorMocked(arch='x86_64', msgs=[firmw, inst_rpms]) + ) + monkeypatch.setattr(api, "produce", produce_mocked()) + + checkhybridimage.check_hybrid_image() + assert not reporting.create_report.called + assert not api.produce.called diff --git a/repos/system_upgrade/common/actors/cloud/checkrhui/actor.py b/repos/system_upgrade/common/actors/cloud/checkrhui/actor.py new file mode 100644 index 0000000..9cf69da --- /dev/null +++ b/repos/system_upgrade/common/actors/cloud/checkrhui/actor.py @@ -0,0 +1,124 @@ +import os + +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common import rhsm, rhui +from leapp.libraries.common.config.version import get_source_major_version +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import ( + CopyFile, + DNFPluginTask, + InstalledRPM, + KernelCmdlineArg, + RequiredTargetUserspacePackages, + RHUIInfo, + RpmTransactionTasks, + TargetUserSpacePreupgradeTasks +) +from leapp.reporting import create_report, Report +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class CheckRHUI(Actor): + """ + Check if system is using RHUI infrastructure (on public cloud) and send messages to + provide additional data needed for upgrade. + """ + + name = 'checkrhui' + consumes = (InstalledRPM,) + produces = ( + KernelCmdlineArg, + RHUIInfo, + RequiredTargetUserspacePackages, + Report, DNFPluginTask, + RpmTransactionTasks, + TargetUserSpacePreupgradeTasks, + CopyFile, + ) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + upg_path = rhui.get_upg_path() + for provider, info in rhui.RHUI_CLOUD_MAP[upg_path].items(): + if has_package(InstalledRPM, info['src_pkg']): + # we need to do this workaround in order to overcome our RHUI handling limitation + # in case there are more client packages on the source system + # @Note(mhecko): Azure has changed the structure of their images to not use a pair of RHUI clients and + # # instead they started to use a single package. However, it could happen that a user + # # does not run `dnf upgrade` and thus has both packages installed. + if 'azure' in info['src_pkg']: + azure_sap_variants = ['azure-sap-ha', 'azure-sap-apps'] + for azure_sap_variant in azure_sap_variants: + sap_variant_info = rhui.RHUI_CLOUD_MAP[upg_path][azure_sap_variant] + if has_package(InstalledRPM, sap_variant_info['src_pkg']): + info = sap_variant_info + provider = azure_sap_variant + + if provider.startswith('google'): + rhui_dir = api.get_common_folder_path('rhui') + repofile = os.path.join(rhui_dir, provider, 'leapp-{}.repo'.format(provider)) + api.produce( + TargetUserSpacePreupgradeTasks( + copy_files=[CopyFile(src=repofile, dst='/etc/yum.repos.d/leapp-google-copied.repo')] + ) + ) + + if not rhsm.skip_rhsm(): + create_report([ + reporting.Title('Upgrade initiated with RHSM on public cloud with RHUI infrastructure'), + reporting.Summary( + 'Leapp detected this system is on public cloud with RHUI infrastructure ' + 'but the process was initiated without "--no-rhsm" command line option ' + 'which implies RHSM usage (valid subscription is needed).' + ), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.PUBLIC_CLOUD]), + ]) + return + + # When upgrading with RHUI we cannot switch certs and let RHSM provide us repos for target OS content. + # Instead, Leapp's provider-specific package containing target OS certs and repos has to be installed. + if not has_package(InstalledRPM, info['leapp_pkg']): + create_report([ + reporting.Title('Package "{}" is missing'.format(info['leapp_pkg'])), + reporting.Summary( + 'On {} using RHUI infrastructure, a package "{}" is needed for ' + 'in-place upgrade'.format(provider.upper(), info['leapp_pkg']) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.RelatedResource('package', info['leapp_pkg']), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.PUBLIC_CLOUD, reporting.Groups.RHUI]), + reporting.Remediation(commands=[['yum', 'install', '-y', info['leapp_pkg']]]) + ]) + return + + # there are several "variants" related to the *AWS* provider (aws, aws-sap) + if provider.startswith('aws'): + # We have to disable Amazon-id plugin in the initramdisk phase as the network + # is down at the time + self.produce(DNFPluginTask(name='amazon-id', disable_in=['upgrade'])) + + # If source OS and target OS packages differ we must remove the source pkg, and install the target pkg. + # If the packages do not differ, it is sufficient to upgrade them during the upgrade + if info['src_pkg'] != info['target_pkg']: + self.produce(RpmTransactionTasks(to_install=[info['target_pkg']])) + self.produce(RpmTransactionTasks(to_remove=[info['src_pkg']])) + + # Although SAP systems on Azure should not rely on a pair of RHUI clients, it is still possible + # that the source system has both clients installed, and it is safer to remove both of them. + azure_nonsap_pkg = None + if provider == 'azure-sap-ha': + azure_nonsap_pkg = rhui.RHUI_CLOUD_MAP[upg_path]['azure']['src_pkg'] + elif provider == 'azure-sap-apps': + # SAP Apps systems have EUS content channel from RHEL8+ + src_rhel_content_type = 'azure' if get_source_major_version() == '7' else 'azure-eus' + azure_nonsap_pkg = rhui.RHUI_CLOUD_MAP[upg_path][src_rhel_content_type]['src_pkg'] + if azure_nonsap_pkg and has_package(InstalledRPM, azure_nonsap_pkg): + self.produce(RpmTransactionTasks(to_remove=[azure_nonsap_pkg])) + + self.produce(RHUIInfo(provider=provider)) + self.produce(RequiredTargetUserspacePackages(packages=[info['target_pkg']])) + return diff --git a/repos/system_upgrade/common/actors/cloud/checkrhui/tests/component_test_checkrhui.py b/repos/system_upgrade/common/actors/cloud/checkrhui/tests/component_test_checkrhui.py new file mode 100644 index 0000000..fde5ea7 --- /dev/null +++ b/repos/system_upgrade/common/actors/cloud/checkrhui/tests/component_test_checkrhui.py @@ -0,0 +1,60 @@ +from collections import namedtuple + +import pytest + +from leapp.libraries.common import rhsm +from leapp.libraries.common.config import mock_configs +from leapp.models import ( + InstalledRedHatSignedRPM, + InstalledRPM, + RequiredTargetUserspacePackages, + RHUIInfo, + RPM +) +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + +NO_RHUI = [ + RPM(name='yolo', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), +] + +ON_AWS_WITHOUT_LEAPP_PKG = [ + RPM(name='rh-amazon-rhui-client', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, + arch='noarch', pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), +] + +ON_AWS_WITH_LEAPP_PKG = [ + RPM(name='rh-amazon-rhui-client', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, + arch='noarch', pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='leapp-rhui-aws', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, + arch='noarch', pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') +] + + +def create_modulesfacts(installed_rpm): + return InstalledRPM(items=installed_rpm) + + +msgs_received = namedtuple('MsgsReceived', ['report', 'rhui_info', 'req_target_userspace']) + + +@pytest.mark.parametrize('skip_rhsm, msgs_received, installed_rpms', [ + (False, msgs_received(False, False, False), NO_RHUI), + (True, msgs_received(True, False, False), ON_AWS_WITHOUT_LEAPP_PKG), + (True, msgs_received(False, True, True), ON_AWS_WITH_LEAPP_PKG), + (False, msgs_received(True, False, False), ON_AWS_WITH_LEAPP_PKG) +]) +def test_check_rhui_actor( + monkeypatch, current_actor_context, skip_rhsm, msgs_received, installed_rpms +): + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: skip_rhsm) + + current_actor_context.feed(create_modulesfacts(installed_rpm=installed_rpms)) + current_actor_context.run(config_model=mock_configs.CONFIG) + assert bool(current_actor_context.consume(Report)) is msgs_received.report + assert bool(current_actor_context.consume(RHUIInfo)) is msgs_received.rhui_info + assert bool(current_actor_context.consume( + RequiredTargetUserspacePackages)) is msgs_received.req_target_userspace diff --git a/repos/system_upgrade/common/actors/cloud/grubenvtofile/actor.py b/repos/system_upgrade/common/actors/cloud/grubenvtofile/actor.py new file mode 100644 index 0000000..fc94219 --- /dev/null +++ b/repos/system_upgrade/common/actors/cloud/grubenvtofile/actor.py @@ -0,0 +1,28 @@ +from leapp.actors import Actor +from leapp.libraries.actor.grubenvtofile import grubenv_to_file +from leapp.models import HybridImage +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag + + +class GrubenvToFile(Actor): + """ + Convert "grubenv" symlink to a regular file on Azure hybrid images using BIOS. + + Azure images provided by Red Hat aim for hybrid (BIOS/EFI) functionality, + however, currently GRUB is not able to see the "grubenv" file if it is a symlink + to a different partition (default on EFI with grub2-efi pkg installed) and + fails on BIOS systems. This actor converts the symlink to the normal file + with the content of grubenv on the EFI partition in case the system is using BIOS + and running on the Azure cloud. This action is reported in the preupgrade phase. + """ + + name = 'grubenvtofile' + consumes = (HybridImage,) + produces = () + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + grubenv_msg = next(self.consume(HybridImage), None) + + if grubenv_msg and grubenv_msg.detected: + grubenv_to_file() diff --git a/repos/system_upgrade/common/actors/cloud/grubenvtofile/libraries/grubenvtofile.py b/repos/system_upgrade/common/actors/cloud/grubenvtofile/libraries/grubenvtofile.py new file mode 100644 index 0000000..4d699ec --- /dev/null +++ b/repos/system_upgrade/common/actors/cloud/grubenvtofile/libraries/grubenvtofile.py @@ -0,0 +1,19 @@ +from leapp.libraries.stdlib import api, CalledProcessError, run + +BIOS_PATH = '/boot/grub2/grubenv' +EFI_PATH = '/boot/efi/EFI/redhat/grubenv' + + +def grubenv_to_file(): + try: + run(['unlink', BIOS_PATH]) + except CalledProcessError as err: + api.current_logger().warning('Could not unlink {}: {}'.format(BIOS_PATH, str(err))) + return + try: + run(['cp', '-a', EFI_PATH, BIOS_PATH]) + api.current_logger().info( + '{} converted from being a symlink pointing to {} file into a regular file'.format(BIOS_PATH, EFI_PATH) + ) + except CalledProcessError as err: + api.current_logger().warning('Could not copy content of {} to {}: {}'.format(EFI_PATH, BIOS_PATH, str(err))) diff --git a/repos/system_upgrade/common/actors/cloud/grubenvtofile/tests/test_grubenvtofile.py b/repos/system_upgrade/common/actors/cloud/grubenvtofile/tests/test_grubenvtofile.py new file mode 100644 index 0000000..807f5ef --- /dev/null +++ b/repos/system_upgrade/common/actors/cloud/grubenvtofile/tests/test_grubenvtofile.py @@ -0,0 +1,43 @@ +import pytest + +from leapp.libraries.actor import grubenvtofile +from leapp.libraries.common.testutils import logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import HybridImage + + +def raise_call_error(args=None): + raise CalledProcessError( + message='A Leapp Command Error occurred.', + command=args, + result={'signal': None, 'exit_code': 1, 'pid': 0, 'stdout': 'fake', 'stderr': 'fake'} + ) + + +class run_mocked(object): + def __init__(self, raise_err=False): + self.called = 0 + self.args = [] + self.raise_err = raise_err + + def __call__(self, *args): + self.called += 1 + self.args.append(args) + if self.raise_err: + raise_call_error(args) + + +def test_grubenv_to_file(monkeypatch): + monkeypatch.setattr(api, 'consume', lambda x: iter([HybridImage()])) + monkeypatch.setattr(grubenvtofile, 'run', run_mocked()) + grubenvtofile.grubenv_to_file() + assert grubenvtofile.run.called == 2 + + +def test_fail_grubenv_to_file(monkeypatch): + monkeypatch.setattr(api, 'consume', lambda x: iter([HybridImage()])) + monkeypatch.setattr(grubenvtofile, 'run', run_mocked(raise_err=True)) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + grubenvtofile.grubenv_to_file() + assert grubenvtofile.run.called == 1 + assert api.current_logger.warnmsg[0].startswith('Could not unlink') diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/actor.py b/repos/system_upgrade/common/actors/commonleappdracutmodules/actor.py new file mode 100644 index 0000000..aae42bb --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/actor.py @@ -0,0 +1,36 @@ +from leapp.actors import Actor +from leapp.libraries.actor import modscan +from leapp.tags import FactsPhaseTag, IPUWorkflowTag +from leapp.utils.deprecation import suppress_deprecation + +from leapp.models import ( # isort:skip + RequiredUpgradeInitramPackages, # deprecated + UpgradeDracutModule, # deprecated + TargetUserSpaceUpgradeTasks, + UpgradeInitramfsTasks +) + + +@suppress_deprecation(RequiredUpgradeInitramPackages, UpgradeDracutModule) +class CommonLeappDracutModules(Actor): + """ + Influences the generation of the initram disk + + The initram disk generation is influenced by specifying necessary dracut modules and packages that are + required to be installed in the target userspace so required fields can be included. + Modules to be added are specified via the UpgradeDracutModule message. + Packages to install on the target userspace are specified by the RequiredUpgradeInitramPackages message. + """ + + name = 'common_leapp_dracut_modules' + consumes = () + produces = ( + RequiredUpgradeInitramPackages, # deprecated + TargetUserSpaceUpgradeTasks, + UpgradeDracutModule, # deprecated + UpgradeInitramfsTasks, + ) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + modscan.process() diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh new file mode 100755 index 0000000..491b85e --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh @@ -0,0 +1,380 @@ +#!/bin/bash +# actually perform the upgrade, using UPGRADEBIN (set in /etc/conf.d) + +export DRACUT_SYSTEMD=1 +if [ -f /dracut-state.sh ]; then + . /dracut-state.sh 2>/dev/null +fi +type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + +get_rhel_major_release() { + local os_version + os_version=$(grep -o '^VERSION="[0-9][0-9]*\.' /etc/initrd-release | grep -o '[0-9]*') + [ -z "$os_version" ] && { + # This should not happen as /etc/initrd-release is supposed to have API + # stability, but check is better than broken system. + warn "Cannot determine the major RHEL version." + warn "The upgrade environment cannot be setup reliably." + echo "Content of the /etc/initrd-release:" + cat /etc/initrd-release + exit 1 + } + + echo "$os_version" +} + +RHEL_OS_MAJOR_RELEASE=$(get_rhel_major_release) +export RHEL_OS_MAJOR_RELEASE +export LEAPPBIN=/usr/bin/leapp +export LEAPPHOME=/root/tmp_leapp_py3 +export LEAPP3_BIN=$LEAPPHOME/leapp3 + +export NEWROOT=${NEWROOT:-"/sysroot"} + +NSPAWN_OPTS="--capability=all --bind=/dev --bind=/dev/pts --bind=/proc --bind=/run/udev --bind=/run/lock" +[ -d /dev/mapper ] && NSPAWN_OPTS="$NSPAWN_OPTS --bind=/dev/mapper" +if [ "$RHEL_OS_MAJOR_RELEASE" == "8" ]; then + # IPU 7 -> 8 + NSPAWN_OPTS="$NSPAWN_OPTS --bind=/sys --bind=/run/systemd" +else + # IPU 8 -> 9 + # TODO(pstodulk, mreznik): Why --console=pipe? Is it ok? Discovered a weird + # issue on IPU 8 -> 9 without that in our VMs + NSPAWN_OPTS="$NSPAWN_OPTS --bind=/sys:/hostsys --console=pipe" + [ -e /sys/firmware/efi/efivars ] && NSPAWN_OPTS="$NSPAWN_OPTS --bind=/sys/firmware/efi/efivars" +fi +export NSPAWN_OPTS="$NSPAWN_OPTS --keep-unit --register=no --timezone=off --resolv-conf=off" + + +export LEAPP_FAILED_FLAG_FILE="/root/tmp_leapp_py3/.leapp_upgrade_failed" + +# +# Temp for collecting and preparing tarball +# +LEAPP_DEBUG_TMP="/tmp/leapp-debug-root" + +# +# Number of times to emit all chunks +# +# To avoid spammy parts of console log, second and later emissions +# take longer delay in-between. For example, with N being 3, +# first emission is done immediately, second after 10s, and the +# third one after 20s. +# +IBDMP_ITER=3 + +# +# Size of one payload chunk +# +# IOW, amount of characters in a single chunk of the base64-encoded +# payload. (By base64 standard, these characters are inherently ASCII, +# so ie. they correspond to bytes.) +# +IBDMP_CHUNKSIZE=40 + +collect_and_dump_debug_data() { + # + # Collect various debug files and dump tarball using ibdmp + # + local tmp=$LEAPP_DEBUG_TMP + local data=$tmp/data + mkdir -p "$data" || { echo >&2 "fatal: cannot create leapp dump data dir: $data"; exit 4; } + journalctl -amo verbose >"$data/journalctl.log" + mkdir -p "$data/var/lib/leapp" + mkdir -p "$data/var/log" + cp -vr "$NEWROOT/var/lib/leapp/leapp.db" \ + "$data/var/lib/leapp" + cp -vr "$NEWROOT/var/log/leapp" \ + "$data/var/log" + tar -cJf "$tmp/data.tar.xz" "$data" + ibdmp "$tmp/data.tar.xz" + rm -r "$tmp" +} + +want_inband_dump() { + # + # True if dump collection is needed given leapp exit status $1 and kernel option + # + local leapp_es=$1 + local mode + local kopt + kopt=$(getarg 'rd.upgrade.inband') + case $kopt in + always|never|onerror) mode="$kopt" ;; + "") mode="never" ;; + *) warn "ignoring unknown value of rd.upgrade.inband (dump will be disabled): '$kopt'" + return 2 ;; + esac + case $mode:$leapp_es in + always:*) return 0 ;; + never:*) return 1 ;; + onerror:0) return 1 ;; + onerror:*) return 0 ;; + esac +} + +ibdmp() { + # + # Dump tarball $1 in base64 to stdout + # + # Tarball is encoded in a way that: + # + # * final data can be printed to plain text terminal, + # * tarball can be restored by scanning the saved + # terminal output, + # * corruptions caused by extra terminal noise + # (extra lines, extra characters within lines, + # line splits..) can be corrected. + # + # That is, + # + # 1. encode tarball using base64 + # + # 2. pre-pend line `chunks=CHUNKS,md5=MD5` where + # MD5 is the MD5 digest of original tarball and + # CHUNKS is number of upcoming Base64 chunks + # + # 3. decorate each chunk with prefix `N:` where + # N is number of given chunk. + # + # 4. Finally print all lines (prepended "header" + # line and all chunks) several times, where + # every iteration should be prefixed by + # `_ibdmp:I/TTL|` and suffixed by `|`. + # where `I` is iteration number and `TTL` is + # total iteration numbers. + # + # Decoder should look for strings like this: + # + # _ibdmp:I/J|CN:PAYLOAD| + # + # where I, J and CN are integers and PAYLOAD is a slice of a + # base64 string. + # + # Here, I represents number of iteration, J total of iterations + # ($IBDMP_ITER), and CN is number of given chunk within this + # iteration. CN goes from 1 up to number of chunks (CHUNKS) + # predicted by header. + # + # Each set corresponds to one dump of the tarball and error + # correction is achieved by merging sets using these rules: + # + # 1. each set has to contain header (`chunks=CHUNKS, + # md5=MD5`) prevalent header wins. + # + # 2. each set has to contain number of chunks + # as per header + # + # 3. chunks are numbered so they can be compared across + # sets; prevalent chunk wins. + # + # Finally the merged set of chunks is decoded as base64. + # Resulting data has to match md5 sum or we're hosed. + # + local tarball=$1 + local tmp=$LEAPP_DEBUG_TMP/ibdmp + local md5 + local i + mkdir -p "$tmp" + base64 -w "$IBDMP_CHUNKSIZE" "$tarball" > "$tmp/b64" + md5=$(md5sum "$tarball" | sed 's/ .*//') + chunks=$(wc -l <"$tmp/b64") + ( + set +x + echo "chunks=$chunks,md5=$md5" + cnum=1 + while read -r chunk; do + echo "$cnum:$chunk" + ((cnum++)) + done <"$tmp/b64" + ) >"$tmp/report" + i=0 + while test "$i" -lt "$IBDMP_ITER"; do + sleep "$((i * 10))" + ((i++)) + sed "s%^%_ibdmp:$i/$IBDMP_ITER|%; s%$%|%; " <"$tmp/report" + done +} + +bring_up_network() { + if [ -f /etc/leapp-initram-network-manager ]; then + . /lib/dracut/hooks/cmdline/99-nm-config.sh + . /lib/dracut/hooks/initqueue/settled/99-nm-run.sh + fi + if [ -f /etc/leapp-initram-network-scripts ]; then + for interface in /sys/class/net/*; + do + ifup ${interface##*/}; + done; + fi +} + +do_upgrade() { + local args="" rv=0 + #FIXME: set here params we would like to possible use... + #getargbool 0 rd.upgrade.test && args="$args --testing" + #getargbool 0 rd.upgrade.verbose && args="$args --verbose" + getargbool 0 rd.upgrade.debug && args="$args --debug" + + bring_up_network + + # Force selinux into permissive mode unless booted with 'enforcing=1'. + # FIXME: THIS IS A BIG STUPID HAMMER AND WE SHOULD ACTUALLY SOLVE THE ROOT + # PROBLEMS RATHER THAN JUST PAPERING OVER THE WHOLE THING. But this is what + # Anaconda did, and upgrades don't seem to work otherwise, so... + if [ -f /sys/fs/selinux/enforce ]; then + enforce=$(< /sys/fs/selinux/enforce) + getargbool 0 enforcing || echo 0 > /sys/fs/selinux/enforce + fi + + # and off we go... + # NOTE: in case we would need to run leapp before pivot, we would need to + # specify where the root is, e.g. --root=/sysroot + # TODO: update: systemd-nspawn + /usr/bin/systemd-nspawn $NSPAWN_OPTS -D "$NEWROOT" /usr/bin/bash -c "mount -a; $LEAPPBIN upgrade --resume $args" + rv=$? + + # NOTE: flush the cached content to disk to ensure everything is written + sync + + #FIXME: for debugging purposes; this will be removed or redefined in future + getarg 'rd.upgrade.break=leapp-upgrade' 'rd.break=leapp-upgrade' && \ + emergency_shell -n upgrade "Break after LEAPP upgrade stop" + + if [ "$rv" -eq 0 ]; then + # run leapp to proceed phases after the upgrade with Python3 + #PY_LEAPP_PATH=/usr/lib/python2.7/site-packages/leapp/ + #$NEWROOT/bin/systemd-nspawn $NSPAWN_OPTS -D $NEWROOT -E PYTHONPATH="${PYTHONPATH}:${PY_LEAPP_PATH}" /usr/bin/python3 $LEAPPBIN upgrade --resume $args + + # on aarch64 systems during el8 to el9 upgrades the swap is broken due to change in page size (64K to 4k) + # adjust the page size before booting into the new system, as it is possible the swap is necessary for to boot + # `arch` command is not available in the dracut shell, using uname -m instead + [ "$(uname -m)" = "aarch64" ] && [ "$RHEL_OS_MAJOR_RELEASE" = "9" ] && { + cp -aS ".leapp_bp" $NEWROOT/etc/fstab /etc/fstab + # swapon internally uses mkswap and both swapon and mkswap aren't available in dracut shell + # as a workaround we can use the one from $NEWROOT in $NEWROOT/usr/sbin + # for swapon to find mkswap we must temporarily adjust the PATH + # NOTE: we want to continue the upgrade even when the swapon command fails as users can fix it + # manually later. It's not a major blocker. + PATH="$PATH:${NEWROOT}/usr/sbin/" swapon -af || echo >&2 "Error: Failed fixing the swap page size. Manual action is required after the upgrade." + mv /etc/fstab.leapp_bp /etc/fstab + } + + # NOTE: + # mount everything from FSTAB before run of the leapp as mount inside + # the container is not persistent and we need to have mounted /boot + # all FSTAB partitions. As mount was working before, hopefully will + # work now as well. Later this should be probably modified as we will + # need to handle more stuff around storage at all. + /usr/bin/systemd-nspawn $NSPAWN_OPTS -D "$NEWROOT" /usr/bin/bash -c "mount -a; /usr/bin/python3 -B $LEAPP3_BIN upgrade --resume $args" + rv=$? + fi + + if [ "$rv" -ne 0 ]; then + # set the upgrade failed flag to prevent the upgrade from running again + # when the emergency shell exits and the upgrade.target is restarted + local dirname + dirname="$("$NEWROOT/bin/dirname" "$NEWROOT$LEAPP_FAILED_FLAG_FILE")" + [ -d "$dirname" ] || mkdir "$dirname" + "$NEWROOT/bin/touch" "$NEWROOT$LEAPP_FAILED_FLAG_FILE" + fi + + # Dump debug data in case something went wrong + if want_inband_dump "$rv"; then + collect_and_dump_debug_data + fi + + # NOTE: THIS SHOULD BE AGAIN PART OF LEAPP IDEALLY + ## backup old product id certificates + #chroot $NEWROOT /bin/sh -c 'mkdir /etc/pki/product_old; mv -f /etc/pki/product/*.pem /etc/pki/product_old/' + + ## install new product id certificates + #chroot $NEWROOT /bin/sh -c 'mv -f /system-upgrade/*.pem /etc/pki/product/' + + # restore things twiddled by workarounds above. TODO: remove! + if [ -f /sys/fs/selinux/enforce ]; then + echo "$enforce" > /sys/fs/selinux/enforce + fi + return $rv +} + +save_journal() { + # Q: would it be possible that journal will not be flushed completely yet? + echo "writing logs to disk and rebooting" + + local logfile="/sysroot/tmp-leapp-upgrade.log" + + # Create logfile if it doesn't exist + [ -n "$logfile" ] && true > $logfile + + # If file exists save the journal + if [ -e $logfile ]; then + # Add a separator + echo "### LEAPP reboot ###" > $logfile + + # write out the logfile + journalctl -a -m >> $logfile + + # We need to run the actual saving of leapp-upgrade.log in a container and mount everything before, to be + # sure /var/log is mounted in case it is on a separate partition. + local store_cmd="mount -a" + local store_cmd="$store_cmd; cat /tmp-leapp-upgrade.log >> /var/log/leapp/leapp-upgrade.log" + + /usr/bin/systemd-nspawn $NSPAWN_OPTS -D "$NEWROOT" /usr/bin/bash -c "$store_cmd" + + rm -f $logfile + fi +} + + +############################### MAIN ######################################### +# get current mount options of $NEWROOT +# FIXME: obviously this is still wrong solution, but resolve that later, OK? +old_opts="" +declare mount_id parent_id major_minor root mount_point options rest +# shellcheck disable=SC2034 # Unused variables left for readability +while read -r mount_id parent_id major_minor root mount_point options \ + rest ; do + if [ "$mount_point" = "$NEWROOT" ]; then + old_opts="$options" + break + fi +done < /proc/self/mountinfo +if [ -z "$old_opts" ]; then + old_opts="defaults,ro" +fi + +# enable read/write $NEWROOT +mount -o "remount,rw" "$NEWROOT" + +##### do the upgrade ####### +( + # check if leapp previously failed in the initramfs, if it did return to the emergency shell + [ -f "$NEWROOT$LEAPP_FAILED_FLAG_FILE" ] && { + echo >&2 "Found file $NEWROOT$LEAPP_FAILED_FLAG_FILE" + echo >&2 "Error: Leapp previously failed and cannot continue, returning back to emergency shell" + echo >&2 "Please file a support case with $NEWROOT/var/log/leapp/leapp-upgrade.log attached" + echo >&2 "To rerun the upgrade upon exiting the dracut shell remove the $NEWROOT$LEAPP_FAILED_FLAG_FILE file" + exit 1 + } + + [ ! -x "$NEWROOT$LEAPPBIN" ] && { + warn "upgrade binary '$LEAPPBIN' missing!" + exit 1 + } + + do_upgrade || exit $? +) +result=$? + +##### safe the data and remount $NEWROOT as it was previously mounted ##### +save_journal + +#FIXME: for debugging purposes; this will be removed or redefined in future +getarg 'rd.break=leapp-logs' && emergency_shell -n upgrade "Break after LEAPP save_journal" + +# NOTE: flush the cached content to disk to ensure everything is written +sync +mount -o "remount,$old_opts" "$NEWROOT" +exit $result + diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/module-setup.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/module-setup.sh new file mode 100755 index 0000000..d73060c --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/module-setup.sh @@ -0,0 +1,113 @@ +#!/bin/bash + +# Variable not used at the moment; would be needed in case of a remote upgrade +#LEAPPBIN=/usr/bin/leapp + +check() { + require_binaries base64 || return 1 + require_binaries tar || return 1 + require_binaries xz || return 1 + require_binaries md5sum || return 1 + require_binaries wc || return 1 + require_binaries grep || return 1 + # 0 enables by default, 255 only on request + return 0 +} + +depends() { + # we don't need plymouth, but in case it is part of initramfs, would be + # better to do remove of some files (to ensure it will not annoy us) + # after it is installed, so keep the dependency at least for now + echo plymouth +} + +install() { + # stuff we need for initial boot + # ------------------------------ + # SELinux policy and contexts + # NOTE: try to remove that + #dracut_install /etc/selinux/config + #dracut_install /etc/selinux/*/policy/* + #dracut_install $(find /etc/selinux/*/contexts) + + # shellcheck disable=SC2154 # Following variables are assigned by dracut + { # NOTE: use these new variables instead to avoid the warning + local _initdir=$initdir + local _moddir=$moddir + } + + # NOTE: rather remove it then keep it; we really don't want plymouth now + # (hopefully forever) + # remove the plymouth text plugin so we get either graphics or details + rm -rf "${_initdir}/$(plymouth --get-splash-plugin-path)text.so" \ + "${_initdir}"/usr/share/plymouth/themes/text/* + + + # stuff we use in upgrade hook(s) + # ------------------------------- + + # NOTE: not needed probably, but we would need that later in case of + # remote upgrade + # NOTE2: and it's script; not binary - use inst_script maybe? + # upgrader binary + #inst_binary $LEAPPBIN + + # config file so we can find it + #mkdir -p "${initdir}/etc/conf.d" + #echo "LEAPPBIN=$LEAPPBIN" > "${initdir}/etc/conf.d/redhat-upgrade-tool.conf" + + # NOTE: keep it for now + # RPM hash/sig checks (via NSS) don't work without these + #inst_libdir_file "libfreebl*" "libsqlite*" "libsoftokn*" + + # NOTE: do we need that? I guess that not as we will not use rpm like that + # RPM can't find the rpmdb without rpmconfig + #rpmconfig=$(find /etc/rpm /usr/lib/rpm -name "rpmrc" -o -name "macros*") + #dracut_install $rpmconfig + + # !! NOTE !! + # we need to put here much more energy later as it will be much reliable + # to keep everything pre-pivot. Even the leapp itself should be ideally + # part of the initramfs and we should install there all deps to be sure + # we will not be *ucked up by missing/changed libraries during the upgrade. + # As we discussed with gazdown, maybe we should keep that on actors itself + # to say whether they should be run from the chrooted sys or outside + # - just from the initamfs. This is specific really just for actors that + # will be processed during the "offline" phases. From this point, maybe + # function in a common library would be fine to help with that. But it's + # probably not so easy to decide & realize how we will resolve that. Let's + # keep that for discussion + # Q: Would we hack that in way of copy whole initramfs into the root, mount + # mount it and set envars + + # Install network configuration triggers + if [ -f /etc/leapp-initram-network-manager ]; then + dracut_install /etc/leapp-initram-network-manager + fi + + if [ -f /etc/leapp-initram-network-scripts ]; then + dracut_install /etc/leapp-initram-network-scripts + fi + + # install this one to ensure we are able to sync write + inst_binary sync + # install in-band debugging utilities + inst_binary base64 + inst_binary tar + inst_binary xz + inst_binary md5sum + inst_binary wc + + # to be able to check what RHEL X we boot in (target system) + inst_binary grep + + # script to actually run the upgrader binary + inst_hook upgrade 49 "$_moddir/mount_usr.sh" + inst_hook upgrade 50 "$_moddir/do-upgrade.sh" + + #NOTE: some clean up?.. ideally, everything should be inside the leapp* + #NOTE: current *.service is changed so in case we would like to use the + # hook, we will have to modify it back + # it is always fine to have separate logs + #inst_hook upgrade-post 99 "$moddir/save-journal.sh" +} diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/mount_usr.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/mount_usr.sh new file mode 100755 index 0000000..3c52652 --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/mount_usr.sh @@ -0,0 +1,84 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +type info >/dev/null 2>&1 || . /lib/dracut-lib.sh + +export NEWROOT=${NEWROOT:-"/sysroot"} + +filtersubvol() { + _oldifs="$IFS" + IFS="," + set "$@" + IFS="$_oldifs" + while [ $# -gt 0 ]; do + case $1 in + subvol=*) :;; + *) printf '%s' "${1}," ;; + esac + shift + done +} + +mount_usr() +{ + # check, if we have to mount the /usr filesystem + while read -r _dev _mp _fs _opts _freq _passno; do + [ "${_dev%%#*}" != "$_dev" ] && continue + if [ "$_mp" = "/usr" ]; then + case "$_dev" in + LABEL=*) + _dev="$(echo "$_dev" | sed 's,/,\\x2f,g')" + _dev="/dev/disk/by-label/${_dev#LABEL=}" + ;; + UUID=*) + _dev="${_dev#block:}" + _dev="/dev/disk/by-uuid/${_dev#UUID=}" + ;; + esac + + # shellcheck disable=SC2154 # Variable root is assigned by dracut + _root_dev=${root#block:} + + if strstr "$_opts" "subvol=" && \ + [ "$(stat -c '%D:%i' "$_root_dev")" = "$(stat -c '%D:%i' "$_dev")" ] && \ + [ -n "$rflags" ]; then + # for btrfs subvolumes we have to mount /usr with the same rflags + rflags=$(filtersubvol "$rflags") + rflags=${rflags%%,} + _opts="${_opts:+${_opts},}${rflags}" + elif getargbool 0 ro; then + # if "ro" is specified, we want /usr to be mounted read-only + _opts="${_opts:+${_opts},}ro" + elif getargbool 0 rw; then + # if "rw" is specified, we want /usr to be mounted read-write + _opts="${_opts:+${_opts},}rw" + fi + echo "$_dev ${NEWROOT}${_mp} $_fs ${_opts} $_freq $_passno" + _usr_found="1" + break + fi + done < "${NEWROOT}/etc/fstab" >> /etc/fstab + + if [ "$_usr_found" != "" ]; then + info "Mounting /usr with -o $_opts" + mount "${NEWROOT}/usr" 2>&1 | vinfo + mount -o remount,rw "${NEWROOT}/usr" + + if ! ismounted "${NEWROOT}/usr"; then + warn "Mounting /usr to ${NEWROOT}/usr failed" + warn "*** Dropping you to a shell; the system will continue" + warn "*** when you leave the shell." + action_on_fail + fi + fi +} + +if [ -f "${NEWROOT}/etc/fstab" ]; then + # In case we have the LVM command available try make it activate all partitions + if command -v lvm 2>/dev/null 1>/dev/null; then + lvm vgchange -a y + fi + + mount_usr +fi diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/.profile b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/.profile new file mode 100644 index 0000000..c4fe05a --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/.profile @@ -0,0 +1,9 @@ +#!/bin/sh +# script read at startup by login shells +# in the initramfs this is read for example by the emergency shell + +# set the environment file, containing shell commands to execute at startup of +# interactive shells +if [ -f "$HOME/.shrc" ]; then + ENV="$HOME/.shrc"; export ENV +fi diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/.shrc b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/.shrc new file mode 100644 index 0000000..5e965f4 --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/.shrc @@ -0,0 +1,4 @@ +#!/bin/sh + +# shell commands to execute on interactive shell startup +. leapp_debug_tools.sh diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/initrd-system-upgrade-generator b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/initrd-system-upgrade-generator new file mode 100755 index 0000000..5cc6fd9 --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/initrd-system-upgrade-generator @@ -0,0 +1,30 @@ +#!/bin/sh + +get_rhel_major_release() { + _os_version=$(cat /etc/initrd-release | grep -o '^VERSION="[0-9][0-9]*\.' | grep -o '[0-9]*') + [ -z "$_os_version" ] && { + # This should not happen as /etc/initrd-release is supposed to have API + # stability, but check is better than broken system. + warn "Cannot determine the major RHEL version." + warn "The upgrade environment cannot be setup reliably." + echo "Content of the /etc/initrd-release:" + cat /etc/initrd-release + exit 1 + } + + echo "$_os_version" +} + +RHEL_OS_MAJOR_RELEASE=$(get_rhel_major_release) +export RHEL_OS_MAJOR_RELEASE + +[ -d "$2" ] || { + # ignore me - blind branch for us :P or die by terrible death + exit 1 +} + +if [ "$RHEL_OS_MAJOR_RELEASE" = "8" ]; then + ln -sf /etc/systemd/system/upgrade.target "$2/default.target" +else + ln -sf /etc/systemd/system/upgrade.target "$2/initrd.target" +fi diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/leapp_debug_tools.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/leapp_debug_tools.sh new file mode 100644 index 0000000..5878b75 --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/leapp_debug_tools.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# library containing some useful functions for debugging in initramfs + +# mounts the sysroot +leapp_dbg_mount() { + systemctl start sysroot.mount + mount -o remount,rw /sysroot +} + +# source programs from $NEWROOT, mount if not mounted +leapp_dbg_source() { + systemctl is-active sysroot.mount --quiet || { + echo "sysroot not mounted, mounting..."; + leapp_dbg_mount || return 1 + } + + for dir in /bin /sbin; do + export PATH="$PATH:${NEWROOT}$dir" + done + + export LD_LIBRARY_PATH=/sysroot/lib64 +} + +# chroot into $NEWROOT +leapp_dbg_chroot() { + systemctl is-active sysroot.mount --quiet || { + echo "sysroot not mounted, mounting..."; + leapp_dbg_mount || return 1 + } + + for dir in /sys /run /proc /dev /dev/pts; do + mount --bind $dir "$NEWROOT$dir" + done || { + echo "Failed to mount some directories" || return 1 + } + + chroot "$NEWROOT" sh -c "mount -a; /bin/bash" + for dir in /sys /run /proc /dev/pts /dev; do + umount "$NEWROOT$dir" + done +} diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/module-setup.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/module-setup.sh new file mode 100755 index 0000000..06479fb --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/module-setup.sh @@ -0,0 +1,86 @@ +#!/bin/bash +# ex: ts=8 sw=4 sts=4 et filetype=sh + +# we need only one hook here as the rest will be processed by the leapp tool +# NOTE: in case we would like to do switch into the sysroot, would be better +# to have upgrade-post hook as well maybe, but we should be able to do +# that inside leapp as well.. +# NOTE: for each hook here should be created script + systemd unit file +upgrade_hooks="upgrade" + +check() { + hookdirs+="$upgrade_hooks " + return 255 +} + +depends() { + echo "systemd" + # NOTE: keep it for now as maybe we would like to use it later for our + # purposes as well, but probably we will not need that.. just for now + # keep it and look at "sys-upgrade".. + # (to recognize it from system-upgrade modules that would be installed) + # pull in any other "sys-upgrade-*" modules that exist + #local mod_dir mod + #for mod_dir in $dracutbasedir/modules.d/[0-9][0-9]*; do + # [ -d $mod_dir ] || continue + # mod=${mod_dir##*/[0-9][0-9]} + # strstr "$mod" "sys-upgrade-" && echo $mod + #done + echo "sys-upgrade-redhat" + return 0 +} + +install() { + # NOTE: 98systemd copies units from here to /run/systemd/system so systemd + # won't lose our units after switch-root. + unitdir="/etc/systemd/system" + + # shellcheck disable=SC2154 # Following variables are assigned by dracut + { # NOTE: use these new variables instead to avoid the warning + local _initdir=$initdir + local _moddir=$moddir + local _systemdsystemunitdir=$systemdsystemunitdir + } + + # Set up systemd target and units + upgrade_wantsdir="${_initdir}${unitdir}/upgrade.target.wants" + + inst_simple "${_moddir}/upgrade.target" "${unitdir}/upgrade.target" + + mkdir -p "$upgrade_wantsdir" + for s in $upgrade_hooks; do + inst_simple "${_moddir}/${s}.service" "${unitdir}/${s}.service" + inst_script "${_moddir}/${s}.sh" "/bin/$s" + ln -sf "../${s}.service" "$upgrade_wantsdir" + done + + # just try : set another services into the wantsdir + # sysroot.mount \ + # dracut-mount \ + # dracut-pre-udev \ + # dracut-pre-mount.service + for s in \ + dracut-cmdline.service \ + dracut-initqueue.service \ + ;do + ln -sf "${_systemdsystemunitdir}/$s" "$upgrade_wantsdir" + done + + # generator to switch to upgrade.target when we return to initrd + generatordir="/usr/lib/systemd/system-generators" + mkdir -p "${_initdir}${generatordir}" + inst_script "${_moddir}/initrd-system-upgrade-generator" \ + "${generatordir}/initrd-system-upgrade-generator" + + inst_script "${_moddir}/leapp_debug_tools.sh" "/bin/leapp_debug_tools.sh" + inst_script "${_moddir}/.profile" "/.profile" + inst_script "${_moddir}/.shrc" "/.shrc" + + ## upgrade shell service + #sysinit_wantsdir="${_initdir}${unitdir}/sysinit.target.wants" + #mkdir -p "$sysinit_wantsdir" + #inst_simple "${_moddir}/system-upgrade-shell.service" \ + # "${unitdir}/system-upgrade-shell.service" + #ln -sf "../system-upgrade-shell.service" "$sysinit_wantsdir" +} + diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.service b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.service new file mode 100644 index 0000000..a9b2378 --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.service @@ -0,0 +1,20 @@ +[Unit] +Description=System Upgrade +Documentation=man:upgrade.service(8) +DefaultDependencies=no +After=upgrade.target +Requires=upgrade.target +OnFailure=emergency.target +OnFailureIsolate=yes + +[Service] +Type=oneshot +ExecStart=/bin/upgrade +# everything else will be handled inside the upgrade hook (unless will be +# decided otherwise) +ExecStopPost=-/usr/bin/systemctl --no-block isolate reboot.target +StandardInput=null +StandardOutput=journal+console +StandardError=journal+console +KillMode=process +KillSignal=SIGHUP diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.sh new file mode 100755 index 0000000..b88784a --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# upgrade hook: distro-specific modules will add their upgrade tasks here +echo "starting upgrade hook" + +export DRACUT_SYSTEMD=1 +if [ -f /dracut-state.sh ]; then + . /dracut-state.sh 2>/dev/null +fi +type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + +source_conf /etc/conf.d + +getarg 'rd.upgrade.break=upgrade' 'rd.break=upgrade' && \ + emergency_shell -n upgrade "Break before upgrade" + +setstate() { + export UPGRADE_STATE="$*" + echo "$UPGRADE_STATE" > "${NEWROOT}/var/tmp/system-upgrade.state" +} + +setstate running + +trap 'setstate failed' EXIT +source_hook upgrade +trap - EXIT + +setstate finished + +exit 0 diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.target b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.target new file mode 100644 index 0000000..366b5ca --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/upgrade.target @@ -0,0 +1,8 @@ +[Unit] +Description=System Upgrade +Documentation=man:upgrade.target(7) +# ##sysinit.target sockets.target initrd-root-fs.target initrd-root-device.target initrd-fs.target +Wants=initrd-root-fs.target initrd-root-device.target initrd-fs.target initrd-usr-fs.target +Requires=basic.target sysroot.mount +After=basic.target sysroot.mount +AllowIsolate=yes diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/libraries/modscan.py b/repos/system_upgrade/common/actors/commonleappdracutmodules/libraries/modscan.py new file mode 100644 index 0000000..15150a5 --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/libraries/modscan.py @@ -0,0 +1,98 @@ +import os +import re + +from leapp.libraries.common.config import architecture, version +from leapp.libraries.stdlib import api +from leapp.utils.deprecation import suppress_deprecation + +from leapp.models import ( # isort:skip + CopyFile, + RequiredUpgradeInitramPackages, # deprecated + UpgradeDracutModule, # deprecated + DracutModule, + TargetUserSpaceUpgradeTasks, + UpgradeInitramfsTasks +) + +_REQUIRED_PACKAGES = [ + 'binutils', + 'cifs-utils', + 'device-mapper-multipath', + 'dracut', + 'dracut-config-generic', + 'dracut-config-rescue', + 'dracut-network', + 'dracut-tools', + 'fcoe-utils', + 'hostname', + 'iscsi-initiator-utils', + 'kbd', + 'kernel', + 'kernel-core', + 'kernel-modules', + 'keyutils', + 'kmod', + 'lldpad', + 'lvm2', + 'mdadm', + 'nfs-utils', + 'openssh-clients', + 'plymouth', + 'rpcbind', + 'systemd-container', + 'tar' +] + + +def _create_initram_networking_tasks(): + # include networking-related dracut modules + modules_map = {'network-manager': ('network-manager', '/etc/leapp-initram-network-manager'), + 'scripts': ('network', '/etc/leapp-initram-network-scripts')} + initram_network_chosen = os.getenv('LEAPP_DEVEL_INITRAM_NETWORK', None) + if initram_network_chosen in modules_map: + module, touch_file = modules_map[initram_network_chosen] + yield UpgradeInitramfsTasks(include_dracut_modules=[DracutModule(name=module)]) + # touch expected file + yield TargetUserSpaceUpgradeTasks(copy_files=[CopyFile(src='/dev/null', dst=touch_file)]) + + +# The decorator is not effective for generators, it has to be used one level +# above +# @suppress_deprecation(UpgradeDracutModule) +def _create_dracut_modules(): + dracut_base_path = api.get_actor_folder_path('dracut') + if dracut_base_path: + dracut_base_path = os.path.abspath(dracut_base_path) + for module in os.listdir(dracut_base_path): + yield UpgradeDracutModule( + name=re.sub(r'^\d+', '', module), + module_path=os.path.join(dracut_base_path, module) + ) + # NOTE: when the UpgradeDracutModule is dropped, this could be + # handled just by one msg instead of two + dm = DracutModule( + name=re.sub(r'^\d+', '', module), + module_path=os.path.join(dracut_base_path, module)) + yield UpgradeInitramfsTasks(include_dracut_modules=[dm]) + + +@suppress_deprecation(RequiredUpgradeInitramPackages) +def _create_initram_packages(): + # copy the list as we do not want to affect the constant because of tests + required_pkgs = _REQUIRED_PACKAGES[:] + if architecture.matches_architecture(architecture.ARCH_X86_64): + required_pkgs.append('biosdevname') + if os.getenv('LEAPP_DEVEL_INITRAM_NETWORK', None) == 'network-manager': + required_pkgs.append('NetworkManager') + if version.get_target_major_version() == '9': + required_pkgs += ['policycoreutils', 'rng-tools'] + return ( + RequiredUpgradeInitramPackages(packages=required_pkgs), + TargetUserSpaceUpgradeTasks(install_rpms=required_pkgs) + ) + + +def process(): + api.produce(*tuple(_create_dracut_modules())) + api.produce(*_create_initram_packages()) + api.produce(*tuple(_create_initram_networking_tasks())) diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/tests/test_modscan_commonleappdracutmodules.py b/repos/system_upgrade/common/actors/commonleappdracutmodules/tests/test_modscan_commonleappdracutmodules.py new file mode 100644 index 0000000..9c52b51 --- /dev/null +++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/tests/test_modscan_commonleappdracutmodules.py @@ -0,0 +1,104 @@ +import os.path +import re +from collections import namedtuple + +import pytest + +from leapp.libraries.actor import modscan +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.utils.deprecation import suppress_deprecation + +from leapp.models import ( # isort:skip + RequiredUpgradeInitramPackages, # deprecated + UpgradeDracutModule, # deprecated + TargetUserSpaceUpgradeTasks, + UpgradeInitramfsTasks +) + + +def _files_get_folder_path(name): + path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'files', name) + assert os.path.isdir(path) + return path + + +@suppress_deprecation(UpgradeDracutModule) +def test_created_modules(monkeypatch): + monkeypatch.setattr(api, 'get_actor_folder_path', _files_get_folder_path) + path = os.path.abspath(api.get_actor_folder_path('dracut')) + required_modules = {'sys-upgrade', 'sys-upgrade-redhat'} + # _old is for deprecated stuff, _new is ... + # we want to test that the new and original solution produce 'equivalent' output + produced_required_modules_old = set() + produced_required_modules_new = set() + + def check_module(mod): + # Ensures that this actor only includes known modules + assert mod.name in required_modules + + # Ensures that the path is valid + assert mod.module_path + assert mod.module_path == os.path.abspath(mod.module_path) + + # Ensure it's a directory + assert os.path.isdir(mod.module_path) + + # Ensure it's located within the actors files path + assert mod.module_path.startswith(path) + + # Ensure the directory name ends with the module name + assert os.path.basename(mod.module_path).endswith(mod.name) + assert not re.sub(r'^(85|90){}$'.format(mod.name), '', os.path.basename(mod.module_path)) + + for msg in modscan._create_dracut_modules(): + if isinstance(msg, UpgradeDracutModule): + produced_required_modules_old.add(msg.name) + check_module(msg) + else: + for mod in msg.include_dracut_modules: + produced_required_modules_new.add(mod.name) + check_module(mod) + + # ensure that old and new solution produce equivalent (expected) output + assert produced_required_modules_new == produced_required_modules_old == required_modules + + +@pytest.mark.parametrize('src_ver,dst_ver,arch', ( + ('7.9', '8.4', architecture.ARCH_X86_64), + ('7.9', '8.4', architecture.ARCH_S390X), + ('8.4', '9.0', architecture.ARCH_X86_64), + ('8.4', '9.0', architecture.ARCH_S390X), +)) +def test_required_packages(monkeypatch, src_ver, dst_ver, arch): + # the default set of required rpms should not contain biosdevname + for pkg in ['biosdevname', 'policycoreutils', 'rng-tools']: + assert pkg not in modscan._REQUIRED_PACKAGES + + required_packages = modscan._REQUIRED_PACKAGES[:] + if dst_ver[0] == '9': + required_packages += ['policycoreutils', 'rng-tools'] + if arch == architecture.ARCH_X86_64: + required_packages += ['biosdevname'] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver=src_ver, dst_ver=dst_ver, arch=arch)) + old_initram, new_initram = modscan._create_initram_packages() + assert (set(required_packages) + == set(old_initram.packages) + == set(new_initram.install_rpms)) + + +@suppress_deprecation(UpgradeDracutModule) +def test_process_produces_modules(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + messages = [] + monkeypatch.setattr(api, 'produce', lambda *x: messages.extend(x)) + monkeypatch.setattr(api, 'get_actor_folder_path', _files_get_folder_path) + modscan.process() + assert messages + assert len(messages) == 6 + assert len([msg for msg in messages if isinstance(msg, UpgradeDracutModule)]) == 2 + assert len([msg for msg in messages if isinstance(msg, UpgradeInitramfsTasks)]) == 2 + assert len([msg for msg in messages if isinstance(msg, RequiredUpgradeInitramPackages)]) == 1 + assert len([msg for msg in messages if isinstance(msg, TargetUserSpaceUpgradeTasks)]) == 1 diff --git a/repos/system_upgrade/common/actors/createisorepofile/actor.py b/repos/system_upgrade/common/actors/createisorepofile/actor.py new file mode 100644 index 0000000..5c4fa76 --- /dev/null +++ b/repos/system_upgrade/common/actors/createisorepofile/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import create_iso_repofile +from leapp.models import CustomTargetRepositoryFile, TargetOSInstallationImage +from leapp.tags import IPUWorkflowTag, TargetTransactionFactsPhaseTag + + +class CreateISORepofile(Actor): + """ + Create custom repofile containing information about repositories found in target OS installation ISO, if used. + """ + + name = 'create_iso_repofile' + consumes = (TargetOSInstallationImage,) + produces = (CustomTargetRepositoryFile,) + tags = (IPUWorkflowTag, TargetTransactionFactsPhaseTag) + + def process(self): + create_iso_repofile.produce_repofile_if_iso_used() diff --git a/repos/system_upgrade/common/actors/createisorepofile/libraries/create_iso_repofile.py b/repos/system_upgrade/common/actors/createisorepofile/libraries/create_iso_repofile.py new file mode 100644 index 0000000..b4470b6 --- /dev/null +++ b/repos/system_upgrade/common/actors/createisorepofile/libraries/create_iso_repofile.py @@ -0,0 +1,36 @@ +import os + +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api +from leapp.models import CustomTargetRepositoryFile, TargetOSInstallationImage + + +def produce_repofile_if_iso_used(): + target_iso_msgs_iter = api.consume(TargetOSInstallationImage) + target_iso = next(target_iso_msgs_iter, None) + + if not target_iso: + return + + if next(target_iso_msgs_iter, None): + api.current_logger().warn('Received multiple TargetISInstallationImage messages, using the first one') + + # Mounting was successful, create a repofile to copy into target userspace + repofile_entry_template = ('[{repoid}]\n' + 'name={reponame}\n' + 'baseurl={baseurl}\n' + 'enabled=0\n' + 'gpgcheck=0\n') + + repofile_content = '' + for repo in target_iso.repositories: + repofile_content += repofile_entry_template.format(repoid=repo.repoid, + reponame=repo.repoid, + baseurl=repo.baseurl) + + target_os_path_prefix = 'el{target_major_ver}'.format(target_major_ver=get_target_major_version()) + iso_repofile_path = os.path.join('/var/lib/leapp/', '{}_iso.repo'.format(target_os_path_prefix)) + with open(iso_repofile_path, 'w') as iso_repofile: + iso_repofile.write(repofile_content) + + api.produce(CustomTargetRepositoryFile(file=iso_repofile_path)) diff --git a/repos/system_upgrade/common/actors/createresumeservice/actor.py b/repos/system_upgrade/common/actors/createresumeservice/actor.py new file mode 100644 index 0000000..8ac07a0 --- /dev/null +++ b/repos/system_upgrade/common/actors/createresumeservice/actor.py @@ -0,0 +1,64 @@ +import os +import shutil + +from leapp import reporting +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.reporting import create_report, Report +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag + + +class CreateSystemdResumeService(Actor): + """ + Add a systemd service to launch Leapp. + + Create a systemd service which will resume Leapp upgrade after the first reboot. + """ + + name = 'create_systemd_service' + consumes = () + produces = (Report,) + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + service_name = 'leapp_resume.service' + systemd_dir = '/etc/systemd/system' + + service_templ_fpath = self.get_file_path(service_name) + shutil.copyfile(service_templ_fpath, os.path.join(systemd_dir, service_name)) + + service_path = '/etc/systemd/system/{}'.format(service_name) + symlink_path = '/etc/systemd/system/default.target.wants/{}'.format(service_name) + + # in case nothing is enabled in the default target, the directory does not exist + try: + os.mkdir(os.path.join(systemd_dir, 'default.target.wants')) + except OSError: + pass + + if os.path.exists(symlink_path): + api.current_logger().debug( + 'Symlink {} already exists (from previous upgrade?). Removing... '.format(symlink_path) + ) + os.unlink(symlink_path) + + try: + os.symlink(service_path, symlink_path) + except OSError as e: + raise StopActorExecutionError( + 'Could not create a symlink to enable {}'.format(service_name), + details={"details": str(e)}) + + create_report([ + reporting.Title('Leapp resume systemd service enabled'), + reporting.Summary( + '{} enabled as oneshot systemd service to resume Leapp execution ' + 'after reboot.'.format(service_name) + ), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS]), + reporting.RelatedResource('file', service_path), + reporting.RelatedResource('file', symlink_path), + reporting.RelatedResource('service', service_name) + ]) diff --git a/repos/system_upgrade/common/actors/createresumeservice/files/leapp_resume.service b/repos/system_upgrade/common/actors/createresumeservice/files/leapp_resume.service new file mode 100644 index 0000000..39ac611 --- /dev/null +++ b/repos/system_upgrade/common/actors/createresumeservice/files/leapp_resume.service @@ -0,0 +1,15 @@ +[Unit] +Description=Temporary Leapp service which resumes execution after reboot +After=default.target +DefaultDependencies=no +After=dbus.service +After=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +# FIXME: this is temporary workaround for Python3 +ExecStart=/root/tmp_leapp_py3/leapp3 upgrade --resume +StandardOutput=journal+console +# FIXME: this shouldn't be needed, but Satellite upgrade runs installer, and that's slow +TimeoutStartSec=infinity diff --git a/repos/system_upgrade/common/actors/createresumeservice/tests/test_createresumeservice.py b/repos/system_upgrade/common/actors/createresumeservice/tests/test_createresumeservice.py new file mode 100644 index 0000000..5302cdd --- /dev/null +++ b/repos/system_upgrade/common/actors/createresumeservice/tests/test_createresumeservice.py @@ -0,0 +1,25 @@ +import os + +import distro +import pytest + + +@pytest.mark.skipif(os.getuid() != 0, reason='User is not a root') +@pytest.mark.skipif( + distro.linux_distribution()[0] == 'Fedora', + reason='default.target.wants does not exists on Fedora distro', +) +def test_create_resume_service(current_actor_context): + + current_actor_context.run() + + service_name = 'leapp_resume.service' + service_path = '/etc/systemd/system/{}'.format(service_name) + symlink_path = '/etc/systemd/system/default.target.wants/{}'.format(service_name) + + try: + assert os.path.isfile(service_path) + assert os.path.isfile(symlink_path) + finally: + os.unlink(service_path) + os.unlink(symlink_path) diff --git a/repos/system_upgrade/common/actors/detectgrubconfigerror/actor.py b/repos/system_upgrade/common/actors/detectgrubconfigerror/actor.py new file mode 100644 index 0000000..e576c8a --- /dev/null +++ b/repos/system_upgrade/common/actors/detectgrubconfigerror/actor.py @@ -0,0 +1,87 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import GrubConfigError +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +def _create_grub_error_report(error, title, summary, severity=reporting.Severity.LOW, + remediation=None, is_inhibitor=False): + """ + A helper that produces a specific grub error report + """ + # set default group for a grub error report + groups = [reporting.Groups.BOOT] + # set an inhibitor group + if is_inhibitor: + groups.append(reporting.Groups.INHIBITOR) + report_fields = [reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(severity), + reporting.Groups(groups)] + if remediation: + report_fields.append(remediation) + # add information about grub config files + report_fields.extend([reporting.RelatedResource('file', config_file) for config_file in error.files]) + # finally produce a report + create_report(report_fields) + + +class DetectGrubConfigError(Actor): + """ + Check grub configuration for various errors. + + Currently 3 types of errors are detected: + - Syntax error in GRUB_CMDLINE_LINUX value; + - Missing newline at the end of file; + - Grubenv config file has a 1K size and doesn't end with a line feed. + + There should be only one message of each error type. If for any reason there are more - only the first error of + each type is reported. + """ + + name = 'detect_grub_config_error' + consumes = (GrubConfigError,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + # syntax error in GRUB_CMDLINE_LINUX, recoverable + for error in [err for err in self.consume(GrubConfigError) + if err.error_type == GrubConfigError.ERROR_GRUB_CMDLINE_LINUX_SYNTAX]: + _create_grub_error_report( + error=error, + title='Syntax error detected in grub configuration', + summary=('Syntax error was detected in GRUB_CMDLINE_LINUX value of grub configuration. ' + 'This error is causing booting and other issues. ' + 'Error is automatically fixed by add_upgrade_boot_entry actor.'), + ) + break + # missing newline, recoverable + for error in [err for err in self.consume(GrubConfigError) + if err.error_type == GrubConfigError.ERROR_MISSING_NEWLINE]: + _create_grub_error_report( + error=error, + title='Detected a missing newline at the end of grub configuration file', + summary=('The missing newline in /etc/default/grub causes booting issues when appending ' + 'new entries to this file during the upgrade. Leapp will automatically fix this ' + 'problem by appending the missing newline to the grub configuration file.') + ) + break + # corrupted configuration, inhibitor + for error in [err for err in self.consume(GrubConfigError) + if err.error_type == GrubConfigError.ERROR_CORRUPTED_GRUBENV]: + _create_grub_error_report( + error=error, + title='Detected a corrupted grubenv file', + summary=('The grubenv file must be valid to pass the upgrade correctly: \n' + '- an exact size of 1024 bytes is expected \n' + '- it cannot end with a newline. \n' + 'The corruption could be caused by a manual modification of the file which ' + 'is not recommended.'), + severity=reporting.Severity.HIGH, + is_inhibitor=True, + remediation=reporting.Remediation( + hint='Delete {} file(s) and regenerate grubenv using the grub2-mkconfig tool'.format( + ','.join(error.files)))) + break diff --git a/repos/system_upgrade/common/actors/detectgrubconfigerror/tests/test_detectgrubconfigerror.py b/repos/system_upgrade/common/actors/detectgrubconfigerror/tests/test_detectgrubconfigerror.py new file mode 100644 index 0000000..274d857 --- /dev/null +++ b/repos/system_upgrade/common/actors/detectgrubconfigerror/tests/test_detectgrubconfigerror.py @@ -0,0 +1,58 @@ +from leapp.models import GrubConfigError, Report +from leapp.utils import report + +grub_cmdline_syntax_error = GrubConfigError(error_type=GrubConfigError.ERROR_GRUB_CMDLINE_LINUX_SYNTAX, + files=['/etc/default/grub.cfg']) +grub_cmdline_syntax_error2 = GrubConfigError(error_type=GrubConfigError.ERROR_GRUB_CMDLINE_LINUX_SYNTAX, + files=['/boot/grub2/grub.cfg', '/etc/default/someothergrub.cfg']) + +grub_missing_newline_error = GrubConfigError(error_type=GrubConfigError.ERROR_MISSING_NEWLINE, + files=['/etc/default/someothergrub.cfg']) +grub_missing_newline_error2 = GrubConfigError(error_type=GrubConfigError.ERROR_MISSING_NEWLINE, + files=['/etc/default/grub']) + +grub_corrupted_config = GrubConfigError(error_type=GrubConfigError.ERROR_CORRUPTED_GRUBENV, + files=['/boot/grub2/grub.cfg', '/boot/efi/EFI/redhat/grub.cfg']) +grub_corrupted_config2 = GrubConfigError(error_type=GrubConfigError.ERROR_CORRUPTED_GRUBENV, + files=['/boot/grub2/grub.cfg']) + + +def test_cmdline_syntax_error(current_actor_context): + # Make sure that just 1 low priority report message is created with config files present. + current_actor_context.feed(grub_cmdline_syntax_error) + current_actor_context.feed(grub_cmdline_syntax_error2) + current_actor_context.run() + messages = current_actor_context.consume(Report) + assert len(messages) == 1 + message = messages[0] + assert 'Syntax error detected in grub configuration' in message.report['title'] + assert message.report['severity'] == 'low' + assert message.report['detail']['related_resources'][0]['title'] == '/etc/default/grub.cfg' + + +def test_missing_newline(current_actor_context): + # Make sure that just 1 low priority report message is created with config files present + current_actor_context.feed(grub_missing_newline_error) + current_actor_context.feed(grub_missing_newline_error2) + current_actor_context.run() + messages = current_actor_context.consume(Report) + assert len(messages) == 1 + message = messages[0] + assert 'Detected a missing newline at the end of grub configuration file' in message.report['title'] + assert message.report['severity'] == 'low' + assert message.report['detail']['related_resources'][0]['title'] == '/etc/default/someothergrub.cfg' + + +def test_corrupted_config(current_actor_context): + # Make sure that just 1 high priority report message is created with config files present + current_actor_context.feed(grub_corrupted_config) + current_actor_context.feed(grub_corrupted_config2) + current_actor_context.run() + messages = current_actor_context.consume(Report) + assert len(messages) == 1 + message = messages[0] + assert 'Detected a corrupted grubenv file' in message.report['title'] + assert message.report['severity'] == 'high' + assert message.report['detail']['related_resources'][0]['title'] == '/boot/grub2/grub.cfg' + assert message.report['detail']['related_resources'][1]['title'] == '/boot/efi/EFI/redhat/grub.cfg' + assert report.is_inhibitor(message.report) diff --git a/repos/system_upgrade/common/actors/detectkerneldrivers/actor.py b/repos/system_upgrade/common/actors/detectkerneldrivers/actor.py new file mode 100644 index 0000000..9030611 --- /dev/null +++ b/repos/system_upgrade/common/actors/detectkerneldrivers/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import detectkerneldrivers +from leapp.models import ActiveKernelModulesFacts, DetectedDeviceOrDriver, DeviceDriverDeprecationData +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class DetectKernelDrivers(Actor): + """ + Matches all currently loaded kernel drivers against known deprecated and removed drivers. + """ + + name = 'detect_kernel_drivers' + consumes = (DeviceDriverDeprecationData, ActiveKernelModulesFacts) + produces = (DetectedDeviceOrDriver,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + detectkerneldrivers.process() diff --git a/repos/system_upgrade/common/actors/detectkerneldrivers/libraries/detectkerneldrivers.py b/repos/system_upgrade/common/actors/detectkerneldrivers/libraries/detectkerneldrivers.py new file mode 100644 index 0000000..c243377 --- /dev/null +++ b/repos/system_upgrade/common/actors/detectkerneldrivers/libraries/detectkerneldrivers.py @@ -0,0 +1,21 @@ +from leapp.libraries.stdlib import api +from leapp.models import ActiveKernelModulesFacts, DetectedDeviceOrDriver, DeviceDriverDeprecationData + + +def process(): + loaded_drivers = { + module.filename + for message in api.consume(ActiveKernelModulesFacts) + for module in message.kernel_modules + } + driver_data = { + entry.driver_name: entry + for message in api.consume(DeviceDriverDeprecationData) + for entry in message.entries + if not entry.device_id + } + api.produce(*[ + DetectedDeviceOrDriver(**driver_data[driver].dump()) + for driver in loaded_drivers + if driver in driver_data + ]) diff --git a/repos/system_upgrade/common/actors/dnfdryrun/actor.py b/repos/system_upgrade/common/actors/dnfdryrun/actor.py new file mode 100644 index 0000000..bc3267b --- /dev/null +++ b/repos/system_upgrade/common/actors/dnfdryrun/actor.py @@ -0,0 +1,59 @@ +from leapp.actors import Actor +from leapp.libraries.common import dnfplugin +from leapp.models import ( + BootContent, + DNFPluginTask, + DNFWorkaround, + FilteredRpmTransactionTasks, + RHUIInfo, + StorageInfo, + TargetOSInstallationImage, + TargetUserSpaceInfo, + TransactionDryRun, + UsedTargetRepositories, + XFSPresence +) +from leapp.tags import InterimPreparationPhaseTag, IPUWorkflowTag + + +class DnfDryRun(Actor): + """ + Actor that invokes DNF to download the RPMs required for the upgrade transaction. + + This actor uses the rhel-upgrade plugin to perform the download of RPM for the transaction and performing the + transaction test, that is something like a dry run trying to determine the success of the upgrade. + """ + + name = 'dnf_dry_run' + consumes = ( + BootContent, + DNFPluginTask, + DNFWorkaround, + FilteredRpmTransactionTasks, + RHUIInfo, + StorageInfo, + TargetOSInstallationImage, + TargetUserSpaceInfo, + UsedTargetRepositories, + XFSPresence, + ) + produces = (TransactionDryRun,) + tags = (IPUWorkflowTag, InterimPreparationPhaseTag) + + def process(self): + xfs_info = next(self.consume(XFSPresence), XFSPresence()) + storage_info = next(self.consume(StorageInfo), StorageInfo()) + used_repos = self.consume(UsedTargetRepositories) + plugin_info = list(self.consume(DNFPluginTask)) + tasks = next(self.consume(FilteredRpmTransactionTasks), FilteredRpmTransactionTasks()) + target_userspace_info = next(self.consume(TargetUserSpaceInfo), None) + rhui_info = next(self.consume(RHUIInfo), None) + target_iso = next(self.consume(TargetOSInstallationImage), None) + on_aws = bool(rhui_info and rhui_info.provider == 'aws') + + dnfplugin.perform_dry_run( + tasks=tasks, used_repos=used_repos, target_userspace_info=target_userspace_info, + xfs_info=xfs_info, storage_info=storage_info, plugin_info=plugin_info, on_aws=on_aws, + target_iso=target_iso, + ) + self.produce(TransactionDryRun()) diff --git a/repos/system_upgrade/common/actors/dnfpackagedownload/actor.py b/repos/system_upgrade/common/actors/dnfpackagedownload/actor.py new file mode 100644 index 0000000..b54f562 --- /dev/null +++ b/repos/system_upgrade/common/actors/dnfpackagedownload/actor.py @@ -0,0 +1,56 @@ +from leapp.actors import Actor +from leapp.libraries.common import dnfplugin +from leapp.models import ( + DNFPluginTask, + DNFWorkaround, + FilteredRpmTransactionTasks, + RHUIInfo, + StorageInfo, + TargetOSInstallationImage, + TargetUserSpaceInfo, + UsedTargetRepositories, + XFSPresence +) +from leapp.tags import DownloadPhaseTag, IPUWorkflowTag + + +class DnfPackageDownload(Actor): + """ + Actor that invokes DNF to download the RPMs required for the upgrade transaction. + + This actor uses the rhel-upgrade plugin to perform the download of RPM for the transaction and performing the + transaction test, that is something like a dry run trying to determine the success of the upgrade. + """ + + name = 'dnf_package_download' + consumes = ( + DNFPluginTask, + DNFWorkaround, + FilteredRpmTransactionTasks, + RHUIInfo, + StorageInfo, + TargetOSInstallationImage, + TargetUserSpaceInfo, + UsedTargetRepositories, + XFSPresence, + ) + produces = () + tags = (IPUWorkflowTag, DownloadPhaseTag) + + def process(self): + xfs_info = next(self.consume(XFSPresence), XFSPresence()) + storage_info = next(self.consume(StorageInfo), StorageInfo()) + used_repos = self.consume(UsedTargetRepositories) + plugin_info = list(self.consume(DNFPluginTask)) + tasks = next(self.consume(FilteredRpmTransactionTasks), FilteredRpmTransactionTasks()) + target_userspace_info = next(self.consume(TargetUserSpaceInfo), None) + rhui_info = next(self.consume(RHUIInfo), None) + # there are several "variants" related to the *AWS* provider (aws, aws-sap) + on_aws = bool(rhui_info and rhui_info.provider.startswith('aws')) + target_iso = next(self.consume(TargetOSInstallationImage), None) + + dnfplugin.perform_rpm_download( + tasks=tasks, used_repos=used_repos, target_userspace_info=target_userspace_info, + xfs_info=xfs_info, storage_info=storage_info, plugin_info=plugin_info, on_aws=on_aws, + target_iso=target_iso + ) diff --git a/repos/system_upgrade/common/actors/dnftransactioncheck/actor.py b/repos/system_upgrade/common/actors/dnftransactioncheck/actor.py new file mode 100644 index 0000000..b545d1c --- /dev/null +++ b/repos/system_upgrade/common/actors/dnftransactioncheck/actor.py @@ -0,0 +1,48 @@ +from leapp.actors import Actor +from leapp.libraries.common import dnfplugin +from leapp.models import ( + DNFPluginTask, + DNFWorkaround, + FilteredRpmTransactionTasks, + StorageInfo, + TargetOSInstallationImage, + TargetUserSpaceInfo, + UsedTargetRepositories, + XFSPresence +) +from leapp.tags import IPUWorkflowTag, TargetTransactionChecksPhaseTag + + +class DnfTransactionCheck(Actor): + """ + This actor tries to solve the RPM transaction to verify the all package dependencies can be successfully resolved. + """ + + name = 'dnf_transaction_check' + consumes = ( + DNFPluginTask, + DNFWorkaround, + FilteredRpmTransactionTasks, + StorageInfo, + TargetOSInstallationImage, + TargetUserSpaceInfo, + UsedTargetRepositories, + XFSPresence, + ) + produces = () + tags = (IPUWorkflowTag, TargetTransactionChecksPhaseTag) + + def process(self): + xfs_info = next(self.consume(XFSPresence), XFSPresence()) + storage_info = next(self.consume(StorageInfo), StorageInfo()) + used_repos = self.consume(UsedTargetRepositories) + plugin_info = list(self.consume(DNFPluginTask)) + tasks = next(self.consume(FilteredRpmTransactionTasks), FilteredRpmTransactionTasks()) + target_userspace_info = next(self.consume(TargetUserSpaceInfo), None) + target_iso = next(self.consume(TargetOSInstallationImage), None) + + if target_userspace_info: + dnfplugin.perform_transaction_check( + tasks=tasks, used_repos=used_repos, target_userspace_info=target_userspace_info, + xfs_info=xfs_info, storage_info=storage_info, plugin_info=plugin_info, target_iso=target_iso + ) diff --git a/repos/system_upgrade/common/actors/dnfupgradetransaction/actor.py b/repos/system_upgrade/common/actors/dnfupgradetransaction/actor.py new file mode 100644 index 0000000..2e06929 --- /dev/null +++ b/repos/system_upgrade/common/actors/dnfupgradetransaction/actor.py @@ -0,0 +1,65 @@ +import shutil + +from leapp.actors import Actor +from leapp.libraries.common import dnfplugin +from leapp.libraries.stdlib import run +from leapp.models import ( + DNFPluginTask, + DNFWorkaround, + FilteredRpmTransactionTasks, + RHSMInfo, + StorageInfo, + TargetUserSpaceInfo, + TransactionCompleted, + UsedTargetRepositories, + XFSPresence +) +from leapp.tags import IPUWorkflowTag, RPMUpgradePhaseTag + + +class DnfUpgradeTransaction(Actor): + """ + Setup and call DNF upgrade command + + Based on previously calculated RPM transaction data, this actor will setup and call + rhel-upgrade DNF plugin with necessary parameters + """ + + name = 'dnf_upgrade_transaction' + consumes = ( + DNFPluginTask, + DNFWorkaround, + FilteredRpmTransactionTasks, + RHSMInfo, + StorageInfo, + TargetUserSpaceInfo, + UsedTargetRepositories, + XFSPresence + ) + produces = (TransactionCompleted,) + tags = (RPMUpgradePhaseTag, IPUWorkflowTag) + + def process(self): + src_rhsm_info = next(self.consume(RHSMInfo), None) + if src_rhsm_info: + for prod_cert in src_rhsm_info.existing_product_certificates: + run(['rm', '-f', prod_cert]) + + used_repos = self.consume(UsedTargetRepositories) + storage_info = next(self.consume(StorageInfo), None) + plugin_info = list(self.consume(DNFPluginTask)) + tasks = next(self.consume(FilteredRpmTransactionTasks), FilteredRpmTransactionTasks()) + target_userspace_info = next(self.consume(TargetUserSpaceInfo), None) + xfs_info = next(self.consume(XFSPresence), XFSPresence()) + + dnfplugin.perform_transaction_install( + tasks=tasks, used_repos=used_repos, storage_info=storage_info, target_userspace_info=target_userspace_info, + plugin_info=plugin_info, xfs_info=xfs_info + ) + self.produce(TransactionCompleted()) + userspace = next(self.consume(TargetUserSpaceInfo), None) + if userspace: + try: + shutil.rmtree(userspace.path) + except EnvironmentError: + self.log.info("Failed to remove temporary userspace - error ignored", exc_info=True) diff --git a/repos/system_upgrade/common/actors/efibootorderfix/eficheckboot/actor.py b/repos/system_upgrade/common/actors/efibootorderfix/eficheckboot/actor.py new file mode 100644 index 0000000..ff50a94 --- /dev/null +++ b/repos/system_upgrade/common/actors/efibootorderfix/eficheckboot/actor.py @@ -0,0 +1,38 @@ +import os + +from leapp import reporting +from leapp.actors import Actor +from leapp.models import FirmwareFacts +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class EfiCheckBoot(Actor): + """ + Adjust EFI boot entry for first reboot + """ + + name = 'efi_check_boot' + consumes = (FirmwareFacts,) + produces = (reporting.Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + is_system_efi = False + has_efibootmgr = os.path.exists('/sbin/efibootmgr') + for fact in self.consume(FirmwareFacts): + if fact.firmware == 'efi': + is_system_efi = True + break + + if is_system_efi and not has_efibootmgr: + reporting.create_report([ + reporting.Title('efibootmgr package is required on EFI systems'), + reporting.Summary( + 'efibootmgr is required so that we can can set proper boot options in between restarts' + ), + reporting.Remediation(commands=[['yum', '-y', 'install', 'efibootmgr']]), + reporting.RelatedResource('package', 'efibootmgr'), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.BOOT]) + ]) diff --git a/repos/system_upgrade/common/actors/efibootorderfix/finalization/actor.py b/repos/system_upgrade/common/actors/efibootorderfix/finalization/actor.py new file mode 100644 index 0000000..f42909f --- /dev/null +++ b/repos/system_upgrade/common/actors/efibootorderfix/finalization/actor.py @@ -0,0 +1,17 @@ +from leapp.actors import Actor +from leapp.libraries.common import efi_reboot_fix +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag + + +class EfiFinalizationFix(Actor): + """ + Adjust EFI boot entry for final reboot + """ + + name = 'efi_finalization_fix' + consumes = () + produces = () + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + efi_reboot_fix.maybe_emit_updated_boot_entry() diff --git a/repos/system_upgrade/common/actors/efibootorderfix/interim/actor.py b/repos/system_upgrade/common/actors/efibootorderfix/interim/actor.py new file mode 100644 index 0000000..1153fa7 --- /dev/null +++ b/repos/system_upgrade/common/actors/efibootorderfix/interim/actor.py @@ -0,0 +1,17 @@ +from leapp.actors import Actor +from leapp.libraries.common import efi_reboot_fix +from leapp.tags import InterimPreparationPhaseTag, IPUWorkflowTag + + +class EfiInterimFix(Actor): + """ + Adjust EFI boot entry for first reboot + """ + + name = 'efi_interim_fix' + consumes = () + produces = () + tags = (InterimPreparationPhaseTag, IPUWorkflowTag) + + def process(self): + efi_reboot_fix.maybe_emit_updated_boot_entry() diff --git a/repos/system_upgrade/common/actors/enablerhsmtargetrepos/actor.py b/repos/system_upgrade/common/actors/enablerhsmtargetrepos/actor.py new file mode 100644 index 0000000..eff2d95 --- /dev/null +++ b/repos/system_upgrade/common/actors/enablerhsmtargetrepos/actor.py @@ -0,0 +1,30 @@ +from leapp.actors import Actor +from leapp.libraries.actor import enablerhsmtargetrepos +from leapp.models import UsedTargetRepositories +from leapp.tags import FirstBootPhaseTag, IPUWorkflowTag + + +class EnableRHSMTargetRepos(Actor): + """ + On the upgraded target system, set release and enable repositories that were used during the upgrade + transaction. + + We are enabling those RHEL target repos that are equivalent to the enabled source RHEL ones available. + The BaseOS and AppStream repos are enabled on the target RHEL by default. Any other repository needs to + be enabled specifically using the subscription-manager (RHSM) utility. In case some custom repo was used + during the upgrade transaction, it won't be enabled by this actor as it is unknown to the subscription-manager. + + We need to overwrite any RHSM release that may have been set before the upgrade, e.g. 7.6. Reasons: + - If we leave the old source RHEL release set, dnf calls on the upgraded target RHEL would fail. + - If we merely unset the release, users might end up updating the system to a newer version than the upgrade + was supposed to be upgrading to. + """ + + name = 'enable_rhsm_target_repos' + consumes = (UsedTargetRepositories,) + produces = () + tags = (IPUWorkflowTag, FirstBootPhaseTag) + + def process(self): + enablerhsmtargetrepos.set_rhsm_release() + enablerhsmtargetrepos.enable_rhsm_repos() diff --git a/repos/system_upgrade/common/actors/enablerhsmtargetrepos/libraries/enablerhsmtargetrepos.py b/repos/system_upgrade/common/actors/enablerhsmtargetrepos/libraries/enablerhsmtargetrepos.py new file mode 100644 index 0000000..1a5107b --- /dev/null +++ b/repos/system_upgrade/common/actors/enablerhsmtargetrepos/libraries/enablerhsmtargetrepos.py @@ -0,0 +1,60 @@ +from leapp.libraries.common import config, mounting, rhsm +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import UsedTargetRepositories + + +def set_rhsm_release(): + """Set the RHSM release to the target RHEL minor version.""" + if rhsm.skip_rhsm(): + api.current_logger().debug('Skipping setting the RHSM release due to --no-rhsm or environment variables.') + return + + if config.get_product_type('target') == 'beta': + api.current_logger().debug('Skipping setting the RHSM release as target product is set to beta') + return + target_version = api.current_actor().configuration.version.target + try: + rhsm.set_release(mounting.NotIsolatedActions(base_dir='/'), target_version) + except CalledProcessError as err: + api.current_logger().warning('Unable to set the {0} release through subscription-manager. When using dnf,' + ' content of the latest RHEL {1} minor version will be downloaded.\n{2}' + .format(target_version, get_target_major_version(), str(err))) + + +def enable_rhsm_repos(): + """ + Try enabling all the target RHEL repositories that have been used for the upgrade transaction. + + In case of custom repositories, the subscription-manager reports an error that it doesn't know them, but it enables + the known repositories. + """ + if rhsm.skip_rhsm(): + api.current_logger().debug('Skipping enabling repositories through subscription-manager due to --no-rhsm' + ' or environment variables.') + return + try: + run(get_submgr_cmd(get_repos_to_enable())) + except CalledProcessError as err: + api.current_logger().warning('The subscription-manager could not enable some repositories.\n' + 'It is expected behavior in case of custom repositories unknown to' + ' the subscription-manager - these need to be enabled manually.\n{0}' + .format(str(err))) + + +def get_submgr_cmd(repos_to_enable): + submgr_cmd = ['subscription-manager', 'repos'] + for repoid in repos_to_enable: + submgr_cmd += ['--enable', repoid] + return submgr_cmd + + +def get_repos_to_enable(): + """ + Return set of repositories used during the upgrade transaction. + + This set may include repos unknown to subscription-manager - notable those added as custom using + CustomTargetRepository model. + """ + used_repos_msg = next(api.consume(UsedTargetRepositories), None) + return {repo.repoid for repo in used_repos_msg.repos} diff --git a/repos/system_upgrade/common/actors/enablerhsmtargetrepos/tests/test_enablerhsmtargetrepos.py b/repos/system_upgrade/common/actors/enablerhsmtargetrepos/tests/test_enablerhsmtargetrepos.py new file mode 100644 index 0000000..12d53d2 --- /dev/null +++ b/repos/system_upgrade/common/actors/enablerhsmtargetrepos/tests/test_enablerhsmtargetrepos.py @@ -0,0 +1,128 @@ +import sys + +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import enablerhsmtargetrepos +from leapp.libraries.common import config, mounting, rhsm +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import EnvVar, UsedTargetRepositories, UsedTargetRepository + + +def not_isolated_actions(raise_err=False): + commands_called = [] + + class MockNotIsolatedActions(object): + def __init__(self, base_dir=None): + pass + + def call(self, cmd, **kwargs): + commands_called.append((cmd, kwargs)) + if raise_err: + raise_call_error() + + return (commands_called, MockNotIsolatedActions) + + +def raise_call_error(args=None): + raise CalledProcessError( + message='A Leapp Command Error occurred.', + command=args, + result={'signal': None, 'exit_code': 1, 'pid': 0, 'stdout': 'fake', 'stderr': 'fake'} + ) + + +class run_mocked(object): + def __init__(self, raise_err=False): + self.called = 0 + self.args = [] + self.raise_err = raise_err + + def __call__(self, *args): + self.called += 1 + self.args.append(args) + if self.raise_err: + raise_call_error(args) + + +def test_setrelease(monkeypatch): + commands_called, klass = not_isolated_actions() + monkeypatch.setattr(mounting, 'NotIsolatedActions', klass) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='8.0')) + monkeypatch.setattr(config, 'get_product_type', lambda dummy: 'ga') + enablerhsmtargetrepos.set_rhsm_release() + assert commands_called and len(commands_called) == 1 + assert commands_called[0][0][-1] == '8.0' + + +def test_setrelease_submgr_throwing_error(monkeypatch): + _, klass = not_isolated_actions(raise_err=True) + monkeypatch.setattr(mounting, 'NotIsolatedActions', klass) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='8.0', envars={'LEAPP_NO_RHSM': '0'})) + monkeypatch.setattr(config, 'get_product_type', lambda dummy: 'ga') + # free the set_release function from the @_rhsm_retry decorator + # which would otherwise cause 25 sec delay of the test + if sys.version_info.major < 3: + monkeypatch.setattr(rhsm, 'set_release', + rhsm.set_release.func_closure[0].cell_contents.func_closure[0].cell_contents) + else: + monkeypatch.setattr(rhsm, 'set_release', rhsm.set_release.__wrapped__.__wrapped__) + with pytest.raises(StopActorExecutionError): + enablerhsmtargetrepos.set_rhsm_release() + + +@pytest.mark.parametrize('product', ['beta', 'htb']) +def test_setrelease_skip_rhsm(monkeypatch, product): + commands_called, _ = not_isolated_actions() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars={'LEAPP_NO_RHSM': '1'})) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(config, 'get_product_type', lambda dummy: product) + # To make this work we need to re-apply the decorator, so it respects the environment variable + monkeypatch.setattr(rhsm, 'set_release', rhsm.with_rhsm(rhsm.set_release)) + enablerhsmtargetrepos.set_rhsm_release() + assert not commands_called + + +def construct_UTRepo_consume(repoids): + repos = [UsedTargetRepository(repoid=repoid) for repoid in repoids] + return lambda *x: (x for x in (UsedTargetRepositories(repos=repos),)) + + +def test_get_unique_repoids(monkeypatch): + repoids = (['some-repo', 'some-repo', 'another-repo']) + monkeypatch.setattr(api, 'consume', construct_UTRepo_consume(repoids)) + assert enablerhsmtargetrepos.get_repos_to_enable() == {'some-repo', 'another-repo'} + + +def test_get_submgr_cmd(): + assert enablerhsmtargetrepos.get_submgr_cmd({'some-repo'}) == ['subscription-manager', 'repos', '--enable', + 'some-repo'] + + +def test_running_submgr_ok(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='8.0', envars={'LEAPP_NO_RHSM': '0'}), ) + monkeypatch.setattr(enablerhsmtargetrepos, 'get_repos_to_enable', lambda: {'some-repo'}) + monkeypatch.setattr(enablerhsmtargetrepos, 'run', run_mocked()) + enablerhsmtargetrepos.enable_rhsm_repos() + assert enablerhsmtargetrepos.run.called + assert 'subscription-manager' in enablerhsmtargetrepos.run.args[0][0] + + +def test_running_submgr_fail(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='8.0', envars={'LEAPP_NO_RHSM': '0'}), ) + monkeypatch.setattr(enablerhsmtargetrepos, 'get_repos_to_enable', lambda: {'some-repo'}) + monkeypatch.setattr(enablerhsmtargetrepos, 'run', run_mocked(raise_err=True)) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + enablerhsmtargetrepos.enable_rhsm_repos() + assert enablerhsmtargetrepos.run.called + assert api.current_logger.warnmsg + + +def test_enable_repos_skip_rhsm(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars={'LEAPP_NO_RHSM': '1'})) + monkeypatch.setattr(enablerhsmtargetrepos, 'run', run_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + enablerhsmtargetrepos.enable_rhsm_repos() + assert not enablerhsmtargetrepos.run.called + assert api.current_logger.dbgmsg diff --git a/repos/system_upgrade/common/actors/filterrpmtransactionevents/actor.py b/repos/system_upgrade/common/actors/filterrpmtransactionevents/actor.py new file mode 100644 index 0000000..e0d89d9 --- /dev/null +++ b/repos/system_upgrade/common/actors/filterrpmtransactionevents/actor.py @@ -0,0 +1,57 @@ +from leapp.actors import Actor +from leapp.models import ( + FilteredRpmTransactionTasks, + InstalledRedHatSignedRPM, + PESRpmTransactionTasks, + RpmTransactionTasks +) +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class FilterRpmTransactionTasks(Actor): + """ + Filter RPM transaction events based on installed RPM packages + + In order to calculate a working DNF Upgrade transaction, Leapp can collect data from multiple + sources and find workarounds for possible problems. This actor will filter all collected + workarounds and keep only those relevants to current system based on installed packages. + """ + + name = 'check_rpm_transaction_events' + consumes = (PESRpmTransactionTasks, RpmTransactionTasks, InstalledRedHatSignedRPM,) + produces = (FilteredRpmTransactionTasks,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + installed_pkgs = set() + for rpm_pkgs in self.consume(InstalledRedHatSignedRPM): + installed_pkgs.update([pkg.name for pkg in rpm_pkgs.items]) + + local_rpms = set() + to_install = set() + to_remove = set() + to_keep = set() + to_upgrade = set() + modules_to_enable = {} + modules_to_reset = {} + for event in self.consume(RpmTransactionTasks, PESRpmTransactionTasks): + local_rpms.update(event.local_rpms) + to_install.update(event.to_install) + to_remove.update(installed_pkgs.intersection(event.to_remove)) + to_keep.update(installed_pkgs.intersection(event.to_keep)) + modules_to_enable.update({'{}:{}'.format(m.name, m.stream): m for m in event.modules_to_enable}) + modules_to_reset.update({'{}:{}'.format(m.name, m.stream): m for m in event.modules_to_reset}) + + to_remove.difference_update(to_keep) + + # run upgrade for the rest of RH signed pkgs which we do not have rule for + to_upgrade = installed_pkgs - (to_install | to_remove) + + self.produce(FilteredRpmTransactionTasks( + local_rpms=list(local_rpms), + to_install=list(to_install), + to_remove=list(to_remove), + to_keep=list(to_keep), + to_upgrade=list(to_upgrade), + modules_to_reset=list(modules_to_reset.values()), + modules_to_enable=list(modules_to_enable.values()))) diff --git a/repos/system_upgrade/common/actors/filterrpmtransactionevents/tests/test_filterrpmtransactionevents.py b/repos/system_upgrade/common/actors/filterrpmtransactionevents/tests/test_filterrpmtransactionevents.py new file mode 100644 index 0000000..501cf14 --- /dev/null +++ b/repos/system_upgrade/common/actors/filterrpmtransactionevents/tests/test_filterrpmtransactionevents.py @@ -0,0 +1,45 @@ +from leapp.models import FilteredRpmTransactionTasks, InstalledRedHatSignedRPM, Module, RPM, RpmTransactionTasks +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def test_actor_execution(current_actor_context): + current_actor_context.run() + assert current_actor_context.consume(FilteredRpmTransactionTasks) + + +def test_actor_execution_with_sample_data(current_actor_context): + installed_rpm = [ + RPM(name='sample01', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_PGP_SIG'), + RPM(name='sample02', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_PGP_SIG')] + modules_to_enable = [Module(name='enable', stream='1'), Module(name='enable', stream='2')] + modules_to_reset = [Module(name='reset', stream='1'), Module(name='reset', stream='2')] + current_actor_context.feed(InstalledRedHatSignedRPM(items=installed_rpm)) + current_actor_context.feed(RpmTransactionTasks( + to_remove=[rpm.name for rpm in installed_rpm], + to_keep=[installed_rpm[0].name], + modules_to_enable=modules_to_enable, + modules_to_reset=modules_to_reset, + )) + current_actor_context.feed(RpmTransactionTasks( + modules_to_enable=modules_to_enable, + modules_to_reset=modules_to_reset, + )) + current_actor_context.run() + result = current_actor_context.consume(FilteredRpmTransactionTasks) + assert len(result) == 1 + assert result[0].to_keep == [installed_rpm[0].name] + assert result[0].to_remove == [installed_rpm[1].name] + + assert len(result[0].modules_to_enable) == 2 + assert all(m.name == 'enable' for m in result[0].modules_to_enable) + assert '1' in {m.stream for m in result[0].modules_to_enable} + assert '2' in {m.stream for m in result[0].modules_to_enable} + + assert len(result[0].modules_to_reset) == 2 + assert all(m.name == 'reset' for m in result[0].modules_to_reset) + assert '1' in {m.stream for m in result[0].modules_to_reset} + assert '2' in {m.stream for m in result[0].modules_to_reset} diff --git a/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/actor.py b/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/actor.py new file mode 100644 index 0000000..afb1369 --- /dev/null +++ b/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor import forcedefaultboot +from leapp.models import InstalledTargetKernelInfo +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag + + +class ForceDefaultBootToTargetKernelVersion(Actor): + """ + Ensure the default boot entry is set to the new target kernel + + This Actor ensure that the default entry in the boot loader is set to the newly installed kernel version. + There have been cases when the default boot entry was not set to the default kernel version. In this case the + actor will log a warning for debugging purposes. + """ + + name = 'force_default_boot_to_target_kernel_version' + consumes = (InstalledTargetKernelInfo,) + produces = () + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + forcedefaultboot.process() diff --git a/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/libraries/forcedefaultboot.py b/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/libraries/forcedefaultboot.py new file mode 100644 index 0000000..b5a4f9d --- /dev/null +++ b/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/libraries/forcedefaultboot.py @@ -0,0 +1,77 @@ +from leapp.libraries import stdlib +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api, config +from leapp.models import InstalledTargetKernelInfo + + +def update_default_kernel(kernel_info): + try: + stdlib.run(['grubby', '--info', kernel_info.kernel_img_path]) + except stdlib.CalledProcessError: + api.current_logger().error('Expected kernel %s to be installed at the boot loader but cannot be found.', + kernel_info.kernel_img_path) + except OSError: + api.current_logger().error('Could not check for kernel existence in boot loader. Is grubby installed?') + else: + try: + stdlib.run(['grubby', '--set-default', kernel_info.kernel_img_path]) + if architecture.matches_architecture(architecture.ARCH_S390X): + # on s390x we need to call zipl explicitly because of issue in grubby, + # otherwise the new boot entry will not be set as default + # See https://bugzilla.redhat.com/show_bug.cgi?id=1764306 + stdlib.run(['/usr/sbin/zipl']) + except (OSError, stdlib.CalledProcessError): + api.current_logger().error('Failed to set default kernel to: %s', + kernel_info.kernel_img_path, exc_info=True) + + +def process(): + is_system_s390x = architecture.matches_architecture(architecture.ARCH_S390X) + if config.is_debug and not is_system_s390x: # pylint: disable=using-constant-test + try: + # the following command prints output of grubenv for debugging purposes and is repeated after setting + # default kernel so we can be sure we have the right saved entry + # + # saved_entry=63... + # kernelopts=root=/dev/mapper... + # + # + # boot_success and boot_indeterminate parameters are added later by one-shot systemd service + stdlib.run(['grub2-editenv', 'list']) + except stdlib.CalledProcessError: + api.current_logger().error('Failed to execute "grub2-editenv list" command') + + kernel_info = next(api.consume(InstalledTargetKernelInfo), None) + if not kernel_info: + api.current_logger().warning(('Skipped - Forcing checking and setting default boot entry to target kernel' + ' version due to missing message')) + return + + if not kernel_info.kernel_img_path: # Should be always set + api.current_logger().warning(('Skipping forcing of default boot entry - target kernel info ' + 'does not contain a kernel image path.')) + return + + try: + current_default_kernel = stdlib.run(['grubby', '--default-kernel'])['stdout'].strip() + except (OSError, stdlib.CalledProcessError): + api.current_logger().warning('Failed to query grubby for default kernel', exc_info=True) + return + + for type_ in ('index', 'title'): + try: + stdlib.run(['grubby', '--default-{}'.format(type_)]) + except (OSError, stdlib.CalledProcessError): + api.current_logger().warning('Failed to query grubby for default {}'.format(type_), exc_info=True) + return + + if current_default_kernel != kernel_info.kernel_img_path: + api.current_logger().warning(('Current default boot entry not target kernel version: Current default: %s.' + 'Forcing default kernel to %s'), + current_default_kernel, kernel_info.kernel_img_path) + update_default_kernel(kernel_info) + if config.is_debug and not is_system_s390x: # pylint: disable=using-constant-test + try: + stdlib.run(['grub2-editenv', 'list']) + except stdlib.CalledProcessError: + api.current_logger().error('Failed to execute "grub2-editenv list" command') diff --git a/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/tests/test_forcedefaultboot_forcedefaultboottotargetkernelversion.py b/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/tests/test_forcedefaultboot_forcedefaultboottotargetkernelversion.py new file mode 100644 index 0000000..b903df4 --- /dev/null +++ b/repos/system_upgrade/common/actors/forcedefaultboottotargetkernelversion/tests/test_forcedefaultboot_forcedefaultboottotargetkernelversion.py @@ -0,0 +1,157 @@ +import os.path +from collections import namedtuple + +import pytest + +from leapp.libraries import stdlib +from leapp.libraries.actor import forcedefaultboot +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledTargetKernelInfo + +Expected = namedtuple( + 'Expected', ( + 'grubby_setdefault', + 'zipl_called' + ) +) + +Case = namedtuple( + 'Case', + ('kernel_exists', + 'entry_default', + 'entry_exists', + 'message_available', + 'arch_s390x' + ) +) + +TARGET_KERNEL_NEVRA = 'kernel-core-1.2.3.4.el8.x86_64' +TARGET_KERNEL_VERSION = '1.2.3.4.el8.x86_64' +TARGET_KERNEL_TITLE = 'Red Hat Enterprise Linux ({}) 8.1 (Ootpa)'.format(TARGET_KERNEL_VERSION) +TARGET_KERNEL_PATH = '/boot/vmlinuz-{}'.format(TARGET_KERNEL_VERSION) +TARGET_INITRD_PATH = '/boot/initramfs-{}.img'.format(TARGET_KERNEL_VERSION) + +OLD_KERNEL_VERSION = '0.1.2.3.el7.x86_64' +OLD_KERNEL_TITLE = 'Red Hat Enterprise Linux ({}) 7.6 (Maipo)'.format(OLD_KERNEL_VERSION) +OLD_KERNEL_PATH = '/boot/vmlinuz-{}'.format(OLD_KERNEL_VERSION) + + +CASES = ( + (Case(kernel_exists=True, entry_default=True, entry_exists=True, message_available=True, arch_s390x=False), + Expected(grubby_setdefault=False, zipl_called=False)), + (Case(kernel_exists=False, entry_default=False, entry_exists=True, message_available=True, arch_s390x=False), + Expected(grubby_setdefault=False, zipl_called=False)), + (Case(kernel_exists=True, entry_default=False, entry_exists=True, message_available=False, arch_s390x=False), + Expected(grubby_setdefault=False, zipl_called=False)), + (Case(kernel_exists=True, entry_default=False, entry_exists=False, message_available=False, arch_s390x=False), + Expected(grubby_setdefault=False, zipl_called=False)), + (Case(kernel_exists=True, entry_default=False, entry_exists=True, message_available=True, arch_s390x=False), + Expected(grubby_setdefault=True, zipl_called=False)), + (Case(kernel_exists=True, entry_default=True, entry_exists=True, message_available=True, arch_s390x=True), + Expected(grubby_setdefault=False, zipl_called=False)), + (Case(kernel_exists=False, entry_default=False, entry_exists=True, message_available=True, arch_s390x=True), + Expected(grubby_setdefault=False, zipl_called=False)), + (Case(kernel_exists=True, entry_default=False, entry_exists=True, message_available=False, arch_s390x=True), + Expected(grubby_setdefault=False, zipl_called=False)), + (Case(kernel_exists=True, entry_default=False, entry_exists=False, message_available=False, arch_s390x=True), + Expected(grubby_setdefault=False, zipl_called=False)), + (Case(kernel_exists=True, entry_default=False, entry_exists=True, message_available=True, arch_s390x=True), + Expected(grubby_setdefault=True, zipl_called=True)) +) + +_GRUBBY_INFO_TEMPLATE = '''index={entry_index} +kernel=/boot/vmlinuz-{kernel_version} +args="ro rd.lvm.lv=testing/root rd.lvm.lv=testing/swap rhgb quiet LANG=en_US.UTF-8" +root=/dev/mapper/testing-root +initrd=/boot/initramfs-{kernel_version}.img +''' + + +class MockedRun(object): + def __init__(self, case): + self.case = case + self.called_setdefault = False + self.called_zipl = False + + def __call__(self, cmd, *args, **kwargs): + if cmd and cmd[0] == 'grubby': + target = getattr(self, 'grubby_{}'.format(cmd[1].strip('--').replace('-', '_')), None) + assert target and 'Unsupport grubby command called' # pylint: disable=simplifiable-condition + return target(cmd) # pylint: disable=not-callable + if cmd and cmd[0] == '/usr/sbin/zipl': + self.called_zipl = True + return None + + def grubby_info(self, cmd): + assert len(cmd) == 3 + if not self.case.entry_exists: + raise stdlib.CalledProcessError('A leapp command failed', cmd, {}) + + return { + 'stdout': _GRUBBY_INFO_TEMPLATE.format( + entry_index=0 if self.case.entry_default else 1, + kernel_version=TARGET_KERNEL_VERSION) + } + + def grubby_default_kernel(self, cmd): + assert len(cmd) == 2 + if self.case.entry_default: + return {'stdout': '{}\n'.format(TARGET_KERNEL_PATH)} + return {'stdout': '{}\n'.format(OLD_KERNEL_PATH)} + + def grubby_default_index(self, cmd): + assert len(cmd) == 2 + if self.case.entry_default: + return {'stdout': '1\n'} + return {'stdout': '0\n'} + + def grubby_default_title(self, cmd): + assert len(cmd) == 2 + if self.case.entry_default: + return {'stdout': '{}\n'.format(TARGET_KERNEL_TITLE)} + return {'stdout': '{}\n'.format(OLD_KERNEL_TITLE)} + + def grubby_set_default(self, cmd): + assert len(cmd) == 3 + assert cmd[2] == TARGET_KERNEL_PATH + self.called_setdefault = True + + +def mocked_consume(case): + def impl(*args): + if case.message_available: + kernel_img_path = TARGET_KERNEL_PATH if case.kernel_exists else '' + msg = InstalledTargetKernelInfo(pkg_nevra=TARGET_KERNEL_NEVRA, + kernel_img_path=kernel_img_path, + uname_r='', + initramfs_path=TARGET_INITRD_PATH) + return iter((msg,)) + return iter(()) + return impl + + +def mocked_exists(case, orig_path_exists): + def impl(path): + if path == TARGET_KERNEL_PATH: + return case.kernel_exists + if path == TARGET_INITRD_PATH: + return case.initrd_exists + return orig_path_exists(path) + return impl + + +@pytest.mark.parametrize('case_result', CASES) +def test_force_default_boot_target_scenario(case_result, monkeypatch): + case, result = case_result + arch = architecture.ARCH_S390X if case.arch_s390x else architecture.ARCH_X86_64 + mocked_run = MockedRun(case) + monkeypatch.setattr(api, 'consume', mocked_consume(case)) + monkeypatch.setattr(stdlib, 'run', mocked_run) + monkeypatch.setattr(os.path, 'exists', mocked_exists(case, os.path.exists)) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=arch)) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + forcedefaultboot.process() + assert result.grubby_setdefault == mocked_run.called_setdefault + assert result.zipl_called == mocked_run.called_zipl diff --git a/repos/system_upgrade/common/actors/getenabledmodules/actor.py b/repos/system_upgrade/common/actors/getenabledmodules/actor.py new file mode 100644 index 0000000..71cefef --- /dev/null +++ b/repos/system_upgrade/common/actors/getenabledmodules/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.common.module import get_enabled_modules +from leapp.models import EnabledModules, Module +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class GetEnabledModules(Actor): + """ + Provides data about which module streams are enabled on the source system. + """ + + name = 'get_enabled_modules' + consumes = () + produces = (EnabledModules,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + modules = [Module(name=m.getName(), stream=m.getStream()) for m in get_enabled_modules()] + self.produce(EnabledModules(modules=modules)) diff --git a/repos/system_upgrade/common/actors/getinstalleddesktops/actor.py b/repos/system_upgrade/common/actors/getinstalleddesktops/actor.py new file mode 100644 index 0000000..41906aa --- /dev/null +++ b/repos/system_upgrade/common/actors/getinstalleddesktops/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor.getinstalleddesktops import get_installed_desktops +from leapp.models import InstalledDesktopsFacts, InstalledRPM +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class GetInstalledDesktops(Actor): + """ + Actor checks if kde or gnome desktop environments + are installed and what desktop is default. + """ + + name = 'get_installed_desktops' + consumes = (InstalledRPM,) + produces = (InstalledDesktopsFacts,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + facts = get_installed_desktops() + self.produce(InstalledDesktopsFacts( + gnome_installed=facts["gnome_installed"], + kde_installed=facts["kde_installed"])) diff --git a/repos/system_upgrade/common/actors/getinstalleddesktops/libraries/getinstalleddesktops.py b/repos/system_upgrade/common/actors/getinstalleddesktops/libraries/getinstalleddesktops.py new file mode 100644 index 0000000..936f829 --- /dev/null +++ b/repos/system_upgrade/common/actors/getinstalleddesktops/libraries/getinstalleddesktops.py @@ -0,0 +1,17 @@ +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRPM + + +def get_installed_desktops(): + api.current_logger().info(" Detecting desktop environments ") + api.current_logger().info("==================================") + + # Detect installed desktops by one of the base rpm packages + kde_desktop_installed = has_package(InstalledRPM, "kde-workspace") + gnome_desktop_installed = has_package(InstalledRPM, "gnome-session") + api.current_logger().info("* KDE installed: {0}".format(kde_desktop_installed)) + api.current_logger().info("* Gnome installed: {0}".format(gnome_desktop_installed)) + api.current_logger().info("----------------------------------") + + return {"gnome_installed": gnome_desktop_installed, "kde_installed": kde_desktop_installed} diff --git a/repos/system_upgrade/common/actors/getinstalleddesktops/tests/unit_test_getinstalleddesktops.py b/repos/system_upgrade/common/actors/getinstalleddesktops/tests/unit_test_getinstalleddesktops.py new file mode 100644 index 0000000..7c06a80 --- /dev/null +++ b/repos/system_upgrade/common/actors/getinstalleddesktops/tests/unit_test_getinstalleddesktops.py @@ -0,0 +1,36 @@ +from leapp.models import InstalledDesktopsFacts, InstalledRPM, RPM +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' +Gnome_RPM = RPM(name='gnome-session', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') +KDE_RPM = RPM(name='kde-workspace', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') + + +def test_Gnome_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[Gnome_RPM, ])) + current_actor_context.run() + message = current_actor_context.consume(InstalledDesktopsFacts)[0] + assert message.gnome_installed + + +def test_KDE_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[KDE_RPM, ])) + current_actor_context.run() + message = current_actor_context.consume(InstalledDesktopsFacts)[0] + assert message.kde_installed + + +def test_KDE_Gnome_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[Gnome_RPM, KDE_RPM])) + current_actor_context.run() + message = current_actor_context.consume(InstalledDesktopsFacts)[0] + assert message.gnome_installed and message.kde_installed + + +def test_no_desktop_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[])) + current_actor_context.run() + message = current_actor_context.consume(InstalledDesktopsFacts)[0] + assert not message.gnome_installed and not message.kde_installed diff --git a/repos/system_upgrade/common/actors/inhibitwhenluks/actor.py b/repos/system_upgrade/common/actors/inhibitwhenluks/actor.py new file mode 100644 index 0000000..d3ff2d2 --- /dev/null +++ b/repos/system_upgrade/common/actors/inhibitwhenluks/actor.py @@ -0,0 +1,49 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import CephInfo, StorageInfo +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class InhibitWhenLuks(Actor): + """ + Check if any encrypted partitions is in use. If yes, inhibit the upgrade process. + + Upgrading system with encrypted partition is not supported. + """ + + name = 'check_luks_and_inhibit' + consumes = (StorageInfo, CephInfo) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + # If encrypted Ceph volumes present, check if there are more encrypted disk in lsblk than Ceph vol + ceph_vol = [] + try: + ceph_info = next(self.consume(CephInfo)) + if ceph_info: + ceph_vol = ceph_info.encrypted_volumes[:] + for storage_info in self.consume(StorageInfo): + for blk in storage_info.lsblk: + if blk.tp == 'crypt' and blk.name not in ceph_vol: + create_report([ + reporting.Title('LUKS encrypted partition detected'), + reporting.Summary('Upgrading system with encrypted partitions is not supported'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.BOOT, reporting.Groups.ENCRYPTION]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ]) + break + except StopIteration: + for storage_info in self.consume(StorageInfo): + for blk in storage_info.lsblk: + if blk.tp == 'crypt': + create_report([ + reporting.Title('LUKS encrypted partition detected'), + reporting.Summary('Upgrading system with encrypted partitions is not supported'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.BOOT, reporting.Groups.ENCRYPTION]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ]) + break diff --git a/repos/system_upgrade/common/actors/inhibitwhenluks/tests/test_inhibitwhenluks.py b/repos/system_upgrade/common/actors/inhibitwhenluks/tests/test_inhibitwhenluks.py new file mode 100644 index 0000000..fee50f9 --- /dev/null +++ b/repos/system_upgrade/common/actors/inhibitwhenluks/tests/test_inhibitwhenluks.py @@ -0,0 +1,34 @@ +from leapp.models import CephInfo, LsblkEntry, StorageInfo +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def test_actor_with_luks(current_actor_context): + with_luks = [LsblkEntry(name='luks-132', kname='kname1', maj_min='253:0', rm='0', + size='10G', bsize=10*(1 << 39), ro='0', tp='crypt', mountpoint='')] + + current_actor_context.feed(StorageInfo(lsblk=with_luks)) + current_actor_context.run() + assert current_actor_context.consume(Report) + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_actor_with_luks_ceph_only(current_actor_context): + with_luks = [LsblkEntry(name='luks-132', kname='kname1', maj_min='253:0', rm='0', + size='10G', bsize=10*(1 << 39), ro='0', tp='crypt', mountpoint='')] + ceph_volume = ['luks-132'] + current_actor_context.feed(StorageInfo(lsblk=with_luks)) + current_actor_context.feed(CephInfo(encrypted_volumes=ceph_volume)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_without_luks(current_actor_context): + without_luks = [LsblkEntry(name='sda1', kname='sda1', maj_min='8:0', rm='0', + size='10G', bsize=10*(1 << 39), ro='0', tp='part', mountpoint='/boot')] + + current_actor_context.feed(StorageInfo(lsblk=without_luks)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/actor.py b/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/actor.py new file mode 100644 index 0000000..ef1930d --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import check_fips as check_fips_lib +from leapp.models import FIPSInfo +from leapp.tags import IPUWorkflowTag, LateTestsPhaseTag + + +class CheckFIPSCorrectlyEnabled(Actor): + """ + Sanity check to stop the IPU if the system did not boot into the upgrade initramfs with FIPS settings preserved. + + The performed check should be unlikely to fail, as it would mean that the upgrade boot entry was created without + fips=1 on the kernel cmdline. + """ + + name = 'check_fips_correctly_enabled' + consumes = (FIPSInfo,) + produces = () + tags = (LateTestsPhaseTag, IPUWorkflowTag) + + def process(self): + check_fips_lib.check_fips_state_perserved() diff --git a/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/libraries/check_fips.py b/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/libraries/check_fips.py new file mode 100644 index 0000000..ba23661 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/libraries/check_fips.py @@ -0,0 +1,23 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.models import FIPSInfo + + +def read_sys_fips_state(): + with open('/proc/sys/crypto/fips_enabled') as fips_status_handle: + return fips_status_handle.read().strip() + + +def check_fips_state_perserved(): + fips_info = next(api.consume(FIPSInfo), None) + if not fips_info: + # Unexpected, FIPSInfo is produced unconditionally + raise StopActorExecutionError('Cannot check for the correct FIPS state in the upgrade initramfs', + details={'Problem': 'Did not receive any FIPSInfo message'}) + + if fips_info.is_enabled: + fips_status = read_sys_fips_state() + if fips_status != '1': + details = {'details': ('The system is reporting FIPS as disabled, although it should be enabled' + ' since it was enabled on the source system.')} + raise StopActorExecutionError('Failed to enable FIPS in the upgrade initramfs', details=details) diff --git a/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/tests/test_checkfipsenabled.py b/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/tests/test_checkfipsenabled.py new file mode 100644 index 0000000..9a396e8 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/checkfipsenabled/tests/test_checkfipsenabled.py @@ -0,0 +1,31 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import check_fips +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import FIPSInfo + + +@pytest.mark.parametrize( + ('fips_info', 'sys_fips_enabled_contents', 'should_prevent_ipu'), + ( + (FIPSInfo(is_enabled=False), '0', False), + (FIPSInfo(is_enabled=True), '0', True), + (FIPSInfo(is_enabled=True), '1', False), + ) +) +def test_ipu_prevention_if_fips_not_perserved(monkeypatch, + fips_info, + sys_fips_enabled_contents, + should_prevent_ipu): + + mocked_actor = CurrentActorMocked(msgs=[fips_info]) + monkeypatch.setattr(check_fips, 'read_sys_fips_state', lambda: sys_fips_enabled_contents) + monkeypatch.setattr(api, 'current_actor', mocked_actor) + + if should_prevent_ipu: + with pytest.raises(StopActorExecutionError): + check_fips.check_fips_state_perserved() + else: + check_fips.check_fips_state_perserved() # unhandled exception with crash the test diff --git a/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/actor.py b/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/actor.py new file mode 100644 index 0000000..6b98085 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkinitramfstasks +from leapp.models import Report, TargetInitramfsTasks, UpgradeInitramfsTasks +from leapp.tags import IPUWorkflowTag, TargetTransactionChecksPhaseTag + + +class CheckInitramfsTasks(Actor): + """ + Inhibit the upgrade if conflicting "initramfs" tasks are detected + + It's possible that some actors could provide conflicting requests + (e.g. install system dracut module A & custom (from own path) dracut + module A). This actor prevents system from upgrading if conflicting tasks + for the upgrade or target initramfses are detected. + """ + + name = 'check_initramfs_tasks' + consumes = (UpgradeInitramfsTasks, TargetInitramfsTasks) + produces = (Report,) + tags = (TargetTransactionChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checkinitramfstasks.process() diff --git a/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/libraries/checkinitramfstasks.py b/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/libraries/checkinitramfstasks.py new file mode 100644 index 0000000..0d7d831 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/libraries/checkinitramfstasks.py @@ -0,0 +1,93 @@ +import os +from collections import defaultdict + +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import TargetInitramfsTasks, UpgradeInitramfsTasks + +DRACUT_MOD_DIR = '/usr/lib/dracut/modules.d/' +SUMMARY_FMT = ( + 'The requested {kind} modules for the initramfs are in conflict.' + ' At least one {kind} module is specified to be installed from' + ' multiple paths. The list of conflicting {kind} module names' + ' with paths is listed below: {conflicts}' +) + + +def _printable_modules(conflicts): + list_separator_fmt = '\n - ' + for name, paths in conflicts.items(): + paths = sorted([str(i) for i in paths]) + output = ['{}{}: {}'.format(list_separator_fmt, name, paths)] + return ''.join(output) + + +def _treat_path_dracut(dmodule): + """ + In case the path is not set, set the expected path of the dracut module. + """ + + if not dmodule.module_path: + return os.path.join(DRACUT_MOD_DIR, dmodule.name) + return dmodule.module_path + + +def _treat_path_kernel(kmodule): + """ + In case the path of a kernel module is not set, indicate that the module is + taken from the current system. + """ + + if not kmodule.module_path: + return kmodule.name + ' (system)' + return kmodule.module_path + + +def _detect_modules_conflicts(msgtype, kind): + """ + Return dict of modules with conflicting tasks + + In this case when a module should be applied but different sources are + specified. E.g.: + include modules X where, + msg A) X + msg B) X from custom path + """ + + modules_map = { + 'dracut': { + 'msgattr': 'include_dracut_modules', + 'treat_path_fn': _treat_path_dracut, + }, + 'kernel': { + 'msgattr': 'include_kernel_modules', + 'treat_path_fn': _treat_path_kernel + }, + } + + modules = defaultdict(set) + for msg in api.consume(msgtype): + for module in getattr(msg, modules_map[kind]['msgattr']): + treat_path_fn = modules_map[kind]['treat_path_fn'] + modules[module.name].add(treat_path_fn(module)) + return {key: val for key, val in modules.items() if len(val) > 1} + + +def report_conflicts(msgname, kind, msgtype): + conflicts = _detect_modules_conflicts(msgtype, kind) + if not conflicts: + return + report = [ + reporting.Title('Conflicting requirements of {kind} modules for the {msgname} initramfs'.format( + kind=kind, msgname=msgname)), + reporting.Summary(SUMMARY_FMT.format(kind=kind, conflicts=_printable_modules(conflicts))), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY, reporting.Groups.INHIBITOR]), + ] + reporting.create_report(report) + + +def process(): + report_conflicts('upgrade', 'kernel', UpgradeInitramfsTasks) + report_conflicts('upgrade', 'dracut', UpgradeInitramfsTasks) + report_conflicts('target', 'dracut', TargetInitramfsTasks) diff --git a/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/tests/unit_test_checkinitramfstasks.py b/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/tests/unit_test_checkinitramfstasks.py new file mode 100644 index 0000000..fca15f7 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/checkinitramfstasks/tests/unit_test_checkinitramfstasks.py @@ -0,0 +1,157 @@ +import os + +import pytest + +from leapp import reporting +from leapp.libraries.actor import checkinitramfstasks +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import DracutModule, KernelModule, TargetInitramfsTasks, UpgradeInitramfsTasks +from leapp.utils.report import is_inhibitor + + +def gen_UIT(modules): + if not isinstance(modules, list): + modules = [modules] + dracut_modules = [DracutModule(name=i[0], module_path=i[1]) for i in modules] + kernel_modules = [KernelModule(name=i[0], module_path=i[1]) for i in modules] + return UpgradeInitramfsTasks(include_dracut_modules=dracut_modules, include_kernel_modules=kernel_modules) + + +def gen_TIT(modules): + if not isinstance(modules, list): + modules = [modules] + dracut_modules = [DracutModule(name=i[0], module_path=i[1]) for i in modules] + return TargetInitramfsTasks(include_dracut_modules=dracut_modules) + + +@pytest.mark.parametrize('expected_res,input_msgs,test_msg_type', [ + ( + {}, + [], + UpgradeInitramfsTasks, + ), + ( + {}, + [gen_UIT([('modA', 'pathA'), ('modB', 'pathB')])], + UpgradeInitramfsTasks, + ), + ( + {}, + [gen_UIT([('modA', 'pathA'), ('modA', 'pathA')])], + UpgradeInitramfsTasks, + ), + ( + {'modA': {'pathA', 'pathB'}}, + [gen_UIT([('modA', 'pathA'), ('modA', 'pathB')])], + UpgradeInitramfsTasks, + ), + ( + {'modA': {'pathA', 'pathB'}}, + [gen_UIT(('modA', 'pathA')), gen_UIT(('modA', 'pathB'))], + UpgradeInitramfsTasks, + ), + ( + {'modA': {'pathA', 'pathB'}}, + [gen_UIT([('modA', 'pathA'), ('modA', 'pathB'), ('modB', 'pathC')])], + UpgradeInitramfsTasks, + ), + ( + {'modA': {os.path.join(checkinitramfstasks.DRACUT_MOD_DIR, 'modA'), 'pathB'}}, + [gen_UIT([('modA', None), ('modA', 'pathB')])], + UpgradeInitramfsTasks, + ), + ( + {'modA': {'pathA', 'pathB'}}, + [gen_TIT([('modA', 'pathA'), ('modA', 'pathB')])], + TargetInitramfsTasks, + ), + ( + {}, + [gen_UIT([('modA', 'pathA'), ('modA', 'pathB')])], + TargetInitramfsTasks, + ), +]) +def test_dracut_conflict_detection(monkeypatch, expected_res, input_msgs, test_msg_type): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=input_msgs)) + res = checkinitramfstasks._detect_modules_conflicts(test_msg_type, 'dracut') + assert res == expected_res + + +@pytest.mark.parametrize('expected_res,input_msgs,test_msg_type', [ + ( + {}, + [], + UpgradeInitramfsTasks, + ), + ( + {}, + [gen_UIT([('modA', 'pathA'), ('modB', 'pathB')])], + UpgradeInitramfsTasks, + ), + ( + {}, + [gen_UIT([('modA', 'pathA'), ('modA', 'pathA')])], + UpgradeInitramfsTasks, + ), + ( + {'modA': {'pathA', 'pathB'}}, + [gen_UIT([('modA', 'pathA'), ('modA', 'pathB')])], + UpgradeInitramfsTasks, + ), + ( + {'modA': {'pathA', 'pathB'}}, + [gen_UIT(('modA', 'pathA')), gen_UIT(('modA', 'pathB'))], + UpgradeInitramfsTasks, + ), + ( + {'modA': {'pathA', 'pathB'}}, + [gen_UIT([('modA', 'pathA'), ('modA', 'pathB'), ('modB', 'pathC')])], + UpgradeInitramfsTasks, + ), + ( + {'modA': {'modA (system)', 'pathB'}}, + [gen_UIT([('modA', None), ('modA', 'pathB')])], + UpgradeInitramfsTasks, + ), + ( + {}, + [gen_UIT([('modA', 'pathA'), ('modA', 'pathB')])], + TargetInitramfsTasks, + ), +]) +def test_kernel_conflict_detection(monkeypatch, expected_res, input_msgs, test_msg_type): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=input_msgs)) + res = checkinitramfstasks._detect_modules_conflicts(test_msg_type, 'kernel') + assert res == expected_res + + +def test_report_uit(monkeypatch): + input_msgs = [gen_UIT([('modA', 'pathA'), ('modA', 'pathB')])] + sum_msg = "- modA: ['pathA', 'pathB']" + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=input_msgs)) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + checkinitramfstasks.process() + assert reporting.create_report.called + assert 'upgrade' in reporting.create_report.report_fields['title'] + assert sum_msg in reporting.create_report.report_fields['summary'] + assert is_inhibitor(reporting.create_report.report_fields) + + +def test_report_tit(monkeypatch): + input_msgs = [gen_TIT([('modA', 'pathA'), ('modA', 'pathB')])] + sum_msg = "- modA: ['pathA', 'pathB']" + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=input_msgs)) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + checkinitramfstasks.process() + assert reporting.create_report.called + assert 'target' in reporting.create_report.report_fields['title'] + assert sum_msg in reporting.create_report.report_fields['summary'] + assert is_inhibitor(reporting.create_report.report_fields) + + +def test_no_conflict(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[])) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + checkinitramfstasks.process() + assert not reporting.create_report.called diff --git a/repos/system_upgrade/common/actors/initramfs/mounttargetiso/actor.py b/repos/system_upgrade/common/actors/initramfs/mounttargetiso/actor.py new file mode 100644 index 0000000..950b269 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/mounttargetiso/actor.py @@ -0,0 +1,16 @@ +from leapp.actors import Actor +from leapp.libraries.actor import mount_target_iso +from leapp.models import TargetOSInstallationImage, TargetUserSpaceInfo +from leapp.tags import IPUWorkflowTag, PreparationPhaseTag + + +class MountTargetISO(Actor): + """Mounts target OS ISO in order to install upgrade packages from it.""" + + name = 'mount_target_iso' + consumes = (TargetUserSpaceInfo, TargetOSInstallationImage,) + produces = () + tags = (PreparationPhaseTag, IPUWorkflowTag) + + def process(self): + mount_target_iso.mount_target_iso() diff --git a/repos/system_upgrade/common/actors/initramfs/mounttargetiso/libraries/mount_target_iso.py b/repos/system_upgrade/common/actors/initramfs/mounttargetiso/libraries/mount_target_iso.py new file mode 100644 index 0000000..7cc4523 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/mounttargetiso/libraries/mount_target_iso.py @@ -0,0 +1,27 @@ +import os + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import TargetOSInstallationImage, TargetUserSpaceInfo + + +def mount_target_iso(): + target_os_iso = next(api.consume(TargetOSInstallationImage), None) + target_userspace_info = next(api.consume(TargetUserSpaceInfo), None) + + if not target_os_iso: + return + + mountpoint = os.path.join(target_userspace_info.path, target_os_iso.mountpoint[1:]) + if not os.path.exists(mountpoint): + # The target userspace container exists, however, the mountpoint has been removed during cleanup. + os.makedirs(mountpoint) + try: + run(['mount', target_os_iso.path, mountpoint]) + except CalledProcessError as err: + # Unlikely, since we are checking that the ISO is mountable and located on a persistent partition. This would + # likely mean that either the fstab entry for the partition points uses a different device that the one that + # was mounted during pre-reboot, or the fstab has been tampered with before rebooting. Either way, there is + # nothing at this point how we can recover. + msg = 'Failed to mount the target RHEL ISO file containing RPMs to install during the upgrade.' + raise StopActorExecutionError(message=msg, details={'details': '{0}'.format(err)}) diff --git a/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/actor.py b/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/actor.py new file mode 100644 index 0000000..9d4f49b --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import targetinitramfsgenerator +from leapp.models import InitrdIncludes # deprecated +from leapp.models import InstalledTargetKernelInfo, TargetInitramfsTasks +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag +from leapp.utils.deprecation import suppress_deprecation + + +@suppress_deprecation(InitrdIncludes) +class TargetInitramfsGenerator(Actor): + """ + Regenerate the target RHEL major version initrd and include files produced by other actors + """ + + name = 'target_initramfs_generator' + consumes = (InitrdIncludes, InstalledTargetKernelInfo, TargetInitramfsTasks) + produces = () + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + targetinitramfsgenerator.process() diff --git a/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/libraries/targetinitramfsgenerator.py b/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/libraries/targetinitramfsgenerator.py new file mode 100644 index 0000000..edfb42c --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/libraries/targetinitramfsgenerator.py @@ -0,0 +1,141 @@ +import errno +import os +import shutil + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import InitrdIncludes # deprecated +from leapp.models import InstalledTargetKernelInfo, TargetInitramfsTasks +from leapp.utils.deprecation import suppress_deprecation + +DRACUT_DIR = '/usr/lib/dracut/modules.d/' + + +def _get_target_kernel_modules_dir(kernel_version): + """ + Return the path where the custom kernel modules should be copied. + """ + + modules_dir = os.path.join('/', 'lib', 'modules', kernel_version, 'extra', 'leapp') + + return modules_dir + + +def _copy_modules(modules, dst_dir, kind): + """ + Copy modules of given kind to the specified destination directory. + + Attempts to remove an cleanup by removing the existing destination + directory. If the directory does not exist, it is created anew. Then, for + each module message, it checks if the module has a module path specified. If + the module already exists in the destination directory, a debug message is + logged, and the operation is skipped. Otherwise, the module is copied to the + destination directory. + + """ + + try: + os.makedirs(dst_dir) + except OSError as exc: + if exc.errno == errno.EEXIST and os.path.isdir(dst_dir): + pass + else: + raise + + for module in modules: + if not module.module_path: + continue + + dst_path = os.path.join(dst_dir, os.path.basename(module.module_path)) + if os.path.exists(dst_path): + api.current_logger().debug( + 'The {name} {kind} module has been already installed. Skipping.' + .format(name=module.name, kind=kind)) + continue + + copy_fn = shutil.copytree + if os.path.isfile(module.module_path): + copy_fn = shutil.copy2 + + try: + api.current_logger().debug( + 'Copying {kind} module "{name}" to "{path}".' + .format(kind=kind, name=module.name, path=dst_path)) + + copy_fn(module.module_path, dst_path) + except shutil.Error as e: + api.current_logger().error( + 'Failed to copy {kind} module "{name}" from "{source}" to "{target}"'.format( + kind=kind, name=module.name, source=module.module_path, target=dst_dir), + exc_info=True) + raise StopActorExecutionError( + message='Failed to install {kind} modules required in the initram. Error: {error}'.format( + kind=kind, error=str(e)) + ) + + +@suppress_deprecation(InitrdIncludes) +def _get_files(): + files = {f for i in api.consume(InitrdIncludes) for f in i.files} + files.update([f for i in api.consume(TargetInitramfsTasks) for f in i.include_files]) + return files + + +def _get_modules(): + # NOTE(pstodulk): Duplicated tasks are not filtered out, nor checked in the actor. + # Currently possible conflicting tasks are detected by the checkinitramfstasks + # actor that inhibits the upgrade if any conflicts are detected. User is + # supposed to create any such tasks before the reporting phase, so we + # are able to check it. + # + modules = {'dracut': [], 'kernel': []} + for task in api.consume(TargetInitramfsTasks): + modules['dracut'].extend(task.include_dracut_modules) + modules['kernel'].extend(task.include_kernel_modules) + + return modules + + +def process(): + files = _get_files() + modules = _get_modules() + + if not files and not modules['kernel'] and not modules['dracut']: + api.current_logger().debug( + 'No additional files or modules required to add into the target initramfs.') + return + + target_kernel_info = next(api.consume(InstalledTargetKernelInfo), None) + if not target_kernel_info: + raise StopActorExecutionError( + 'Cannot get version of the installed RHEL-8 kernel', + details={'Problem': 'Did not receive a message with installed RHEL-8 kernel version' + ' (InstalledTargetKernelVersion)'}) + + _copy_modules(modules['dracut'], DRACUT_DIR, 'dracut') + _copy_modules(modules['kernel'], _get_target_kernel_modules_dir(target_kernel_info.uname_r), 'kernel') + + # Discover any new modules and regenerate modules.dep + should_regenerate = any(module.module_path is not None for module in modules['kernel']) + if should_regenerate: + try: + run(['depmod', target_kernel_info.uname_r, '-a']) + except CalledProcessError as e: + raise StopActorExecutionError('Failed to generate modules.dep and map files.', details={'details': str(e)}) + + try: + # multiple files|modules need to be quoted, see --install | --add in dracut(8) + dracut_module_names = list({module.name for module in modules['dracut']}) + kernel_module_names = list({module.name for module in modules['kernel']}) + cmd = ['dracut', '-f', '--kver', target_kernel_info.uname_r] + if files: + cmd += ['--install', '{}'.format(' '.join(files))] + if modules['dracut']: + cmd += ['--add', '{}'.format(' '.join(dracut_module_names))] + if modules['kernel']: + cmd += ['--add-drivers', '{}'.format(' '.join(kernel_module_names))] + + run(cmd) + except CalledProcessError as e: + # just hypothetic check, it should not die + raise StopActorExecutionError('Cannot regenerate dracut image.', details={'details': str(e)}) diff --git a/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/tests/test_targetinitramfsgenerator.py b/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/tests/test_targetinitramfsgenerator.py new file mode 100644 index 0000000..b4c9dd8 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/targetinitramfsgenerator/tests/test_targetinitramfsgenerator.py @@ -0,0 +1,231 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import targetinitramfsgenerator +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.utils.deprecation import suppress_deprecation + +from leapp.models import ( # isort:skip + InitrdIncludes, # deprecated + DracutModule, KernelModule, InstalledTargetKernelInfo, TargetInitramfsTasks) + +FILES = ['/file1', '/file2', '/dir/subdir/subsubdir/file3', '/file4', '/file5'] +MODULES = [ + ('moduleA', None), + ('moduleB', None), + ('moduleC', '/some/path/moduleC'), + ('moduleD', '/some/path/moduleD'), +] +KERNEL_VERSION = '4.18.0' +NO_INCLUDE_MSG = 'No additional files or modules required to add into the target initramfs.' + + +def raise_call_error(args=None): + raise CalledProcessError(message='A Leapp Command Error occurred.', + command=args, + result={ + 'signal': None, + 'exit_code': 1, + 'pid': 0, + 'stdout': 'fake', + 'stderr': 'fake' + }) + + +class RunMocked(object): + + def __init__(self, raise_err=False): + self.called = 0 + self.args = [] + self.raise_err = raise_err + + def __call__(self, args): + self.called += 1 + self.args = args + if self.raise_err: + raise_call_error(args) + + +def _ensure_list(data): + return data if isinstance(data, list) else [data] + + +def gen_TIT(dracut_modules, kernel_modules, files): + files = _ensure_list(files) + + dracut_modules = [DracutModule(name=i[0], module_path=i[1]) for i in _ensure_list(dracut_modules)] + kernel_modules = [KernelModule(name=i[0], module_path=i[1]) for i in _ensure_list(kernel_modules)] + + return TargetInitramfsTasks( + include_files=files, + include_dracut_modules=dracut_modules, + include_kernel_modules=kernel_modules, + ) + + +@suppress_deprecation(InitrdIncludes) +def gen_InitrdIncludes(files): + return InitrdIncludes(files=_ensure_list(files)) + + +def test_no_includes(monkeypatch): + run_mocked = RunMocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[])) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(targetinitramfsgenerator, 'run', run_mocked) + + targetinitramfsgenerator.process() + assert NO_INCLUDE_MSG in api.current_logger.dbgmsg + assert not run_mocked.called + + +TEST_CASES = [ + [ + gen_InitrdIncludes(FILES[0:3]), + gen_InitrdIncludes(FILES[3:]), + ], + [ + gen_TIT([], [], FILES[0:3]), + gen_TIT([], [], FILES[3:]), + ], + [ + gen_InitrdIncludes(FILES[0:3]), + gen_TIT([], [], FILES[3:]), + ], +] + + +@pytest.mark.parametrize('msgs', TEST_CASES) +def test_no_kernel_version(monkeypatch, msgs): + run_mocked = RunMocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(targetinitramfsgenerator, 'run', run_mocked) + # FIXME + monkeypatch.setattr(targetinitramfsgenerator, '_copy_modules', lambda *_: None) + + with pytest.raises(StopActorExecutionError) as e: + targetinitramfsgenerator.process() + assert 'Cannot get version of the installed RHEL-8 kernel' in str(e) + assert not run_mocked.called + + +def mk_kernel_info(kernel_ver): + kernel_info = InstalledTargetKernelInfo(pkg_nevra='nevra', + kernel_img_path='vmlinuz', + uname_r=kernel_ver, + initramfs_path='initramfs') + return kernel_info + + +@pytest.mark.parametrize('msgs', TEST_CASES) +def test_dracut_fail(monkeypatch, msgs): + run_mocked = RunMocked(raise_err=True) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(msgs=msgs + [mk_kernel_info(KERNEL_VERSION)])) + monkeypatch.setattr(targetinitramfsgenerator, 'run', run_mocked) + # FIXME + monkeypatch.setattr(targetinitramfsgenerator, '_copy_modules', lambda *_: None) + + with pytest.raises(StopActorExecutionError) as e: + targetinitramfsgenerator.process() + assert 'Cannot regenerate dracut image' in str(e) + assert run_mocked.called + + +@pytest.mark.parametrize( + 'msgs,files,dracut_modules,kernel_modules', + [ + # deprecated set + ([gen_InitrdIncludes(FILES[0])], FILES[0:1], [], []), + ([gen_InitrdIncludes(FILES)], FILES, [], []), + ([gen_InitrdIncludes(FILES[0:3]), gen_InitrdIncludes(FILES[3:])], FILES, [], []), + ([gen_InitrdIncludes(FILES[0:3]), gen_InitrdIncludes(FILES)], FILES, [], []), + + # new set for files only + ([gen_TIT([], [], FILES[0])], FILES[0:1], [], []), + ([gen_TIT([], [], FILES)], FILES, [], []), + ([gen_TIT([], [], FILES[0:3]), gen_TIT([], [], FILES[3:])], FILES, [], []), + ([gen_TIT([], [], FILES[0:3]), gen_TIT([], [], FILES)], FILES, [], []), + + # deprecated and new msgs for files only + ([gen_InitrdIncludes(FILES[0:3]), gen_TIT([], [], FILES[3:])], FILES, [], []), + + # dracut modules only + ([gen_TIT(MODULES[0], [], [])], [], MODULES[0:1], []), + ([gen_TIT(MODULES, [], [])], [], MODULES, []), + ([gen_TIT(MODULES[0:3], [], []), gen_TIT(MODULES[3], [], [])], [], MODULES, []), + + # kernel modules only + ([gen_TIT([], MODULES[0], [])], [], [], MODULES[0:1]), + ([gen_TIT([], MODULES, [])], [], [], MODULES), + ([gen_TIT([], MODULES[0:3], []), gen_TIT([], MODULES[3], [])], [], [], MODULES), + + # modules only - duplicates; see notes in the library + ([gen_TIT(MODULES[0:3], [], []), gen_TIT(MODULES, [], [])], [], MODULES, []), + ([gen_TIT([], MODULES[0:3], []), gen_TIT([], MODULES, [])], [], [], MODULES), + + # modules + files (new only) + ([gen_TIT(MODULES, [], FILES)], FILES, MODULES, []), + ([gen_TIT([], MODULES, FILES)], FILES, [], MODULES), + + ([gen_TIT(MODULES[0:3], [], FILES[0:3]), gen_TIT(MODULES[3:], [], FILES[3:])], FILES, MODULES, []), + ([gen_TIT([], MODULES[0:3], FILES[0:3]), gen_TIT([], MODULES[3:], FILES[3:])], FILES, [], MODULES), + + ([gen_TIT(MODULES, [], []), gen_TIT([], [], FILES)], FILES, MODULES, []), + ([gen_TIT([], MODULES, []), gen_TIT([], [], FILES)], FILES, [], MODULES), + + # kernel + dracut modules + ( + [ + gen_TIT(MODULES[0:3], MODULES[0:3], FILES[0:3]), + gen_TIT(MODULES[3:], MODULES[3:], FILES[3:]) + ], + FILES, MODULES, MODULES + ), + + # modules + files with deprecated msgs + ([gen_TIT(MODULES, [], []), gen_InitrdIncludes(FILES)], FILES, MODULES, []), + ([gen_TIT([], MODULES, []), gen_InitrdIncludes(FILES)], FILES, [], MODULES), + + ([gen_TIT(MODULES, [], FILES[0:3]), gen_InitrdIncludes(FILES[3:])], FILES, MODULES, []), + ([gen_TIT([], MODULES, FILES[0:3]), gen_InitrdIncludes(FILES[3:])], FILES, [], MODULES), + ]) +def test_flawless(monkeypatch, msgs, files, dracut_modules, kernel_modules): + _msgs = msgs + [mk_kernel_info(KERNEL_VERSION)] + run_mocked = RunMocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=_msgs)) + monkeypatch.setattr(targetinitramfsgenerator, 'run', run_mocked) + # FIXME + monkeypatch.setattr(targetinitramfsgenerator, '_copy_modules', lambda *_: None) + + targetinitramfsgenerator.process() + assert run_mocked.called + + # check files + if files: + assert '--install' in run_mocked.args + arg = run_mocked.args[run_mocked.args.index('--install') + 1] + for f in files: + assert f in arg + else: + assert '--install' not in run_mocked.args + + # check dracut modules + if dracut_modules: + assert '--add' in run_mocked.args + arg = run_mocked.args[run_mocked.args.index('--add') + 1] + for m in dracut_modules: + assert m[0] in arg + else: + assert '--add' not in run_mocked.args + + # check kernel modules + if kernel_modules: + assert '--add-drivers' in run_mocked.args + arg = run_mocked.args[run_mocked.args.index('--add-drivers') + 1] + for m in kernel_modules: + assert m[0] in arg + else: + assert '--add-drivers' not in run_mocked.args diff --git a/repos/system_upgrade/common/actors/initramfs/tmpactor/actor.py b/repos/system_upgrade/common/actors/initramfs/tmpactor/actor.py new file mode 100644 index 0000000..35210d3 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/tmpactor/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.models import TargetInitramfsTasks +from leapp.tags import IPUWorkflowTag, TargetTransactionChecksPhaseTag + + +class TMPActorToSatisfySanityChecks(Actor): + """ + The actor does NOTHING but satisfy static sanity checks + + The actor is supposed to be removed in future once we resolve issue with + sanity tests. See https://github.com/oamg/leapp/pull/680 for more details + about the problems. + """ + + name = 'tmp_actor_to_satisfy_sanity_checks' + consumes = () + produces = (TargetInitramfsTasks,) + tags = (TargetTransactionChecksPhaseTag, IPUWorkflowTag) + + def process(self): + return diff --git a/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/actor.py b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/actor.py new file mode 100644 index 0000000..2c52e81 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/actor.py @@ -0,0 +1,44 @@ +from leapp.actors import Actor +from leapp.libraries.actor import upgradeinitramfsgenerator +from leapp.models import RequiredUpgradeInitramPackages # deprecated +from leapp.models import UpgradeDracutModule # deprecated +from leapp.models import ( + BootContent, + FIPSInfo, + TargetOSInstallationImage, + TargetUserSpaceInfo, + TargetUserSpaceUpgradeTasks, + UpgradeInitramfsTasks, + UsedTargetRepositories +) +from leapp.tags import InterimPreparationPhaseTag, IPUWorkflowTag + + +class UpgradeInitramfsGenerator(Actor): + """ + Creates the upgrade initramfs + + Creates an initram disk within a systemd-nspawn container using the target + system userspace, including new kernel. The creation of the initram disk + can be influenced with the UpgradeInitramfsTasks message (e.g. specifying + what files or dracut modules should be installed in the upgrade initramfs) + + See the UpgradeInitramfsTasks model for more details. + """ + + name = 'upgrade_initramfs_generator' + consumes = ( + FIPSInfo, + RequiredUpgradeInitramPackages, # deprecated + TargetOSInstallationImage, + TargetUserSpaceInfo, + TargetUserSpaceUpgradeTasks, + UpgradeDracutModule, # deprecated + UpgradeInitramfsTasks, + UsedTargetRepositories, + ) + produces = (BootContent,) + tags = (IPUWorkflowTag, InterimPreparationPhaseTag) + + def process(self): + upgradeinitramfsgenerator.process() diff --git a/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/files/generate-initram.sh b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/files/generate-initram.sh new file mode 100755 index 0000000..9648234 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/files/generate-initram.sh @@ -0,0 +1,119 @@ +#!/bin/bash +############################################################################### +stage() { + echo '###############################################################################' + printf "%*s\n" $(((80 - ${#1}) / 2)) "$1" + echo '###############################################################################' +} + +get_kernel_version() { + rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort --version-sort | tail --lines=1 +} + +dracut_install_modules() +{ + stage "Installing leapp dracut modules" + modir="/usr/lib/dracut/modules.d/"; + pushd /dracut || { + echo "ERROR: Failed to change directory using 'pushd /dracut'."; + exit 1; + } + find . -maxdepth 1 -type d -exec /bin/cp -fa {} $modir \; + stage "Fixing permissions on leapp dracut modules" + chown -R "root:root" "$modir"; + restorecon -r "$modir" + popd || { + echo "ERROR: Failed to change directory using 'popd'."; + exit 1; + } +} + + +# KERNEL_MODULES_ADD and DRACUT_MODULES_ADD are expected to be expanded and +# we do not want to prevent word splitting in that case. +# shellcheck disable=SC2086 +build() { + dracut_install_modules + + stage "Setting up artifacts folder" + rm -rf /artifacts + mkdir -p /artifacts + + DRACUT_CONF=${LEAPP_DRACUT_CONF:-/dev/null} + DRACUT_CONF_DIR=${LEAPP_DRACUT_CONF:-/var/empty} + + DRACUT_LVMCONF_ARG="--nolvmconf" + if [[ -n "$LEAPP_DRACUT_LVMCONF" ]]; then + DRACUT_LVMCONF_ARG="--lvmconf" + fi + DRACUT_MDADMCONF_ARG="--nomdadmconf" + if [[ -n "$LEAPP_DRACUT_MDADMCONF" ]]; then + # include local /etc/mdadm.conf + DRACUT_MDADMCONF_ARG="--mdadmconf" + fi + + KERNEL_VERSION=$LEAPP_KERNEL_VERSION + if [[ -z "$KERNEL_VERSION" ]]; then + KERNEL_VERSION=$(get_kernel_version) + fi + + KERNEL_ARCH='x86_64' + if [[ -n "$LEAPP_KERNEL_ARCH" ]]; then + KERNEL_ARCH=$LEAPP_KERNEL_ARCH + fi + + DRACUT_MODULES_ADD="" + if [[ -z "$LEAPP_ADD_DRACUT_MODULES" ]]; then + echo 'ERROR: No dracut modules to add' + exit 1; + else + DRACUT_MODULES_ADD=$(echo "--add $LEAPP_ADD_DRACUT_MODULES" | sed 's/,/ --add /g') + fi + + KERNEL_MODULES_ADD="" + if [[ -n "$LEAPP_ADD_KERNEL_MODULES" ]]; then + depmod "${KERNEL_VERSION}" -a + KERNEL_MODULES_ADD=$( + echo "--add-drivers $LEAPP_ADD_KERNEL_MODULES" | + sed 's/,/ --add-drivers /g' + ) + fi + + DRACUT_INSTALL="systemd-nspawn" + if [[ -n "$LEAPP_DRACUT_INSTALL_FILES" ]]; then + DRACUT_INSTALL="$DRACUT_INSTALL $LEAPP_DRACUT_INSTALL_FILES" + fi + + pushd /artifacts || { + echo "ERROR: Failed to change directory using 'pushd /artifacts'."; + exit 1; + } + \cp "/lib/modules/${KERNEL_VERSION}/vmlinuz" "vmlinuz-upgrade.$KERNEL_ARCH" + + # Copy out kernel HMAC so that integrity checks can be performed (performed only in FIPS mode) + \cp "/lib/modules/${KERNEL_VERSION}/.vmlinuz.hmac" ".vmlinuz-upgrade.$KERNEL_ARCH.hmac" + + stage "Building initram disk for kernel: $KERNEL_VERSION" + \dracut \ + -vvvv \ + --force \ + --conf "$DRACUT_CONF" \ + --confdir "$DRACUT_CONF_DIR" \ + --install "$DRACUT_INSTALL" \ + $DRACUT_MODULES_ADD \ + $KERNEL_MODULES_ADD \ + "$DRACUT_MDADMCONF_ARG" \ + "$DRACUT_LVMCONF_ARG" \ + --no-hostonly \ + --kver "$KERNEL_VERSION" \ + --kernel-image "vmlinuz-upgrade.$KERNEL_ARCH" \ + "initramfs-upgrade.${KERNEL_ARCH}.img" + popd || { + echo "ERROR: Failed to change directory using 'popd'."; + exit 1; + } + + stage "Building initram disk for kernel: ${KERNEL_VERSION} finished" +} + +build diff --git a/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/libraries/upgradeinitramfsgenerator.py b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/libraries/upgradeinitramfsgenerator.py new file mode 100644 index 0000000..5a686a4 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/libraries/upgradeinitramfsgenerator.py @@ -0,0 +1,402 @@ +import os +import shutil +from distutils.version import LooseVersion + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import dnfplugin, mounting +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import RequiredUpgradeInitramPackages # deprecated +from leapp.models import UpgradeDracutModule # deprecated +from leapp.models import ( + BootContent, + TargetOSInstallationImage, + TargetUserSpaceInfo, + TargetUserSpaceUpgradeTasks, + UpgradeInitramfsTasks, + UsedTargetRepositories +) +from leapp.utils.deprecation import suppress_deprecation + +INITRAM_GEN_SCRIPT_NAME = 'generate-initram.sh' +DRACUT_DIR = '/dracut' +DEDICATED_LEAPP_PART_URL = 'https://access.redhat.com/solutions/7011704' + + +def _get_target_kernel_version(context): + """ + Get the version of the most recent kernel version within the container. + """ + + kernel_version = None + try: + results = context.call(['rpm', '-qa', 'kernel-core'], split=True) + + versions = [ver.replace('kernel-core-', '') for ver in results['stdout']] + api.current_logger().debug( + 'Versions detected {versions}.' + .format(versions=versions)) + sorted_versions = sorted(versions, key=LooseVersion, reverse=True) + kernel_version = next(iter(sorted_versions), None) + except CalledProcessError: + raise StopActorExecutionError( + 'Cannot get version of the installed kernel.', + details={'Problem': 'Could not query the currently installed kernel through rmp.'}) + + if not kernel_version: + raise StopActorExecutionError( + 'Cannot get version of the installed kernel.', + details={'Problem': 'A rpm query for the available kernels did not produce any results.'}) + + return kernel_version + + +def _get_target_kernel_modules_dir(context): + """ + Return the path where the custom kernel modules should be copied. + """ + + kernel_version = _get_target_kernel_version(context) + modules_dir = os.path.join('/', 'lib', 'modules', kernel_version, 'extra', 'leapp') + + return modules_dir + + +def _reinstall_leapp_repository_hint(): + """ + Convenience function for creating a detail for StopActorExecutionError with a hint to reinstall the + leapp-repository package + """ + return { + 'hint': 'Try to reinstall the `leapp-repository` package.' + } + + +def _copy_modules(context, modules, dst_dir, kind): + """ + Copy modules of given kind to the specified destination directory. + + Attempts to remove an cleanup by removing the existing destination + directory. If the directory does not exist, it is created anew. Then, for + each module message, it checks if the module has a module path specified. If + the module already exists in the destination directory, a debug message is + logged, and the operation is skipped. Otherwise, the module is copied to the + destination directory. + + """ + + try: + context.remove_tree(dst_dir) + except EnvironmentError: + pass + + context.makedirs(dst_dir) + + for module in modules: + if not module.module_path: + continue + + dst_path = os.path.join(dst_dir, os.path.basename(module.module_path)) + if os.path.exists(context.full_path(dst_path)): + api.current_logger().debug( + 'The {name} {kind} module has been already installed. Skipping.' + .format(name=module.name, kind=kind)) + continue + + copy_fn = context.copytree_to + if os.path.isfile(module.module_path): + copy_fn = context.copy_to + + try: + api.current_logger().debug( + 'Copying {kind} module "{name}" to "{path}".' + .format(kind=kind, name=module.name, path=dst_path)) + + copy_fn(module.module_path, dst_path) + except shutil.Error as e: + api.current_logger().error( + 'Failed to copy {kind} module "{name}" from "{source}" to "{target}"'.format( + kind=kind, name=module.name, source=module.module_path, target=context.full_path(dst_dir)), + exc_info=True) + raise StopActorExecutionError( + message='Failed to install {kind} modules required in the initram. Error: {error}'.format( + kind=kind, error=str(e)) + ) + + +def copy_dracut_modules(context, modules): + """ + Copy dracut modules into the target userspace. + + If a module cannot be copied, an error message is logged, and a + StopActorExecutionError exception is raised. + """ + + _copy_modules(context, modules, DRACUT_DIR, 'dracut') + + +def copy_kernel_modules(context, modules): + """ + Copy kernel modules into the target userspace. + + If a module cannot be copied, an error message is logged, and a + StopActorExecutionError exception is raised. + """ + + dst_dir = _get_target_kernel_modules_dir(context) + _copy_modules(context, modules, dst_dir, 'kernel') + + +@suppress_deprecation(UpgradeDracutModule) +def _get_dracut_modules(): + return list(api.consume(UpgradeDracutModule)) + + +def _install_initram_deps(packages): + used_repos = api.consume(UsedTargetRepositories) + target_userspace_info = next(api.consume(TargetUserSpaceInfo), None) + + dnfplugin.install_initramdisk_requirements( + packages=packages, + target_userspace_info=target_userspace_info, + used_repos=used_repos) + + +# duplicate of _copy_files from userspacegen.py +def _copy_files(context, files): + """ + Copy the files/dirs from the host to the `context` userspace + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :param files: list of files that should be copied from the host to the context + :type files: list of CopyFile + """ + for file_task in files: + if not file_task.dst: + file_task.dst = file_task.src + if os.path.isdir(file_task.src): + context.remove_tree(file_task.dst) + context.copytree_to(file_task.src, file_task.dst) + else: + context.copy_to(file_task.src, file_task.dst) + + +# TODO(pstodulk): think about possibility to split this part to different actor +# # reasoning: the environment could be prepared automatically and actor +# # developers will be able to do additional modifications before the initrd +# # will be really generated. E.g. multipath: config files will be copied +# # and another actor can securely updated configuration before the initrd +# # will be generated. same could be from user's POV - they are not allowed to +# # modify our actors, but they could need to do additional actions inside the +# # env as well. +@suppress_deprecation(RequiredUpgradeInitramPackages) +def prepare_userspace_for_initram(context): + """ + Prepare the target userspace container to be able to generate init ramdisk + + This includes installation of rpms that are not installed yet. Copying + files from the host to container, ... So when we start the process of + the upgrade init ramdisk creation, the environment will be prepared with + all required data and utilities. + + Note: preparation of dracut modules are handled outside of this function + """ + packages = set() + files = [] + _cftuples = set() + + def _update_files(copy_files): + # add just uniq CopyFile objects to omit duplicate copying of files + for cfile in copy_files: + cftuple = (cfile.src, cfile.dst) + if cftuple not in _cftuples: + _cftuples.add(cftuple) + files.append(cfile) + + generator_script = api.get_actor_file_path(INITRAM_GEN_SCRIPT_NAME) + if not generator_script: + raise StopActorExecutionError( + message='Mandatory script to generate initram not available.', + details=_reinstall_leapp_repository_hint() + ) + context.copy_to(generator_script, os.path.join('/', INITRAM_GEN_SCRIPT_NAME)) + for msg in api.consume(TargetUserSpaceUpgradeTasks): + packages.update(msg.install_rpms) + _update_files(msg.copy_files) + for message in api.consume(RequiredUpgradeInitramPackages): + packages.update(message.packages) + # install all required rpms first, so files installed/copied later + # will not be overwritten during the dnf transaction + _install_initram_deps(packages) + _copy_files(context, files) + + +def _get_fspace(path, convert_to_mibs=False, coefficient=1): + """ + Return the free disk space on given path. + + The default is in bytes, but if convert_to_mibs is True, return MiBs instead. + + Raises OSError if nothing exists on the given `path`. + + :param path: Path to an existing file or directory + :type path: str + :param convert_to_mibs: If True, convert the value to MiBs + :type convert_to_mibs: bool + :param coefficient: Coefficient to multiply the free space (e.g. 0.9 to have it 10% lower). Max: 1 + :type coefficient: float + :rtype: int + """ + # TODO(pstodulk): discuss the function params + # NOTE(pstodulk): This func is copied from the overlaygen.py lib + # probably it would make sense to make it public in the utils.py lib, + # but for now, let's keep it private + stat = os.statvfs(path) + + coefficient = min(coefficient, 1) + fspace_bytes = int(stat.f_frsize * stat.f_bavail * coefficient) + if convert_to_mibs: + return int(fspace_bytes / 1024 / 1024) # noqa: W1619; pylint: disable=old-division + return fspace_bytes + + +def _check_free_space(context): + """ + Raise StopActorExecutionError if there is less than 500MB of free space available. + + If there is not enough free space in the context, the initramfs will not be + generated successfully and it's hard to discover what was the issue. Also + the missing space is able to kill the leapp itself - trying to write to the + leapp.db when the FS hosting /var/lib/leapp is full, kills the framework + and the actor execution too - so there is no gentle way to handle such + exceptions when it happens. From this point, let's rather check the available + space in advance and stop the execution when it happens. + + It is not expected to hit this issue, but I was successful and I know + it's still possible even with all other changes (just it's much harder + now to hit it). So adding this seatbelt, that is not 100% bulletproof, + but I call it good enough. + + Currently protecting last 500MB. In case of problems, we can increase + the value. + """ + message = 'There is not enough space on the file system hosting /var/lib/leapp.' + hint = ( + 'Increase the free space on the filesystem hosting' + ' /var/lib/leapp by 500MB at minimum (suggested 1500MB).\n\n' + 'It is also a good practice to create dedicated partition' + ' for /var/lib/leapp when more space is needed, which can be' + ' dropped after the system upgrade is fully completed.' + ' For more info, see: {}' + .format(DEDICATED_LEAPP_PART_URL) + ) + detail = ( + 'Remaining free space is lower than 500MB which is not enough to' + ' be able to generate the upgrade initramfs. ' + ) + + if _get_fspace(context.base_dir, convert_to_mibs=True) < 500: + raise StopActorExecutionError( + message=message, + details={'hint': hint, 'detail': detail} + ) + + +def generate_initram_disk(context): + """ + Function to actually execute the init ramdisk creation. + + Includes handling of specified dracut and kernel modules from the host when + needed. The check for the 'conflicting' modules is in a separate actor. + """ + _check_free_space(context) + env = {} + if get_target_major_version() == '9': + env = {'SYSTEMD_SECCOMP': '0'} + + # TODO(pstodulk): Add possibility to add particular drivers + # Issue #645 + modules = { + 'dracut': _get_dracut_modules(), # deprecated + 'kernel': [], + } + files = set() + for task in api.consume(UpgradeInitramfsTasks): + modules['dracut'].extend(task.include_dracut_modules) + modules['kernel'].extend(task.include_kernel_modules) + files.update(task.include_files) + + copy_dracut_modules(context, modules['dracut']) + copy_kernel_modules(context, modules['kernel']) + + # FIXME: issue #376 + context.call([ + '/bin/sh', '-c', + 'LEAPP_KERNEL_VERSION={kernel_version} ' + 'LEAPP_ADD_DRACUT_MODULES="{dracut_modules}" LEAPP_KERNEL_ARCH={arch} ' + 'LEAPP_ADD_KERNEL_MODULES="{kernel_modules}" ' + 'LEAPP_DRACUT_INSTALL_FILES="{files}" {cmd}'.format( + kernel_version=_get_target_kernel_version(context), + dracut_modules=','.join([mod.name for mod in modules['dracut']]), + kernel_modules=','.join([mod.name for mod in modules['kernel']]), + arch=api.current_actor().configuration.architecture, + files=' '.join(files), + cmd=os.path.join('/', INITRAM_GEN_SCRIPT_NAME)) + ], env=env) + + copy_boot_files(context) + + +def create_upgrade_hmac_from_target_hmac(original_hmac_path, upgrade_hmac_path, upgrade_kernel): + # Rename the kernel name stored in the HMAC file as the upgrade kernel is named differently and the HMAC file + # refers to the real target kernel + with open(original_hmac_path) as original_hmac_file: + hmac_file_lines = [line for line in original_hmac_file.read().split('\n') if line] + if len(hmac_file_lines) > 1: + details = ('Expected the target kernel HMAC file to containing only one HMAC line, ' + 'found {0}'.format(len(hmac_file_lines))) + raise StopActorExecutionError('Failed to prepare HMAC file for upgrade kernel.', + details={'details': details}) + + # Keep only non-empty strings after splitting on space + hmac, dummy_target_kernel_name = [fragment for fragment in hmac_file_lines[0].split(' ') if fragment] + + with open(upgrade_hmac_path, 'w') as upgrade_kernel_hmac_file: + upgrade_kernel_hmac_file.write('{hmac} {kernel}\n'.format(hmac=hmac, kernel=upgrade_kernel)) + + +def copy_boot_files(context): + """ + Function to copy the generated initram and corresponding kernel to /boot - Additionally produces a BootContent + message with their location. + """ + curr_arch = api.current_actor().configuration.architecture + kernel = 'vmlinuz-upgrade.{}'.format(curr_arch) + initram = 'initramfs-upgrade.{}.img'.format(curr_arch) + + kernel_hmac = '.{0}.hmac'.format(kernel) + kernel_hmac_path = os.path.join('/boot', kernel_hmac) + + content = BootContent( + kernel_path=os.path.join('/boot', kernel), + initram_path=os.path.join('/boot', initram), + kernel_hmac_path=kernel_hmac_path + ) + + context.copy_from(os.path.join('/artifacts', kernel), content.kernel_path) + context.copy_from(os.path.join('/artifacts', initram), content.initram_path) + + kernel_hmac_path = context.full_path(os.path.join('/artifacts', kernel_hmac)) + create_upgrade_hmac_from_target_hmac(kernel_hmac_path, content.kernel_hmac_path, kernel) + + api.produce(content) + + +def process(): + userspace_info = next(api.consume(TargetUserSpaceInfo), None) + target_iso = next(api.consume(TargetOSInstallationImage), None) + with mounting.NspawnActions(base_dir=userspace_info.path) as context: + with mounting.mount_upgrade_iso_to_root_dir(userspace_info.path, target_iso): + prepare_userspace_for_initram(context) + generate_initram_disk(context) diff --git a/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/tests/unit_test_upgradeinitramfsgenerator.py b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/tests/unit_test_upgradeinitramfsgenerator.py new file mode 100644 index 0000000..8068e17 --- /dev/null +++ b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/tests/unit_test_upgradeinitramfsgenerator.py @@ -0,0 +1,404 @@ +import os +import shutil + +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import upgradeinitramfsgenerator +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked, produce_mocked +from leapp.utils.deprecation import suppress_deprecation + +from leapp.models import ( # isort:skip + FIPSInfo, + RequiredUpgradeInitramPackages, # deprecated + UpgradeDracutModule, # deprecated + BootContent, + CopyFile, + DracutModule, + KernelModule, + TargetUserSpaceUpgradeTasks, + UpgradeInitramfsTasks, +) + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) +PKGS = ['pkg{}'.format(c) for c in 'ABCDEFGHIJ'] +FILES = [ + CopyFile(src='/host/srcfile{}'.format(i), dst='/cont/dstfile{}'.format(i)) + for i in range(5) +] +MODULES = [ + ('moduleA', None), + ('moduleB', None), + ('moduleC', '/some/path/moduleC'), + ('moduleD', '/some/path/moduleD'), +] + + +@pytest.fixture +def adjust_cwd(): + previous_cwd = os.getcwd() + os.chdir(os.path.join(CUR_DIR, "../")) + yield + os.chdir(previous_cwd) + + +def _ensure_list(data): + return data if isinstance(data, list) else [data] + + +def gen_TUSU(packages, copy_files=None): + packages = _ensure_list(packages) + + if not copy_files: + copy_files = [] + copy_files = _ensure_list(copy_files) + + return TargetUserSpaceUpgradeTasks(install_rpms=packages, copy_files=copy_files) + + +@suppress_deprecation(RequiredUpgradeInitramPackages) +def gen_RUIP(packages): + packages = _ensure_list(packages) + return RequiredUpgradeInitramPackages(packages=packages) + + +def gen_UIT(dracut_modules, kernel_modules, files): + files = _ensure_list(files) + + dracut_modules = [DracutModule(name=i[0], module_path=i[1]) for i in _ensure_list(dracut_modules)] + kernel_modules = [KernelModule(name=i[0], module_path=i[1]) for i in _ensure_list(kernel_modules)] + + return UpgradeInitramfsTasks(include_files=files, + include_dracut_modules=dracut_modules, + include_kernel_modules=kernel_modules, + ) + + +@suppress_deprecation(UpgradeDracutModule) +def gen_UDM_list(data): + if not isinstance(data, list): + data = [data] + return [UpgradeDracutModule(name=i[0], module_path=i[1]) for i in data] + + +class MockedContext(object): + def __init__(self): + self.called_copy_from = [] + self.called_copytree_from = [] + self.called_copy_to = [] + self.called_call = [] + self.called_makedirs = [] + self.content = set() + self.base_dir = "/base/dir" + """ + Content (paths) that should exists regarding the used methods. + + It's not 100% same. Just dst paths are copied here. Ignoring differences + between copy to /path/to/filename and /path/to/dirname which in real + world could be different. For our purposes it's ok as it is now. + + Point is, that in case of use context.remove_tree(), we are able to + detect whether something what is expected to be present is not missing. + """ + + def copy_from(self, src, dst): + self.called_copy_from.append((src, dst)) + + def copytree_from(self, src, dst): + self.called_copytree_from.append((src, dst)) + + def copy_to(self, src, dst): + self.called_copy_to.append((src, dst)) + self.content.add(dst) + + def copytree_to(self, src, dst): + self.called_copy_to.append((src, dst)) + self.content.add(dst) + + def makedirs(self, path): + self.called_makedirs.append(path) + + def remove_tree(self, path): + # make list for iteration as change of the set is expected during the + # iteration, which could lead to runtime error + for item in list(self.content): + # ensure the / is the last character to simulate dirname + dir_fmt_path = path if path[-1] == '/' else path + '/' + if item == path or item.startswith(dir_fmt_path): + # remove the file or everything inside dir (including dir) + self.content.remove(item) + + def call(self, *args, **kwargs): + self.called_call.append((args, kwargs)) + + def full_path(self, path): + return os.path.join(self.base_dir, os.path.abspath(path).lstrip('/')) + + +class MockedLogger(logger_mocked): + + def error(self, *args, **dummy): + self.errmsg.extend(args) + + +@pytest.mark.parametrize('arch', architecture.ARCH_SUPPORTED) +def test_copy_boot_files(monkeypatch, arch): + kernel = 'vmlinuz-upgrade.{}'.format(arch) + kernel_hmac = '.vmlinuz-upgrade.{}.hmac'.format(arch) + initram = 'initramfs-upgrade.{}.img'.format(arch) + bootc = BootContent( + kernel_path=os.path.join('/boot', kernel), + kernel_hmac_path=os.path.join('/boot', kernel_hmac), + initram_path=os.path.join('/boot', initram) + ) + + context = MockedContext() + monkeypatch.setattr(upgradeinitramfsgenerator.api, 'current_actor', CurrentActorMocked(arch=arch)) + monkeypatch.setattr(upgradeinitramfsgenerator.api, 'produce', produce_mocked()) + + def create_upgrade_hmac_from_target_hmac_mock(original_hmac_path, upgrade_hmac_path, upgrade_kernel): + hmac_file = '.{}.hmac'.format(upgrade_kernel) + assert original_hmac_path == os.path.join(context.full_path('/artifacts'), hmac_file) + assert upgrade_hmac_path == bootc.kernel_hmac_path + + monkeypatch.setattr(upgradeinitramfsgenerator, + 'create_upgrade_hmac_from_target_hmac', + create_upgrade_hmac_from_target_hmac_mock) + + upgradeinitramfsgenerator.copy_boot_files(context) + assert len(context.called_copy_from) == 2 + assert (os.path.join('/artifacts', kernel), bootc.kernel_path) in context.called_copy_from + assert (os.path.join('/artifacts', initram), bootc.initram_path) in context.called_copy_from + + assert upgradeinitramfsgenerator.api.produce.called == 1 + assert upgradeinitramfsgenerator.api.produce.model_instances[0] == bootc + + +class MockedCopyArgs(object): + def __init__(self): + self.args = None + + def __call__(self, *args): + self.args = args + + +def _sort_files(copy_files): + return sorted(copy_files, key=lambda x: (x.src, x.dst)) + + +def test_prepare_userspace_for_initram_no_script(monkeypatch): + monkeypatch.setattr(upgradeinitramfsgenerator.api, 'get_actor_file_path', lambda dummy: None) + with pytest.raises(StopActorExecutionError) as err: + upgradeinitramfsgenerator.prepare_userspace_for_initram(MockedContext()) + assert err.value.message == 'Mandatory script to generate initram not available.' + + +@pytest.mark.parametrize('input_msgs,pkgs,files', [ + # deprecated packages only, without files -- original functionality + ([gen_RUIP([])], [], []), + ([gen_RUIP(PKGS[0])], PKGS[0], []), + ([gen_RUIP(PKGS)], PKGS, []), + + # packages only, without files -- new analogy to previous functionality + ([gen_TUSU([])], [], []), + ([gen_TUSU(PKGS[0])], PKGS[0], []), + ([gen_TUSU(PKGS)], PKGS, []), + + # packages only, mix of deprecated and new models - same sets + ([gen_RUIP([]), gen_TUSU([])], [], []), + ([gen_RUIP(PKGS[0]), gen_TUSU(PKGS[0])], PKGS[0], []), + ([gen_RUIP(PKGS), gen_TUSU(PKGS)], PKGS, []), + + # packages only, mix of deprecated and new models - disjoint sets + ([gen_RUIP(PKGS[0]), gen_TUSU(PKGS[1])], PKGS[0:2], []), + ([gen_RUIP([]), gen_TUSU(PKGS)], PKGS, []), + ([gen_RUIP(PKGS), gen_TUSU([])], PKGS, []), + ([gen_RUIP(PKGS[0:5]), gen_TUSU(PKGS[5:])], PKGS, []), + + # packages only, mix of deprecated and new models - mixed + ([gen_RUIP(PKGS[0:7]), gen_TUSU(PKGS[5:])], PKGS, []), + + # files only + ([gen_TUSU([], FILES[0])], [], FILES[0]), + ([gen_TUSU([], FILES)], [], FILES), + + # packages and files + ([gen_RUIP(PKGS[0]), gen_TUSU(PKGS[1], FILES)], PKGS[0:2], FILES), + ([gen_RUIP(PKGS[0:7]), gen_TUSU(PKGS[5:], FILES)], PKGS, FILES), +]) +def test_prepare_userspace_for_initram(monkeypatch, adjust_cwd, input_msgs, pkgs, files): + monkeypatch.setattr(upgradeinitramfsgenerator.api, 'current_actor', CurrentActorMocked(msgs=input_msgs)) + monkeypatch.setattr(upgradeinitramfsgenerator, '_install_initram_deps', MockedCopyArgs()) + monkeypatch.setattr(upgradeinitramfsgenerator, '_copy_files', MockedCopyArgs()) + + context = MockedContext() + upgradeinitramfsgenerator.prepare_userspace_for_initram(context) + + # check the upgradeinitramfsgenerator script is copied into the container + initram_copy = ( + upgradeinitramfsgenerator.api.get_actor_file_path(upgradeinitramfsgenerator.INITRAM_GEN_SCRIPT_NAME), + os.path.join('/', upgradeinitramfsgenerator.INITRAM_GEN_SCRIPT_NAME) + ) + assert initram_copy in context.called_copy_to + + # check the set of packages required to be installed matches expectations + _pkgs = set(pkgs) if isinstance(pkgs, list) else set([pkgs]) + assert upgradeinitramfsgenerator._install_initram_deps.args[0] == _pkgs + + # check the set of files to be copied into the container matches exp + _files = _sort_files(files) if isinstance(files, list) else [files] + assert _sort_files(upgradeinitramfsgenerator._copy_files.args[1]) == _files + + +class MockedGetFspace(object): + def __init__(self, space): + self.space = space + + def __call__(self, dummy_path, convert_to_mibs=False): + if not convert_to_mibs: + return self.space + return int(self.space / 1024 / 1024) # noqa: W1619; pylint: disable=old-division + + +@pytest.mark.parametrize('input_msgs,dracut_modules,kernel_modules', [ + # test dracut modules with UpgradeDracutModule(s) - orig functionality + (gen_UDM_list(MODULES[0]), MODULES[0], []), + (gen_UDM_list(MODULES), MODULES, []), + + # test dracut modules with UpgradeInitramfsTasks - new functionality + ([gen_UIT(MODULES[0], MODULES[0], [])], MODULES[0], MODULES[0]), + ([gen_UIT(MODULES, MODULES, [])], MODULES, MODULES), + + # test dracut modules with old and new models + (gen_UDM_list(MODULES[1]) + [gen_UIT(MODULES[2], [], [])], MODULES[1:3], []), + (gen_UDM_list(MODULES[2:]) + [gen_UIT(MODULES[0:2], [], [])], MODULES, []), + (gen_UDM_list(MODULES[1]) + [gen_UIT([], MODULES[2], [])], MODULES[1], MODULES[2]), + (gen_UDM_list(MODULES[2:]) + [gen_UIT([], MODULES[0:2], [])], MODULES[2:], MODULES[0:2]), + + # TODO(pstodulk): test include files missing (relates #376) +]) +def test_generate_initram_disk(monkeypatch, input_msgs, dracut_modules, kernel_modules): + context = MockedContext() + curr_actor = CurrentActorMocked(msgs=input_msgs, arch=architecture.ARCH_X86_64) + monkeypatch.setattr(upgradeinitramfsgenerator.api, 'current_actor', curr_actor) + monkeypatch.setattr(upgradeinitramfsgenerator, 'copy_dracut_modules', MockedCopyArgs()) + monkeypatch.setattr(upgradeinitramfsgenerator, '_get_target_kernel_version', lambda _: '') + monkeypatch.setattr(upgradeinitramfsgenerator, 'copy_kernel_modules', MockedCopyArgs()) + monkeypatch.setattr(upgradeinitramfsgenerator, 'copy_boot_files', lambda dummy: None) + monkeypatch.setattr(upgradeinitramfsgenerator, '_get_fspace', MockedGetFspace(2*2**30)) + upgradeinitramfsgenerator.generate_initram_disk(context) + + # TODO(pstodulk): add tests for the check of the free space (sep. from this func) + + # test now just that all modules have been passed for copying - so we know + # all modules have been consumed + detected_dracut_modules = set() + _dracut_modules = set(dracut_modules) if isinstance(dracut_modules, list) else set([dracut_modules]) + for dracut_module in upgradeinitramfsgenerator.copy_dracut_modules.args[1]: + module = (dracut_module.name, dracut_module.module_path) + assert module in _dracut_modules + detected_dracut_modules.add(module) + assert detected_dracut_modules == _dracut_modules + + detected_kernel_modules = set() + _kernel_modules = set(kernel_modules) if isinstance(kernel_modules, list) else set([kernel_modules]) + for kernel_module in upgradeinitramfsgenerator.copy_kernel_modules.args[1]: + module = (kernel_module.name, kernel_module.module_path) + assert module in _kernel_modules + detected_kernel_modules.add(module) + assert detected_kernel_modules == _kernel_modules + + # TODO(pstodulk): this test is not created properly, as context.call check + # is skipped completely. Testing will more convenient with fixed #376 + # similar to the files... + + +def test_copy_dracut_modules_rmtree_ignore(monkeypatch): + context = MockedContext() + + def raise_env_error(dummy): + raise EnvironmentError('an error') + + def mock_context_path_exists(path): + full_path_content = {context.full_path(i) for i in context.content} + return full_path_content.intersection(set([path, path + '/'])) != set() + + monkeypatch.setattr(os.path, 'exists', mock_context_path_exists) + dmodules = [DracutModule(name='foo', module_path='/path/foo')] + upgradeinitramfsgenerator.copy_dracut_modules(context, dmodules) + assert context.content + + # env error should be ignored in this case + context.content = set() + context.remove_tree = raise_env_error + upgradeinitramfsgenerator.copy_dracut_modules(context, dmodules) + assert context.content + + +@pytest.mark.parametrize('kind', ['dracut', 'kernel']) +def test_copy_modules_fail(monkeypatch, kind): + context = MockedContext() + + def copytree_to_error(src, dst): + raise shutil.Error('myerror: {}, {}'.format(src, dst)) + + def mock_context_path_exists(path): + full_path_content = {context.full_path(i) for i in context.content} + return full_path_content.intersection(set([path, path + '/'])) != set() + + context.copytree_to = copytree_to_error + monkeypatch.setattr(os.path, 'exists', mock_context_path_exists) + monkeypatch.setattr(upgradeinitramfsgenerator.api, 'current_logger', MockedLogger()) + monkeypatch.setattr(upgradeinitramfsgenerator, '_get_target_kernel_modules_dir', lambda _: '/kernel_modules') + + module_class = None + copy_fn = None + if kind == 'dracut': + module_class = DracutModule + copy_fn = upgradeinitramfsgenerator.copy_dracut_modules + dst_path = 'dracut' + elif kind == 'kernel': + module_class = KernelModule + copy_fn = upgradeinitramfsgenerator.copy_kernel_modules + dst_path = 'kernel_modules' + + modules = [module_class(name='foo', module_path='/path/foo')] + with pytest.raises(StopActorExecutionError) as err: + copy_fn(context, modules) + assert err.value.message.startswith('Failed to install {kind} modules'.format(kind=kind)) + expected_err_log = 'Failed to copy {kind} module "foo" from "/path/foo" to "/base/dir/{dst_path}"'.format( + kind=kind, dst_path=dst_path) + assert expected_err_log in upgradeinitramfsgenerator.api.current_logger.errmsg + + +@pytest.mark.parametrize('kind', ['dracut', 'kernel']) +def test_copy_modules_duplicate_skip(monkeypatch, kind): + context = MockedContext() + + def mock_context_path_exists(path): + full_path_content = {context.full_path(i) for i in context.content} + return full_path_content.intersection(set([path, path + '/'])) != set() + + monkeypatch.setattr(os.path, 'exists', mock_context_path_exists) + monkeypatch.setattr(upgradeinitramfsgenerator.api, 'current_logger', MockedLogger()) + monkeypatch.setattr(upgradeinitramfsgenerator, '_get_target_kernel_modules_dir', lambda _: '/kernel_modules') + + module_class = None + copy_fn = None + if kind == 'dracut': + module_class = DracutModule + copy_fn = upgradeinitramfsgenerator.copy_dracut_modules + elif kind == 'kernel': + module_class = KernelModule + copy_fn = upgradeinitramfsgenerator.copy_kernel_modules + + module = module_class(name='foo', module_path='/path/foo') + modules = [module, module] + + copy_fn(context, modules) + + debugmsg = 'The foo {kind} module has been already installed. Skipping.'.format(kind=kind) + assert context.content + assert len(context.called_copy_to) == 1 + assert debugmsg in upgradeinitramfsgenerator.api.current_logger.dbgmsg diff --git a/repos/system_upgrade/common/actors/insightsautoregister/actor.py b/repos/system_upgrade/common/actors/insightsautoregister/actor.py new file mode 100644 index 0000000..a81b434 --- /dev/null +++ b/repos/system_upgrade/common/actors/insightsautoregister/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor import insightsautoregister +from leapp.models import InstalledRPM +from leapp.reporting import Report +from leapp.tags import FirstBootPhaseTag, IPUWorkflowTag + + +class InsightsAutoregister(Actor): + """ + Automatically registers system into Red Hat Insights + + The registration is skipped if NO_INSIGHTS_REGISTER=1 environment variable + is set, the --no-insights-register command line argument present or the + system isn't registered with subscription-manager. + """ + + name = 'insights_auto_register' + consumes = (InstalledRPM,) + produces = (Report,) + tags = (FirstBootPhaseTag, IPUWorkflowTag) + + def process(self): + insightsautoregister.process() diff --git a/repos/system_upgrade/common/actors/insightsautoregister/libraries/insightsautoregister.py b/repos/system_upgrade/common/actors/insightsautoregister/libraries/insightsautoregister.py new file mode 100644 index 0000000..2134a8b --- /dev/null +++ b/repos/system_upgrade/common/actors/insightsautoregister/libraries/insightsautoregister.py @@ -0,0 +1,25 @@ +from leapp.libraries.common import rhsm +from leapp.libraries.common.config import get_env +from leapp.libraries.stdlib import api, CalledProcessError, run + + +def _insights_register(): + try: + run(['insights-client', '--register']) + api.current_logger().info('Automatically registered into Red Hat Insights') + except (CalledProcessError) as err: + # TODO(mmatuska) produce post-upgrade report? + api.current_logger().error( + 'Automatic registration into Red Hat Insights failed: {}'.format(err) + ) + + +def process(): + if rhsm.skip_rhsm() or get_env('LEAPP_NO_INSIGHTS_REGISTER', '0') == '1': + api.current_logger().debug( + 'Skipping registration into Insights due to --no-insights-register' + ' or LEAPP_NO_INSIGHTS_REGISTER=1 set' + ) + return + + _insights_register() diff --git a/repos/system_upgrade/common/actors/insightsautoregister/tests/test_insightsautoregister.py b/repos/system_upgrade/common/actors/insightsautoregister/tests/test_insightsautoregister.py new file mode 100644 index 0000000..0a03945 --- /dev/null +++ b/repos/system_upgrade/common/actors/insightsautoregister/tests/test_insightsautoregister.py @@ -0,0 +1,73 @@ +import pytest + +from leapp.libraries.actor import insightsautoregister +from leapp.libraries.common import rhsm +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError + + +@pytest.mark.parametrize( + ('skip_rhsm', 'no_register', 'should_register'), + [ + (False, False, True), + (False, True, False), + (True, False, False), + (True, True, False), + ] +) +def test_should_register(monkeypatch, skip_rhsm, no_register, should_register): + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: skip_rhsm) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + envars={'LEAPP_NO_INSIGHTS_REGISTER': '1' if no_register else '0'} + )) + + called = [] + + def _insights_register_mocked(): + called.append(True) + + monkeypatch.setattr( + insightsautoregister, + '_insights_register', + _insights_register_mocked + ) + + insightsautoregister.process() + + assert len(called) == should_register + + +def test_insights_register_success_logged(monkeypatch): + + def run_mocked(cmd, **kwargs): + return { + 'stdout': 'Successfully registered into Insights', + 'stderr': '', + 'exit_code': 0 + } + + monkeypatch.setattr(insightsautoregister, 'run', run_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + insightsautoregister._insights_register() + + assert api.current_logger.infomsg + assert not api.current_logger.errmsg + + +def test_insights_register_failure_logged(monkeypatch): + + def run_mocked(cmd, **kwargs): + raise CalledProcessError( + message='A Leapp Command Error occurred.', + command=cmd, + result={'signal': None, 'exit_code': 1, 'pid': 0, 'stdout': 'fake', 'stderr': 'fake'} + ) + + monkeypatch.setattr(insightsautoregister, 'run', run_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + insightsautoregister._insights_register() + + assert not api.current_logger.infomsg + assert api.current_logger.errmsg diff --git a/repos/system_upgrade/common/actors/ipascanner/actor.py b/repos/system_upgrade/common/actors/ipascanner/actor.py new file mode 100644 index 0000000..483b9f2 --- /dev/null +++ b/repos/system_upgrade/common/actors/ipascanner/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor.ipascanner import is_ipa_client_configured, is_ipa_server_configured +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM, IpaInfo +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class IpaScanner(Actor): + """ + Scan system for ipa-client and ipa-server status + """ + + name = "ipa_scanner" + consumes = (InstalledRedHatSignedRPM,) + produces = (IpaInfo,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + ipainfo = IpaInfo( + has_client_package=has_package( + InstalledRedHatSignedRPM, "ipa-client" + ), + is_client_configured=is_ipa_client_configured(), + has_server_package=has_package( + InstalledRedHatSignedRPM, "ipa-server" + ), + is_server_configured=is_ipa_server_configured(), + ) + self.produce(ipainfo) diff --git a/repos/system_upgrade/common/actors/ipascanner/libraries/ipascanner.py b/repos/system_upgrade/common/actors/ipascanner/libraries/ipascanner.py new file mode 100644 index 0000000..7bd4d7c --- /dev/null +++ b/repos/system_upgrade/common/actors/ipascanner/libraries/ipascanner.py @@ -0,0 +1,31 @@ +import os + + +def is_ipa_client_configured(): + """ + Check if ipa-client is configured on the system + + :return: True if client is configured + :rtype: bool + """ + return all( + ( + os.path.isfile("/etc/ipa/default.conf"), + os.path.isfile("/var/lib/ipa-client/sysrestore/sysrestore.state"), + ) + ) + + +def is_ipa_server_configured(): + """ + Check if ipa-server is configured on the system + + :return: True if server is configured + :rtype: bool + """ + return all( + ( + is_ipa_client_configured(), + os.path.isfile("/var/lib/ipa/sysrestore/sysrestore.state"), + ) + ) diff --git a/repos/system_upgrade/common/actors/ipascanner/tests/test_ipascanner.py b/repos/system_upgrade/common/actors/ipascanner/tests/test_ipascanner.py new file mode 100644 index 0000000..d9933a8 --- /dev/null +++ b/repos/system_upgrade/common/actors/ipascanner/tests/test_ipascanner.py @@ -0,0 +1,93 @@ +import os + +from leapp.models import InstalledRedHatSignedRPM, IpaInfo, RPM +from leapp.snactor.fixture import current_actor_context + +DEFAULT_CONF = "/etc/ipa/default.conf" +CLIENT_STATE = "/var/lib/ipa-client/sysrestore/sysrestore.state" +SERVER_STATE = "/var/lib/ipa/sysrestore/sysrestore.state" + + +def mock_rpm(name): + return RPM( + name=name, + epoch="0", + packager="Red Hat Inc.", + version="4.6.0", + release="1.el7", + arch="x86_64", + pgpsig="dummy", + ) + + +def mock_rpms(*names): + return InstalledRedHatSignedRPM(items=[mock_rpm(name) for name in names]) + + +def mock_os_path_isfile(overrides): + def mocked_os_path_isfile(name): + if name in overrides: + return overrides[name] + raise ValueError + + return mocked_os_path_isfile + + +def assert_ipa_info(infos, client, server): + assert len(infos) == 1 + + info = infos[0] + assert info.has_client_package == client + assert info.is_client_configured == client + assert info.has_server_package == server + assert info.is_server_configured == server + + +def test_client_configured(monkeypatch, current_actor_context): + monkeypatch.setattr( + "os.path.isfile", + mock_os_path_isfile( + {DEFAULT_CONF: True, CLIENT_STATE: True, SERVER_STATE: False} + ), + ) + + rpms = mock_rpms("ipa-client") + current_actor_context.feed(rpms) + + current_actor_context.run() + + infos = current_actor_context.consume(IpaInfo) + assert_ipa_info(infos, True, False) + + +def test_server_configured(monkeypatch, current_actor_context): + monkeypatch.setattr( + "os.path.isfile", + mock_os_path_isfile( + {DEFAULT_CONF: True, CLIENT_STATE: True, SERVER_STATE: True} + ), + ) + + rpms = mock_rpms("ipa-client", "ipa-server") + current_actor_context.feed(rpms) + + current_actor_context.run() + + infos = current_actor_context.consume(IpaInfo) + assert_ipa_info(infos, True, True) + + +def test_not_configured(monkeypatch, current_actor_context): + monkeypatch.setattr( + "os.path.isfile", + mock_os_path_isfile( + {DEFAULT_CONF: True, CLIENT_STATE: False, SERVER_STATE: False} + ), + ) + + rpms = mock_rpms() + current_actor_context.feed(rpms) + current_actor_context.run() + + infos = current_actor_context.consume(IpaInfo) + assert_ipa_info(infos, False, False) diff --git a/repos/system_upgrade/common/actors/ipuworkflowconfig/actor.py b/repos/system_upgrade/common/actors/ipuworkflowconfig/actor.py new file mode 100644 index 0000000..a28b9a4 --- /dev/null +++ b/repos/system_upgrade/common/actors/ipuworkflowconfig/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor import ipuworkflowconfig +from leapp.models import IPUConfig +from leapp.reporting import Report +from leapp.tags import IPUWorkflowTag + + +class IPUWorkflowConfig(Actor): + """ + IPU workflow config actor + """ + + name = 'ipu_workflow_config' + consumes = () + produces = (IPUConfig, Report) + tags = (IPUWorkflowTag,) + + def process(self): + ipuworkflowconfig.produce_ipu_config(self) diff --git a/repos/system_upgrade/common/actors/ipuworkflowconfig/libraries/ipuworkflowconfig.py b/repos/system_upgrade/common/actors/ipuworkflowconfig/libraries/ipuworkflowconfig.py new file mode 100644 index 0000000..9e213f6 --- /dev/null +++ b/repos/system_upgrade/common/actors/ipuworkflowconfig/libraries/ipuworkflowconfig.py @@ -0,0 +1,82 @@ +import os +import platform + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import CalledProcessError, run +from leapp.models import EnvVar, IPUConfig, OSRelease, Version + +ENV_IGNORE = ('LEAPP_CURRENT_PHASE', 'LEAPP_CURRENT_ACTOR', 'LEAPP_VERBOSE', + 'LEAPP_DEBUG') + +ENV_MAPPING = {'LEAPP_DEVEL_DM_DISABLE_UDEV': 'DM_DISABLE_UDEV'} + + +def get_env_vars(): + """ + Gather LEAPP_DEVEL environment variables and respective mappings to provide them as messages to be + available after reboot. + """ + env_vars = [] + leapp_vars = {k: v for (k, v) in os.environ.items() if k.startswith('LEAPP_') and k not in ENV_IGNORE} + for k, v in leapp_vars.items(): + if k in ENV_MAPPING: + env_vars.append(EnvVar(name=ENV_MAPPING.get(k), value=v)) + continue + env_vars.append(EnvVar(name=k, value=v)) + + return env_vars + + +def get_booted_kernel(): + """ + Get version and release of the currently used kernel in one string. + """ + try: + return run(['/usr/bin/uname', '-r'])['stdout'].strip() + except CalledProcessError as e: + raise StopActorExecutionError( + message='Unable to obtain release of the booted kernel.', + details={'details': str(e), 'stderr': e.stderr} + ) + + +def get_os_release(path): + """ + Retrieve data about System OS release from provided file. + + :return: `OSRelease` model if the file can be parsed + :raises: `IOError` + """ + try: + with open(path) as f: + data = dict(l.strip().split('=', 1) for l in f.readlines() if '=' in l) + return OSRelease( + release_id=data.get('ID', '').strip('"'), + name=data.get('NAME', '').strip('"'), + pretty_name=data.get('PRETTY_NAME', '').strip('"'), + version=data.get('VERSION', '').strip('"'), + version_id=data.get('VERSION_ID', '').strip('"'), + variant=data.get('VARIANT', '').strip('"') or None, + variant_id=data.get('VARIANT_ID', '').strip('"') or None + ) + except IOError as e: + raise StopActorExecutionError(message='Cannot collect the system OS facts.', + details={'details': str(e)}) + + +def produce_ipu_config(actor): + flavour = os.environ.get('LEAPP_UPGRADE_PATH_FLAVOUR') + target_version = os.environ.get('LEAPP_UPGRADE_PATH_TARGET_RELEASE') + os_release = get_os_release('/etc/os-release') + + actor.produce(IPUConfig( + leapp_env_vars=get_env_vars(), + os_release=os_release, + architecture=platform.machine(), + version=Version( + source=os_release.version_id, + target=target_version + ), + kernel=get_booted_kernel(), + flavour=flavour + )) diff --git a/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/files/os-release b/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/files/os-release new file mode 100644 index 0000000..f2aea04 --- /dev/null +++ b/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/files/os-release @@ -0,0 +1,17 @@ +NAME="Red Hat Enterprise Linux Server" +VERSION="7.6 (Maipo)" +ID="rhel" +ID_LIKE="fedora" +VARIANT="Server" +VARIANT_ID="server" +VERSION_ID="7.6" +PRETTY_NAME="Red Hat Enterprise Linux" +ANSI_COLOR="0;31" +CPE_NAME="cpe:/o:redhat:enterprise_linux:7.6:GA:server" +HOME_URL="https://www.redhat.com/" +BUG_REPORT_URL="https://bugzilla.redhat.com/" + +REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7" +REDHAT_BUGZILLA_PRODUCT_VERSION=7.6 +REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" +REDHAT_SUPPORT_PRODUCT_VERSION="7.6" diff --git a/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/files/os-release-8beta b/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/files/os-release-8beta new file mode 100644 index 0000000..6d3d762 --- /dev/null +++ b/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/files/os-release-8beta @@ -0,0 +1,17 @@ +NAME="Red Hat Enterprise Linux" +VERSION="8.5 (Ootpa)" +ID="rhel" +ID_LIKE="fedora" +VERSION_ID="8.5" +PLATFORM_ID="platform:el8" +PRETTY_NAME="Red Hat Enterprise Linux 8.5 Beta (Ootpa)" +ANSI_COLOR="0;31" +CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos" +HOME_URL="https://www.redhat.com/" +DOCUMENTATION_URL="https://access.redhat.com/documentation/red_hat_enterprise_linux/8/" +BUG_REPORT_URL="https://bugzilla.redhat.com/" + +REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8" +REDHAT_BUGZILLA_PRODUCT_VERSION=8.5 +REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" +REDHAT_SUPPORT_PRODUCT_VERSION="8.5 Beta" diff --git a/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/test_ipuworkflowconfig.py b/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/test_ipuworkflowconfig.py new file mode 100644 index 0000000..a5e4d03 --- /dev/null +++ b/repos/system_upgrade/common/actors/ipuworkflowconfig/tests/test_ipuworkflowconfig.py @@ -0,0 +1,72 @@ +import json +import os +import tempfile + +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import ipuworkflowconfig +from leapp.libraries.stdlib import CalledProcessError +from leapp.models import OSRelease + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def _clean_leapp_envs(monkeypatch): + """ + Clean all LEAPP environment variables before running the test to have + fresh env. + """ + for k, _ in os.environ.items(): + if k.startswith('LEAPP'): + monkeypatch.delenv(k) + + +def _raise_call_error(*args): + raise CalledProcessError( + message='A Leapp Command Error occurred.', + command=args, + result={'signal': None, 'exit_code': 1, 'pid': 0, 'stdout': 'fake', 'stderr': 'fake'} + ) + + +def _get_os_release(version='7.9', codename='Maipo'): + release = OSRelease( + release_id='rhel', + name='Red Hat Enterprise Linux Server', + pretty_name='Red Hat Enterprise Linux', + version='{} ({})'.format(version, codename), + version_id='{}'.format(version), + variant='Server', + variant_id='server') + return release + + +def test_leapp_env_vars(monkeypatch): + _clean_leapp_envs(monkeypatch) + monkeypatch.setenv('LEAPP_WHATEVER', '0') + monkeypatch.setenv('LEAPP_VERBOSE', '1') + monkeypatch.setenv('LEAPP_DEBUG', '1') + monkeypatch.setenv('LEAPP_CURRENT_PHASE', 'test') + monkeypatch.setenv('LEAPP_CURRENT_ACTOR', 'test') + monkeypatch.setenv('TEST', 'test') + monkeypatch.setenv('TEST2', 'test') + + assert len(ipuworkflowconfig.get_env_vars()) == 1 + + +def test_get_os_release_info(monkeypatch): + expected = _get_os_release('7.6') + assert expected == ipuworkflowconfig.get_os_release(os.path.join(CUR_DIR, 'files/os-release')) + + with pytest.raises(StopActorExecutionError): + ipuworkflowconfig.get_os_release(os.path.join(CUR_DIR, 'files/non-existent-file')) + + +def test_get_booted_kernel(monkeypatch): + monkeypatch.setattr(ipuworkflowconfig, 'run', lambda x: {'stdout': '4.14.0-100.8.2.el7a.x86_64\n'}) + assert ipuworkflowconfig.get_booted_kernel() == '4.14.0-100.8.2.el7a.x86_64' + + monkeypatch.setattr(ipuworkflowconfig, 'run', _raise_call_error) + with pytest.raises(StopActorExecutionError): + ipuworkflowconfig.get_booted_kernel() diff --git a/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/actor.py b/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/actor.py new file mode 100644 index 0000000..03ce3d9 --- /dev/null +++ b/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/actor.py @@ -0,0 +1,38 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkinstalledkernels +from leapp.models import InstalledRedHatSignedRPM, KernelInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckInstalledKernels(Actor): + """ + Inhibit IPU (in-place upgrade) when installed kernels conflict with a safe upgrade. + + a) Inhibit when multiple kernels are installed on a s390x machine + + When on s390x architecture, we are not able to upgrade correctly + when any kernel is expected to be uninstalled during the rpm + upgrade transaction now. We discovered recently that removal of + old kernels is not handled correctly during the IPU. In case the + maximum number of kernels are installed, the oldest one is + automatically uninstalled during the rpm upgrade transaction. + + To prevent any related troubles during the IPU, inhibit the IPU + on s390x unless just one kernel is installed, until the issue will + be fixed correctly. + + b) Inhibit when machine is not booted into latest installed kernel + + It is strictly required that during the upgrade the machine is + booted into the latest installed kernel. Upgrading with older + kernels could cause unexpected issues. + """ + + name = 'check_installed_kernels' + consumes = (InstalledRedHatSignedRPM, KernelInfo) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + checkinstalledkernels.process() diff --git a/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/libraries/checkinstalledkernels.py b/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/libraries/checkinstalledkernels.py new file mode 100644 index 0000000..8e92fa0 --- /dev/null +++ b/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/libraries/checkinstalledkernels.py @@ -0,0 +1,107 @@ +try: + from rpm import labelCompare +except ImportError: + # this can happen only on non-rpm based systems or with Python3 on RHEL 7 + # based OSs, as the rpm python module is available here just for Python2 + # - and vice versa on F31+ + # This will not happen in real run, just in case of unit-tests.. + def labelCompare(*args): + raise NotImplementedError( + "The labelCompare function is not implemented for the python" + " you are using." + ) + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import architecture, utils +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, KernelInfo + + +def get_all_pkgs_with_name(pkg_name): + """ + Get all installed packages of the given name signed by Red Hat. + """ + rpms = next(api.consume(InstalledRedHatSignedRPM), InstalledRedHatSignedRPM()).items + return [pkg for pkg in rpms if pkg.name == pkg_name] + + +def get_EVR(pkg): + """ + Return 3-tuple EVR (_epoch_, version, release) of the given RPM. + + Epoch is always set as an empty string as in case of kernel epoch is not + expected to be set - ever. + """ + return ('', pkg.version, pkg.release) + + +def get_newest_evr(pkgs): + """ + Return the 3-tuple (EVR) of the newest package from the given list. + + Return None if the given list is empty. It's expected that all given + packages have same name. + """ + if not pkgs: + return None + + newest_evr = get_EVR(pkgs[0]) + for pkg in pkgs: + evr = get_EVR(pkg) + if labelCompare(newest_evr, evr) < 0: + newest_evr = evr + + return newest_evr + + +def process(): + kernel_info = utils._require_exactly_one_message_of_type(KernelInfo) + pkgs = get_all_pkgs_with_name(kernel_info.pkg.name) + + if not pkgs: + # Hypothetical, user is not allowed to install any kernel that is not signed by RH + # In case we would like to be cautious, we could check whether there are no other + # kernels installed as well. + api.current_logger().error('Cannot find any installed kernel signed by Red Hat.') + raise StopActorExecutionError('Cannot find any installed kernel signed by Red Hat.') + + if len(pkgs) > 1 and architecture.matches_architecture(architecture.ARCH_S390X): + # It's temporary solution, so no need to try automate everything. + title = 'Multiple kernels installed' + summary = ('The upgrade process does not handle well the case when multiple kernels' + ' are installed on s390x. There is a severe risk of the bootloader configuration' + ' getting corrupted during the upgrade.') + remediation = ('Boot into the most up-to-date kernel and remove all older' + ' kernels installed on the machine before running Leapp again.') + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.KERNEL, reporting.Groups.BOOT]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint=remediation), + reporting.RelatedResource('package', 'kernel') + ]) + + current_kernel_evr = get_EVR(kernel_info.pkg) + newest_kernel_evr = get_newest_evr(pkgs) + + api.current_logger().debug('Current kernel EVR: {}'.format(current_kernel_evr)) + api.current_logger().debug('Newest kernel EVR: {}'.format(newest_kernel_evr)) + + if current_kernel_evr != newest_kernel_evr: + title = 'Newest installed kernel not in use' + summary = ('To ensure a stable upgrade, the machine needs to be' + ' booted into the latest installed kernel.') + remediation = ('Boot into the most up-to-date kernel installed' + ' on the machine before running Leapp again.') + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.KERNEL, reporting.Groups.BOOT]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint=remediation), + reporting.RelatedResource('package', 'kernel') + ]) diff --git a/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/tests/unit_test_checkinstalledkernels.py b/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/tests/unit_test_checkinstalledkernels.py new file mode 100644 index 0000000..816d388 --- /dev/null +++ b/repos/system_upgrade/common/actors/kernel/checkinstalledkernels/tests/unit_test_checkinstalledkernels.py @@ -0,0 +1,177 @@ +from collections import namedtuple + +import pytest + +from leapp import reporting +from leapp.libraries.actor import checkinstalledkernels +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, KernelInfo, RPM + +RH_PACKAGER = 'Red Hat, Inc. ' + +# Does not make sense to run any tests when the module is not accessible +pytest.importorskip("rpm") + + +# Partial RPM description, missing fields are filled with defaults +RPMDesc = namedtuple('RPMDesc', ('name', 'version', 'release', 'arch')) + + +def create_rpm(rpm_desc, packager=RH_PACKAGER, pgpsig='SOME_OTHER_SIG_X', epoch='0'): + return RPM(name=rpm_desc.name, arch=rpm_desc.arch, version=rpm_desc.version, release=rpm_desc.release, + epoch='0', packager=RH_PACKAGER, pgpsig='SOME_OTHER_SIG_X') + + +def create_rpms(rpm_descriptions): + rpms = [create_rpm(rpm_desc) for rpm_desc in rpm_descriptions] + installed_rpms = InstalledRedHatSignedRPM(items=rpms) + return installed_rpms + + +s390x_pkgs_single = [ + RPMDesc(name='kernel', version='3.10.0', release='957.43.1.el7', arch='s390x'), + RPMDesc(name='something', version='3.10.0', release='957.43.1.el7', arch='s390x'), + RPMDesc(name='kernel-something', version='3.10.0', release='957.43.1.el7', arch='s390x'), +] +s390x_pkgs_multi = [ + RPMDesc(name='kernel', version='3.10.0', release='957.43.1.el7', arch='s390x'), + RPMDesc(name='something', version='3.10.0', release='957.43.1.el7', arch='s390x'), + RPMDesc(name='kernel', version='3.10.0', release='956.43.1.el7', arch='s390x') +] + + +@pytest.mark.parametrize( + ('pkgs', 'should_inhibit'), # First tuple in pkgs is expected to provide the booted kernel + ( + (s390x_pkgs_single, False), + (s390x_pkgs_multi, True) + ) +) +def test_s390x_kernel_count_inhibition(monkeypatch, pkgs, should_inhibit): + installed_rpms_msg = create_rpms(pkgs) + kernel_pkg = installed_rpms_msg.items[0] + kernel_info = KernelInfo(pkg=kernel_pkg, uname_r='957.43.1.el7.s390x') + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_S390X, + msgs=[kernel_info, installed_rpms_msg])) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkinstalledkernels.process() + assert should_inhibit == bool(reporting.create_report.called) + + +versioned_kernel_pkgs = [ + RPMDesc(name='kernel', version='3.10.0', release='789.35.2.el7', arch='x86_64'), + RPMDesc(name='kernel', version='3.10.0', release='1234.21.1.el7', arch='x86_64'), + RPMDesc(name='kernel', version='4.14.0', release='115.29.1.el7', arch='x86_64'), # [2] - newest + RPMDesc(name='kernel', version='3.10.0', release='456.43.1.el7', arch='x86_64'), +] + + +@pytest.mark.parametrize( + ('expect_report', 'installed_rpms_msg', 'current_kernel_pkg_index'), + ( + (False, create_rpms(versioned_kernel_pkgs), 2), + (True, create_rpms(versioned_kernel_pkgs), 1), + (True, create_rpms(versioned_kernel_pkgs), 0), + ) +) +def test_newest_kernel(monkeypatch, expect_report, installed_rpms_msg, current_kernel_pkg_index): + uname_r = '' # Kernel release is not used to determine the kernel novelty + kernel_info = KernelInfo(pkg=installed_rpms_msg.items[current_kernel_pkg_index], uname_r=uname_r) + msgs = [installed_rpms_msg, kernel_info] + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkinstalledkernels.process() + if expect_report: + assert reporting.create_report.called + assert reporting.create_report.report_fields['title'] == 'Newest installed kernel not in use' + else: + assert not reporting.create_report.called + + +@pytest.mark.parametrize( + 'rpm_desc', + [ + RPMDesc(name='', version='3.10.0', release='1234.21.1.el7', arch='x86_64'), + RPMDesc(name='', version='3.10.0', release='456.43.1.el7', arch='x86_64'), + RPMDesc(name='', version='3.10.0', release='1.1.1.1.1.1.1.2', arch='x86_64'), + RPMDesc(name='', version='4.10.4', release='1234.21.1.el7', arch='x86_64'), + RPMDesc(name='', version='6.6.6', release='1234.56.rt78.el9', arch='x86_64'), + ] +) +def test_get_evr(monkeypatch, rpm_desc): + pkg = create_rpm(rpm_desc) + assert checkinstalledkernels.get_EVR(pkg) == ('', pkg.version, pkg.release) + + +versioned_kernel_rt_pkgs = [ + RPMDesc(name='kernel-rt', version='3.10.0', release='789.35.2.rt56.1133.el7', arch='x86_64'), + RPMDesc(name='kernel-rt', version='3.10.0', release='789.35.2.rt57.1133.el7', arch='x86_64'), + RPMDesc(name='kernel-rt', version='3.10.0', release='789.35.2.rt101.1133.el7', arch='x86_64'), + RPMDesc(name='kernel-rt', version='3.10.0', release='790.35.2.rt666.1133.el7', arch='x86_64'), # [3] - newest +] + + +@pytest.mark.parametrize( + ('msgs', 'num', 'name'), + [ + ([create_rpms(versioned_kernel_rt_pkgs)], 4, 'kernel-rt'), + ([create_rpms(versioned_kernel_rt_pkgs[0:-1])], 3, 'kernel-rt'), + ([create_rpms(versioned_kernel_rt_pkgs[0:-2])], 2, 'kernel-rt'), + ([create_rpms(versioned_kernel_rt_pkgs[0:-3])], 1, 'kernel-rt'), + ([create_rpms(versioned_kernel_rt_pkgs)], 0, 'kernel'), + ([create_rpms(versioned_kernel_rt_pkgs)], 0, 'smth'), + ([create_rpms(versioned_kernel_pkgs)], 0, 'kernel-rt'), + ([create_rpms(versioned_kernel_pkgs + versioned_kernel_rt_pkgs)], 4, 'kernel-rt'), + ([create_rpms(versioned_kernel_pkgs + versioned_kernel_rt_pkgs)], 4, 'kernel'), + ] +) +def test_get_pkgs(monkeypatch, msgs, num, name): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + pkgs = checkinstalledkernels.get_all_pkgs_with_name(name) + assert len(pkgs) == num + + +mixed_kernel_pkgs = create_rpms(versioned_kernel_rt_pkgs + versioned_kernel_pkgs) +mixed_kernel_pkgs_desc_table = { # Maps important pkgs from mixed_kernel_pkgs to their index so they can be ref'd + 'newest_rt': 3, + 'older_rt': 2, + 'newest_ordinary': 6, + 'older_ordinary': 5, +} + + +@pytest.mark.parametrize( + ('expect_report', 'installed_rpms_msg', 'curr_kernel_pkg_index'), + [ + # kernel-rt only + (True, create_rpms(versioned_kernel_rt_pkgs), 0), + (True, create_rpms(versioned_kernel_rt_pkgs), 1), + (True, create_rpms(versioned_kernel_rt_pkgs), 2), + (False, create_rpms(versioned_kernel_rt_pkgs), 3), # newest + (False, create_rpms(versioned_kernel_rt_pkgs[0:-1]), 2), + (False, create_rpms(versioned_kernel_rt_pkgs[0:1]), 0), + + # mix of kernel-rt + kernel + (True, mixed_kernel_pkgs, mixed_kernel_pkgs_desc_table['older_rt']), + (False, mixed_kernel_pkgs, mixed_kernel_pkgs_desc_table['newest_rt']), + (True, mixed_kernel_pkgs, mixed_kernel_pkgs_desc_table['older_ordinary']), + (False, mixed_kernel_pkgs, mixed_kernel_pkgs_desc_table['newest_ordinary']), + ] +) +def test_newest_kernel_realtime(monkeypatch, expect_report, installed_rpms_msg, curr_kernel_pkg_index): + current_kernel_pkg = installed_rpms_msg.items[curr_kernel_pkg_index] + kernel_info = KernelInfo(pkg=current_kernel_pkg, uname_r='') + msgs = [installed_rpms_msg, kernel_info] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkinstalledkernels.process() + + if expect_report: + assert reporting.create_report.called + assert reporting.create_report.report_fields['title'] == 'Newest installed kernel not in use' + else: + assert not reporting.create_report.called diff --git a/repos/system_upgrade/common/actors/kernelcmdlineconfig/actor.py b/repos/system_upgrade/common/actors/kernelcmdlineconfig/actor.py new file mode 100644 index 0000000..13c4711 --- /dev/null +++ b/repos/system_upgrade/common/actors/kernelcmdlineconfig/actor.py @@ -0,0 +1,32 @@ +import os + +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import kernelcmdlineconfig +from leapp.models import FirmwareFacts, InstalledTargetKernelInfo, KernelCmdlineArg, TargetKernelCmdlineArgTasks +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag + + +class KernelCmdlineConfig(Actor): + """ + Append extra arguments to the target RHEL kernel command line + """ + + name = 'kernelcmdlineconfig' + consumes = (KernelCmdlineArg, InstalledTargetKernelInfo, FirmwareFacts, TargetKernelCmdlineArgTasks) + produces = () + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + + configs = None + ff = next(self.consume(FirmwareFacts), None) + if not ff: + raise StopActorExecutionError( + 'Could not identify system firmware', + details={'details': 'Actor did not receive FirmwareFacts message.'} + ) + + if ff.firmware == 'bios' and os.path.ismount('/boot/efi'): + configs = ['/boot/grub2/grub.cfg', '/boot/efi/EFI/redhat/grub.cfg'] + kernelcmdlineconfig.modify_kernel_args_in_boot_cfg(configs) diff --git a/repos/system_upgrade/common/actors/kernelcmdlineconfig/libraries/kernelcmdlineconfig.py b/repos/system_upgrade/common/actors/kernelcmdlineconfig/libraries/kernelcmdlineconfig.py new file mode 100644 index 0000000..f98e816 --- /dev/null +++ b/repos/system_upgrade/common/actors/kernelcmdlineconfig/libraries/kernelcmdlineconfig.py @@ -0,0 +1,66 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries import stdlib +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api +from leapp.models import InstalledTargetKernelInfo, KernelCmdlineArg, TargetKernelCmdlineArgTasks + + +def run_grubby_cmd(cmd): + try: + stdlib.run(cmd) + if architecture.matches_architecture(architecture.ARCH_S390X): + # On s390x we need to call zipl explicitly because of issue in grubby, + # otherwise the entry is not updated in the ZIPL bootloader + # See https://bugzilla.redhat.com/show_bug.cgi?id=1764306 + stdlib.run(['/usr/sbin/zipl']) + + except (OSError, stdlib.CalledProcessError) as e: + raise StopActorExecutionError( + "Failed to append extra arguments to kernel command line.", + details={"details": str(e)}) + + +def format_kernelarg_msgs_for_grubby_cmd(kernelarg_msgs): + kernelarg_msgs = sorted(kernelarg_msgs, key=lambda arg: arg.key) + kernel_args = [] + for arg in kernelarg_msgs: + if arg.value: + kernel_args.append('{0}={1}'.format(arg.key, arg.value)) + else: + kernel_args.append('{0}'.format(arg.key)) + return ' '.join(kernel_args) + + +def modify_kernel_args_in_boot_cfg(configs_to_modify_explicitly=None): + kernel_info = next(api.consume(InstalledTargetKernelInfo), None) + if not kernel_info: + return + + # Collect desired kernelopt modifications + kernelargs_msgs_to_add = list(api.consume(KernelCmdlineArg)) + kernelargs_msgs_to_remove = [] + for target_kernel_arg_task in api.consume(TargetKernelCmdlineArgTasks): + kernelargs_msgs_to_add.extend(target_kernel_arg_task.to_add) + kernelargs_msgs_to_remove.extend(target_kernel_arg_task.to_remove) + + if not kernelargs_msgs_to_add and not kernelargs_msgs_to_remove: + return # There is no work to do + + grubby_modify_kernelargs_cmd = ['grubby', '--update-kernel={0}'.format(kernel_info.kernel_img_path)] + + if kernelargs_msgs_to_add: + grubby_modify_kernelargs_cmd += [ + '--args', '{}'.format(format_kernelarg_msgs_for_grubby_cmd(kernelargs_msgs_to_add)) + ] + + if kernelargs_msgs_to_remove: + grubby_modify_kernelargs_cmd += [ + '--remove-args', '{}'.format(format_kernelarg_msgs_for_grubby_cmd(kernelargs_msgs_to_remove)) + ] + + if configs_to_modify_explicitly: + for config_to_modify in configs_to_modify_explicitly: + cmd = grubby_modify_kernelargs_cmd + ['-c', config_to_modify] + run_grubby_cmd(cmd) + else: + run_grubby_cmd(grubby_modify_kernelargs_cmd) diff --git a/repos/system_upgrade/common/actors/kernelcmdlineconfig/tests/test_kernelcmdlineconfig.py b/repos/system_upgrade/common/actors/kernelcmdlineconfig/tests/test_kernelcmdlineconfig.py new file mode 100644 index 0000000..3f9b2e5 --- /dev/null +++ b/repos/system_upgrade/common/actors/kernelcmdlineconfig/tests/test_kernelcmdlineconfig.py @@ -0,0 +1,124 @@ +from collections import namedtuple + +import pytest + +from leapp.libraries import stdlib +from leapp.libraries.actor import kernelcmdlineconfig +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledTargetKernelInfo, KernelCmdlineArg, TargetKernelCmdlineArgTasks + +TARGET_KERNEL_NEVRA = 'kernel-core-1.2.3-4.x86_64.el8.x64_64' + + +class MockedRun(object): + def __init__(self): + self.commands = [] + + def __call__(self, cmd, *args, **kwargs): + self.commands.append(cmd) + return {} + + +@pytest.mark.parametrize( + ('msgs', 'expected_grubby_kernelopt_args'), + [ + ( + [KernelCmdlineArg(key='key1', value='value1'), KernelCmdlineArg(key='key2', value='value2')], + ['--args', 'key1=value1 key2=value2'] + ), + ( + [TargetKernelCmdlineArgTasks(to_add=[KernelCmdlineArg(key='key1', value='value1'), + KernelCmdlineArg(key='key2')])], + ['--args', 'key1=value1 key2'] + ), + ( + [TargetKernelCmdlineArgTasks(to_add=[KernelCmdlineArg(key='key1', value='value1')]), + KernelCmdlineArg(key='key2', value='value2')], + ['--args', 'key1=value1 key2=value2'] + ), + ( + [TargetKernelCmdlineArgTasks(to_add=[KernelCmdlineArg(key='key1', value='value1')], + to_remove=[KernelCmdlineArg(key='key3')]), + KernelCmdlineArg(key='key2', value='value2')], + ['--args', 'key1=value1 key2=value2', '--remove-args', 'key3'] + ), + ( + [TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='key3'), KernelCmdlineArg(key='key4')])], + ['--remove-args', 'key3 key4'] + ), + ] +) +def test_kernelcmdline_config_valid_msgs(monkeypatch, msgs, expected_grubby_kernelopt_args): + kernel_img_path = '/boot/vmlinuz-X' + kernel_info = InstalledTargetKernelInfo(pkg_nevra=TARGET_KERNEL_NEVRA, + uname_r='', + kernel_img_path=kernel_img_path, + initramfs_path='/boot/initramfs-X') + msgs += [kernel_info] + + grubby_base_cmd = ['grubby', '--update-kernel={}'.format(kernel_img_path)] + expected_grubby_cmd = grubby_base_cmd + expected_grubby_kernelopt_args + + mocked_run = MockedRun() + monkeypatch.setattr(stdlib, 'run', mocked_run) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(architecture.ARCH_X86_64, msgs=msgs)) + kernelcmdlineconfig.modify_kernel_args_in_boot_cfg() + assert mocked_run.commands and len(mocked_run.commands) == 1 + assert expected_grubby_cmd == mocked_run.commands.pop() + + mocked_run = MockedRun() + monkeypatch.setattr(stdlib, 'run', mocked_run) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(architecture.ARCH_S390X, msgs=msgs)) + kernelcmdlineconfig.modify_kernel_args_in_boot_cfg() + assert mocked_run.commands and len(mocked_run.commands) == 2 + assert expected_grubby_cmd == mocked_run.commands.pop(0) + assert ['/usr/sbin/zipl'] == mocked_run.commands.pop(0) + + +def test_kernelcmdline_explicit_configs(monkeypatch): + kernel_img_path = '/boot/vmlinuz-X' + + kernel_info = InstalledTargetKernelInfo(pkg_nevra=TARGET_KERNEL_NEVRA, + uname_r='', + kernel_img_path=kernel_img_path, + initramfs_path='/boot/initramfs-X') + msgs = [kernel_info, TargetKernelCmdlineArgTasks(to_remove=[KernelCmdlineArg(key='key1', value='value1')])] + + mocked_run = MockedRun() + monkeypatch.setattr(stdlib, 'run', mocked_run) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(architecture.ARCH_X86_64, msgs=msgs)) + + configs = ['/boot/grub2/grub.cfg', '/boot/efi/EFI/redhat/grub.cfg'] + kernelcmdlineconfig.modify_kernel_args_in_boot_cfg(configs_to_modify_explicitly=configs) + + grubby_cmd_without_config = ['grubby', '--update-kernel={}'.format(kernel_img_path), + '--remove-args', 'key1=value1'] + expected_cmds = [ + grubby_cmd_without_config + ['-c', '/boot/grub2/grub.cfg'], + grubby_cmd_without_config + ['-c', '/boot/efi/EFI/redhat/grub.cfg'] + ] + + assert mocked_run.commands == expected_cmds + + +def test_kernelcmdline_config_no_args(monkeypatch): + kernel_info = InstalledTargetKernelInfo(pkg_nevra=TARGET_KERNEL_NEVRA, + uname_r='', + kernel_img_path='/boot/vmlinuz-X', + initramfs_path='/boot/initramfs-X') + + mocked_run = MockedRun() + monkeypatch.setattr(stdlib, 'run', mocked_run) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(architecture.ARCH_S390X, msgs=[kernel_info])) + kernelcmdlineconfig.modify_kernel_args_in_boot_cfg() + assert not mocked_run.commands + + +def test_kernelcmdline_config_no_version(monkeypatch): + mocked_run = MockedRun() + monkeypatch.setattr(stdlib, 'run', mocked_run) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(architecture.ARCH_S390X)) + kernelcmdlineconfig.modify_kernel_args_in_boot_cfg() + assert not mocked_run.commands diff --git a/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/actor.py b/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/actor.py new file mode 100644 index 0000000..769a387 --- /dev/null +++ b/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import deviceanddriverdeprecationdataload +from leapp.models import ConsumedDataAsset, DeviceDriverDeprecationData +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class LoadDeviceDriverDeprecationData(Actor): + """ + Loads deprecation data for drivers and devices (PCI & CPU) + + The data will either be loaded from the local /etc/leapp/files location or + fetched from the Red Hat remote service providing this data. + """ + + name = 'load_device_driver_deprecation_data' + consumes = () + produces = (DeviceDriverDeprecationData, ConsumedDataAsset) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self, *args, **kwargs): + deviceanddriverdeprecationdataload.process() diff --git a/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/libraries/deviceanddriverdeprecationdataload.py b/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/libraries/deviceanddriverdeprecationdataload.py new file mode 100644 index 0000000..3caa4e0 --- /dev/null +++ b/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/libraries/deviceanddriverdeprecationdataload.py @@ -0,0 +1,30 @@ +from leapp.libraries.common import fetch +from leapp.libraries.stdlib import api +from leapp.models import DeviceDriverDeprecationData, DeviceDriverDeprecationEntry + + +def process(): + """ + Loads the device and driver deprecation data and produces a DeviceDriverDeprecationData message with its content. + It will filter the data on the device_type field, based on the choices set in the StringEnum on the + DeviceDriverDeprecationEntry model + """ + # This is how you get the StringEnum choices value, so we can filter based on the model definition + supported_device_types = set(DeviceDriverDeprecationEntry.device_type.serialize()['choices']) + + data_file_name = 'device_driver_deprecation_data.json' + deprecation_data = fetch.load_data_asset(api.current_actor(), + data_file_name, + asset_fulltext_name='Device driver deprecation data', + docs_url='', + docs_title='') + + api.produce( + DeviceDriverDeprecationData( + entries=[ + DeviceDriverDeprecationEntry(**entry) + for entry in deprecation_data['data'] + if entry.get('device_type') in supported_device_types + ] + ) + ) diff --git a/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/tests/test_ddddload.py b/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/tests/test_ddddload.py new file mode 100644 index 0000000..69bcd09 --- /dev/null +++ b/repos/system_upgrade/common/actors/loaddevicedriverdeprecationdata/tests/test_ddddload.py @@ -0,0 +1,59 @@ +from leapp.libraries.actor import deviceanddriverdeprecationdataload as ddddload +from leapp.libraries.common import fetch + +TEST_DATA = { + 'data': [ + { + 'available_in_rhel': [8, 9], + 'deprecation_announced': '', + 'device_id': 'unsupported:id', + 'device_name': 'Unsupported device type', + 'device_type': 'unsupported', + 'driver_name': '', + 'maintained_in_rhel': [], + }, + { + 'available_in_rhel': [8, 9], + 'deprecation_announced': '', + 'device_id': 'x86_64:amd:25:1', + 'device_name': 'Supported Family 19h', + 'device_type': 'cpu', + 'driver_name': '', + 'maintained_in_rhel': [], + }, + { + 'available_in_rhel': [], + 'deprecation_announced': '', + 'device_id': 'x86_64:amd:25:[2-255]', + 'device_name': 'Unsupported Family 19h', + 'device_type': 'cpu', + 'driver_name': '', + 'maintained_in_rhel': [], + }, + { + 'available_in_rhel': [7], + 'deprecation_announced': '', + 'device_id': '0x10df:0xf180', + 'device_name': 'Emulex Corporation: LPSe12002 EmulexSecure Fibre Channel Adapter', + 'device_type': 'pci', + 'driver_name': 'lpfc', + 'maintained_in_rhel': [7], + }, + ] +} + + +def test_filtered_load(monkeypatch): + produced = [] + + def load_data_asset_mock(*args, **kwargs): + return TEST_DATA + + monkeypatch.setattr(fetch, 'load_data_asset', load_data_asset_mock) + monkeypatch.setattr(ddddload.api, 'produce', lambda *v: produced.extend(v)) + + ddddload.process() + + assert produced + assert len(produced[0].entries) == 3 + assert not any([e.device_type == 'unsupported' for e in produced[0].entries]) diff --git a/repos/system_upgrade/common/actors/localreposinhibit/actor.py b/repos/system_upgrade/common/actors/localreposinhibit/actor.py new file mode 100644 index 0000000..2bde7f1 --- /dev/null +++ b/repos/system_upgrade/common/actors/localreposinhibit/actor.py @@ -0,0 +1,89 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import TargetOSInstallationImage, TMPTargetRepositoriesFacts, UsedTargetRepositories +from leapp.reporting import Report +from leapp.tags import IPUWorkflowTag, TargetTransactionChecksPhaseTag +from leapp.utils.deprecation import suppress_deprecation + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +class LocalReposInhibit(Actor): + """Inhibits the upgrade if local repositories were found.""" + + name = "local_repos_inhibit" + consumes = ( + UsedTargetRepositories, + TargetOSInstallationImage, + TMPTargetRepositoriesFacts, + ) + produces = (Report,) + tags = (IPUWorkflowTag, TargetTransactionChecksPhaseTag) + + def collect_target_repoids_with_local_url(self, used_target_repos, target_repos_facts, target_iso): + """Collects all repoids that have a local (file://) URL. + + UsedTargetRepositories doesn't contain baseurl attribute. So gathering + them from model TMPTargetRepositoriesFacts. + """ + used_target_repoids = set(repo.repoid for repo in used_target_repos.repos) + iso_repoids = set(iso_repo.repoid for iso_repo in target_iso.repositories) if target_iso else set() + + target_repofile_data = (repofile.data for repofile in target_repos_facts.repositories) + + local_repoids = [] + for repo_data in target_repofile_data: + for target_repo in repo_data: + # Check only in repositories that are used and are not provided by the upgrade ISO, if any + if target_repo.repoid not in used_target_repoids or target_repo.repoid in iso_repoids: + continue + + # Repo fields potentially containing local URLs have different importance, check based on their prio + url_field_to_check = target_repo.mirrorlist or target_repo.metalink or target_repo.baseurl or '' + + if url_field_to_check.startswith("file://"): + local_repoids.append(target_repo.repoid) + return local_repoids + + def process(self): + used_target_repos = next(self.consume(UsedTargetRepositories), None) + target_repos_facts = next(self.consume(TMPTargetRepositoriesFacts), None) + target_iso = next(self.consume(TargetOSInstallationImage), None) + + if not used_target_repos or not target_repos_facts: + return + + local_repoids = self.collect_target_repoids_with_local_url(used_target_repos, target_repos_facts, target_iso) + if local_repoids: + suffix, verb = ("y", "has") if len(local_repoids) == 1 else ("ies", "have") + local_repoids_str = ", ".join(local_repoids) + + warn_msg = ("The following local repositor{suffix} {verb} been found: {local_repoids} " + "(their baseurl starts with file:///). Currently leapp does not support this option.") + warn_msg = warn_msg.format(suffix=suffix, verb=verb, local_repoids=local_repoids_str) + self.log.warning(warn_msg) + + reporting.create_report( + [ + reporting.Title("Local repositor{suffix} detected".format(suffix=suffix)), + reporting.Summary(warn_msg), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation( + hint=( + "By using Apache HTTP Server you can expose " + "your local repository via http. See the linked " + "article for details. " + ) + ), + reporting.ExternalLink( + title=( + "Customizing your Red Hat Enterprise Linux " + "in-place upgrade" + ), + url=( + "https://red.ht/ipu-customisation-repos-known-issues" + ), + ), + ] + ) diff --git a/repos/system_upgrade/common/actors/localreposinhibit/tests/test_unit_localreposinhibit.py b/repos/system_upgrade/common/actors/localreposinhibit/tests/test_unit_localreposinhibit.py new file mode 100644 index 0000000..64a79e8 --- /dev/null +++ b/repos/system_upgrade/common/actors/localreposinhibit/tests/test_unit_localreposinhibit.py @@ -0,0 +1,81 @@ +import pytest + +from leapp.models import ( + RepositoryData, + RepositoryFile, + TargetOSInstallationImage, + TMPTargetRepositoriesFacts, + UsedTargetRepositories, + UsedTargetRepository +) +from leapp.snactor.fixture import ActorContext + + +@pytest.mark.parametrize( + ("baseurl", "mirrorlist", "metalink", "exp_msgs_len"), + [ + ("file:///root/crb", None, None, 1), + ("http://localhost/crb", None, None, 0), + (None, "file:///root/crb", None, 1), + (None, "http://localhost/crb", None, 0), + (None, None, "file:///root/crb", 1), + (None, None, "http://localhost/crb", 0), + ("http://localhost/crb", "file:///root/crb", None, 1), + ("file:///root/crb", "http://localhost/crb", None, 0), + ("http://localhost/crb", None, "file:///root/crb", 1), + ("file:///root/crb", None, "http://localhost/crb", 0), + ], +) +def test_unit_localreposinhibit(current_actor_context, baseurl, mirrorlist, metalink, exp_msgs_len): + """Ensure the Report is generated when local path is used as a baseurl. + + :type current_actor_context: ActorContext + """ + with pytest.deprecated_call(): + current_actor_context.feed( + TMPTargetRepositoriesFacts( + repositories=[ + RepositoryFile( + file="the/path/to/some/file", + data=[ + RepositoryData( + name="BASEOS", + baseurl=( + "http://example.com/path/to/repo/BaseOS/x86_64/os/" + ), + repoid="BASEOS", + ), + RepositoryData( + name="APPSTREAM", + baseurl=( + "http://example.com/path/to/repo/AppStream/x86_64/os/" + ), + repoid="APPSTREAM", + ), + RepositoryData( + name="CRB", repoid="CRB", baseurl=baseurl, + mirrorlist=mirrorlist, metalink=metalink + ), + ], + ) + ] + ) + ) + current_actor_context.feed( + UsedTargetRepositories( + repos=[ + UsedTargetRepository(repoid="BASEOS"), + UsedTargetRepository(repoid="CRB"), + ] + ) + ) + current_actor_context.run() + assert len(current_actor_context.messages()) == exp_msgs_len + + +def test_upgrade_not_inhibited_if_iso_used(current_actor_context): + repofile = RepositoryFile(file="path/to/some/file", + data=[RepositoryData(name="BASEOS", baseurl="file:///path", repoid="BASEOS")]) + current_actor_context.feed(TMPTargetRepositoriesFacts(repositories=[repofile])) + current_actor_context.feed(UsedTargetRepositories(repos=[UsedTargetRepository(repoid="BASEOS")])) + current_actor_context.feed(TargetOSInstallationImage(path='', mountpoint='', repositories=[])) diff --git a/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/actor.py b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/actor.py new file mode 100644 index 0000000..6f836a5 --- /dev/null +++ b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/actor.py @@ -0,0 +1,40 @@ +from leapp.actors import Actor +from leapp.libraries.actor import missinggpgkey +from leapp.models import ( + DNFWorkaround, + InstalledRPM, + TargetUserSpaceInfo, + TMPTargetRepositoriesFacts, + UsedTargetRepositories +) +from leapp.reporting import Report +from leapp.tags import IPUWorkflowTag, TargetTransactionChecksPhaseTag + + +class MissingGpgKeysInhibitor(Actor): + """ + Check if all used target repositories have signing gpg keys + imported in the existing RPM DB or they are planned to be imported + + Right now, we can not check the package signatures yet, but we can do some + best effort estimation based on the gpgkey option in the repofile + and content of the existing rpm db. + + Also register the DNFWorkaround to import trusted gpg keys - files provided + inside the GPG_CERTS_FOLDER directory. + + In case that leapp is executed with --nogpgcheck, all actions are skipped. + """ + + name = 'missing_gpg_keys_inhibitor' + consumes = ( + InstalledRPM, + TMPTargetRepositoriesFacts, + TargetUserSpaceInfo, + UsedTargetRepositories, + ) + produces = (DNFWorkaround, Report,) + tags = (IPUWorkflowTag, TargetTransactionChecksPhaseTag,) + + def process(self): + missinggpgkey.process() diff --git a/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/libraries/missinggpgkey.py b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/libraries/missinggpgkey.py new file mode 100644 index 0000000..1880986 --- /dev/null +++ b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/libraries/missinggpgkey.py @@ -0,0 +1,484 @@ +import json +import os +import re +import shutil +import tempfile + +from six.moves import urllib + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import config +from leapp.libraries.common.config.version import get_source_major_version, get_target_major_version +from leapp.libraries.stdlib import api, run +from leapp.models import ( + DNFWorkaround, + InstalledRPM, + TargetUserSpaceInfo, + TMPTargetRepositoriesFacts, + UsedTargetRepositories +) +from leapp.utils.deprecation import suppress_deprecation + +GPG_CERTS_FOLDER = 'rpm-gpg' +FMT_LIST_SEPARATOR = '\n - ' + + +def _gpg_show_keys(key_path): + """ + Show keys in given file in version-agnostic manner + + This runs gpg --show-keys (EL8) or gpg --with-fingerprints (EL7) + to verify the given file exists, is readable and contains valid + OpenPGP key data, which is printed in parsable format (--with-colons). + """ + try: + cmd = ['gpg2'] + # RHEL7 gnupg requires different switches to get the same output + if get_source_major_version() == '7': + cmd.append('--with-fingerprint') + else: + cmd.append('--show-keys') + cmd += ['--with-colons', key_path] + # TODO: discussed, most likely the checked=False will be dropped + # and error will be handled in other functions + return run(cmd, split=True, checked=False) + except OSError as err: + # NOTE: this is hypothetic; gnupg2 has to be installed on RHEL 7+ + error = 'Failed to read fingerprint from GPG key {}: {}'.format(key_path, str(err)) + api.current_logger().error(error) + return {} + + +def _parse_fp_from_gpg(output): + """ + Parse the output of gpg --show-keys --with-colons. + + Return list of 8 characters fingerprints per each gpgkey for the given + output from stdlib.run() or None if some error occurred. Either the + command return non-zero exit code, the file does not exists, its not + readable or does not contain any openpgp data. + """ + if not output or output['exit_code']: + return [] + + # we are interested in the lines of the output starting with "pub:" + # the colons are used for separating the fields in output like this + # pub:-:4096:1:999F7CBF38AB71F4:1612983048:::-:::escESC::::::23::0: + # ^--------------^ this is the fingerprint we need + # ^------^ but RPM version is just the last 8 chars lowercase + # Also multiple gpg keys can be stored in the file, so go through all "pub" + # lines + gpg_fps = [] + for line in output['stdout']: + if not line or not line.startswith('pub:'): + continue + parts = line.split(':') + if len(parts) >= 4 and len(parts[4]) == 16: + gpg_fps.append(parts[4][8:].lower()) + else: + api.current_logger().warning( + 'Cannot parse the gpg2 output. Line: "{}"' + .format(line) + ) + + return gpg_fps + + +def _read_gpg_fp_from_file(key_path): + """ + Returns the list of public key fingerprints from the given file + + Logs warning in case no OpenPGP data found in the given file or it is not + readable for some reason. + """ + res = _gpg_show_keys(key_path) + fp = _parse_fp_from_gpg(res) + if not fp: + error = 'Unable to read OpenPGP keys from {}: {}'.format(key_path, res['stderr']) + api.current_logger().error(error) + return fp + + +def _get_path_to_gpg_certs(): + """ + Get path to the directory with trusted target gpg keys in leapp tree + """ + # XXX This is copy&paste from TargetUserspaceCreator actor. + # Potential changes need to happen in both places to keep them in sync. + target_major_version = get_target_major_version() + target_product_type = config.get_product_type('target') + certs_dir = target_major_version + # only beta is special in regards to the GPG signing keys + if target_product_type == 'beta': + certs_dir = '{}beta'.format(target_major_version) + return os.path.join(api.get_common_folder_path(GPG_CERTS_FOLDER), certs_dir) + + +def _expand_vars(path): + """ + Expand variables like $releasever and $basearch to the target system version + """ + r = path.replace('$releasever', get_target_major_version()) + r = r.replace('$basearch', api.current_actor().configuration.architecture) + return r + + +def _get_abs_file_path(target_userspace, file_url): + """ + Return the absolute path for file_url if starts with file:/// + + If the file_url starts with 'file:///', return its absolute path to + the target userspace container, as such a file is supposed to be located + on the target system. If the path does not exist in the container, the + the path to the source OS filesystem is returned regardless it exists or not. + + For all other cases, return the originally obtained value. + """ + if not isinstance(target_userspace, TargetUserSpaceInfo): + # not need to cover this by tests, it's seatbelt + raise ValueError('target_userspace must by TargetUserSpaceInfo object') + + prefix = 'file:///' + if not file_url.startswith(prefix): + return file_url + + file_path = file_url[len(prefix):] + expanded = os.path.join(target_userspace.path, file_path) + if os.path.exists(expanded): + return expanded + + # the file does not exist in the container -- try the path in the source OS + return os.path.join('/', file_path) + + +def _pubkeys_from_rpms(installed_rpms): + """ + Return the list of fingerprints of GPG keys in RPM DB + + This function returns short 8 characters fingerprints of trusted GPG keys + "installed" in the source OS RPM database. These look like normal packages + named "gpg-pubkey" and the fingerprint is present in the version field. + """ + return [pkg.version for pkg in installed_rpms.items if pkg.name == 'gpg-pubkey'] + + +def _get_pubkeys(installed_rpms): + """ + Get pubkeys from installed rpms and the trusted directory + """ + pubkeys = _pubkeys_from_rpms(installed_rpms) + certs_path = _get_path_to_gpg_certs() + for certname in os.listdir(certs_path): + key_file = os.path.join(certs_path, certname) + fps = _read_gpg_fp_from_file(key_file) + if fps: + pubkeys += fps + # TODO: what about else: ? + # The warning is now logged in _read_gpg_fp_from_file. We can raise + # the priority of the message or convert it to report though. + return pubkeys + + +def _the_nogpgcheck_option_used(): + return config.get_env('LEAPP_NOGPGCHECK', False) == '1' + + +def _consume_data(): + try: + used_target_repos = next(api.consume(UsedTargetRepositories)).repos + except StopIteration: + raise StopActorExecutionError( + 'Could not check for valid GPG keys', details={'details': 'No UsedTargetRepositories facts'} + ) + + try: + target_repos = next(api.consume(TMPTargetRepositoriesFacts)).repositories + except StopIteration: + raise StopActorExecutionError( + 'Could not check for valid GPG keys', details={'details': 'No TMPTargetRepositoriesFacts facts'} + ) + try: + installed_rpms = next(api.consume(InstalledRPM)) + except StopIteration: + raise StopActorExecutionError( + 'Could not check for valid GPG keys', details={'details': 'No InstalledRPM facts'} + ) + try: + target_userspace = next(api.consume(TargetUserSpaceInfo)) + except StopIteration: + raise StopActorExecutionError( + 'Could not check for valid GPG keys', details={'details': 'No TargetUserSpaceInfo facts'} + ) + + return used_target_repos, target_repos, installed_rpms, target_userspace + + +def _get_repo_gpgkey_urls(repo): + """ + Return the list or repository gpgkeys that should be checked + + If the gpgcheck is disabled for the repo or gpgkey is not specified, + return an empty list. + + Returned gpgkeys are URLs with already expanded variables + (e.g. $releasever) as gpgkey can contain list of URLs separated by comma + or whitespaces. + If gpgcheck=0 is present in the repo file, [] is returned. If the + gpgcheck is missing or enabled and no gpgkey is present, None is + returned, which means the repo can not be checked. + """ + + if not repo.additional_fields: + return None + + repo_additional = json.loads(repo.additional_fields) + + # TODO does the case matter here? + if 'gpgcheck' in repo_additional and repo_additional['gpgcheck'] in ('0', 'False', 'no'): + # NOTE: https://dnf.readthedocs.io/en/latest/conf_ref.html#boolean-label + # nothing to do with repos with enforced gpgcheck=0 + return [] + + if 'gpgkey' not in repo_additional: + # This means rpm will bail out at some time if the key is not present + # but we will not know if the needed key is present or not before we will have + # the packages at least downloaded + api.current_logger().warning( + 'The gpgcheck for the {} repository is enabled' + ' but gpgkey is not specified. Cannot be checked.' + .format(repo.repoid) + ) + return None + + return re.findall(r'[^,\s]+', _expand_vars(repo_additional['gpgkey'])) + + +def _report(title, summary, keys, inhibitor=False): + summary = ( + '{summary}' + ' Leapp is not able to guarantee validity of such gpg keys and manual' + ' review is required, so any spurious keys are not imported in the system' + ' during the in-place upgrade.' + ' The following additional gpg keys are required to be imported during' + ' the upgrade:{sep}{key_list}' + .format( + summary=summary, + sep=FMT_LIST_SEPARATOR, + key_list=FMT_LIST_SEPARATOR.join(keys) + ) + ) + hint = ( + 'Check the path to the listed GPG keys is correct, the keys are valid and' + ' import them into the host RPM DB or store them inside the {} directory' + ' prior the upgrade.' + ' If you want to proceed the in-place upgrade without checking any RPM' + ' signatures, execute leapp with the `--nogpgcheck` option.' + .format(_get_path_to_gpg_certs()) + ) + groups = [reporting.Groups.REPOSITORY] + if inhibitor: + groups.append(reporting.Groups.INHIBITOR) + reporting.create_report( + [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(groups), + reporting.Remediation(hint=hint), + # TODO(pstodulk): @Jakuje: let's sync about it + # TODO update external documentation ? + # reporting.ExternalLink( + # title=( + # "Customizing your Red Hat Enterprise Linux " + # "in-place upgrade" + # ), + # url=( + # "https://access.redhat.com/articles/4977891/" + # "#repos-known-issues" + # ), + # ), + ] + ) + + +def _report_missing_keys(keys): + summary = ( + 'Some of the target repositories require GPG keys that are not installed' + ' in the current RPM DB or are not stored in the {trust_dir} directory.' + .format(trust_dir=_get_path_to_gpg_certs()) + ) + _report('Detected unknown GPG keys for target system repositories', summary, keys, True) + + +def _report_failed_download(keys): + summary = ( + 'Some of the target repositories require GPG keys that are referenced' + ' using remote protocol (http:// or https://) but can not be downloaded.' + ) + _report('Failed to download GPG key for target repository', summary, keys) + + +def _report_unknown_protocol(keys): + summary = ( + 'Some of the target repositories require GPG keys that are provided' + ' using unknown protocol.' + ) + _report('GPG keys provided using unknown protocol', summary, keys) + + +def _report_invalid_keys(keys): + summary = ( + 'Some of the target repositories require GPG keys, which point to files' + ' that do not contain any gpg keys.' + ) + _report('Failed to read GPG keys from provided key files', summary, keys) + + +def _report_repos_missing_keys(repos): + summary = ( + 'Some of the target repositories require checking GPG signatures, but do' + ' not provide any gpg keys.' + ' Leapp is not able to guarantee validity of such gpg keys and manual' + ' review is required, so any spurious keys are not imported in the system' + ' during the in-place upgrade.' + ' The following repositories require some attention before the upgrade:' + ' {sep}{key_list}' + .format( + sep=FMT_LIST_SEPARATOR, + key_list=FMT_LIST_SEPARATOR.join(repos) + ) + ) + hint = ( + 'Check the repositories are correct and either add a respective gpgkey=' + ' option, disable checking RPM signature using gpgcheck=0 per-repository.' + ' If you want to proceed the in-place upgrade without checking any RPM' + ' signatures, execute leapp with the `--nogpgcheck` option.' + ) + groups = [reporting.Groups.REPOSITORY] + reporting.create_report( + [ + reporting.Title('Inconsistent repository without GPG key'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(groups), + reporting.Remediation(hint=hint), + # TODO(pstodulk): @Jakuje: let's sync about it + # TODO update external documentation ? + # reporting.ExternalLink( + # title=( + # "Customizing your Red Hat Enterprise Linux " + # "in-place upgrade" + # ), + # url=( + # "https://access.redhat.com/articles/4977891/" + # "#repos-known-issues" + # ), + # ), + ] + ) + + +def register_dnfworkaround(): + api.produce(DNFWorkaround( + display_name='import trusted gpg keys to RPM DB', + script_path=api.current_actor().get_common_tool_path('importrpmgpgkeys'), + script_args=[_get_path_to_gpg_certs()], + )) + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def process(): + """ + Process the repositories and find missing signing keys + + UsedTargetRepositories doesn't contain baseurl attribute. So gathering + them from model TMPTargetRepositoriesFacts. + """ + # when the user decided to ignore gpg signatures on the packages, we can ignore these checks altogether + if _the_nogpgcheck_option_used(): + api.current_logger().warning('The --nogpgcheck option is used: skipping all related checks.') + return + + used_target_repos, target_repos, installed_rpms, target_userspace = _consume_data() + + target_repo_id_to_repositories_facts_map = { + repo.repoid: repo + for repofile in target_repos + for repo in repofile.data + } + + # For reporting all the issues in one batch instead of reporting each issue in separate report + missing_keys = list() + failed_download = list() + unknown_protocol = list() + invalid_keys = list() + repos_missing_keys = list() + + # These are used only for getting the installed gpg-pubkey "packages" + pubkeys = _get_pubkeys(installed_rpms) + processed_gpgkey_urls = set() + tmpdir = None + for repoid in used_target_repos: + if repoid.repoid not in target_repo_id_to_repositories_facts_map: + api.current_logger().warning('The target repository {} metadata not available'.format(repoid.repoid)) + continue + + repo = target_repo_id_to_repositories_facts_map[repoid.repoid] + gpgkeys = _get_repo_gpgkey_urls(repo) + if gpgkeys is None: + repos_missing_keys.append(repo.repoid) + continue + for gpgkey_url in gpgkeys: + if gpgkey_url in processed_gpgkey_urls: + continue + processed_gpgkey_urls.add(gpgkey_url) + + if gpgkey_url.startswith('file:///'): + key_file = _get_abs_file_path(target_userspace, gpgkey_url) + elif gpgkey_url.startswith('http://') or gpgkey_url.startswith('https://'): + # delay creating temporary directory until we need it + tmpdir = tempfile.mkdtemp() if tmpdir is None else tmpdir + # FIXME: what to do with dummy? it's fd, that should be closed also + dummy, tmp_file = tempfile.mkstemp(dir=tmpdir) + try: + urllib.request.urlretrieve(gpgkey_url, tmp_file) + key_file = tmp_file + except urllib.error.URLError as err: + api.current_logger().warning( + 'Failed to download the gpgkey {}: {}'.format(gpgkey_url, str(err))) + failed_download.append(gpgkey_url) + continue + else: + unknown_protocol.append(gpgkey_url) + api.current_logger().error( + 'Skipping unknown protocol for gpgkey {}'.format(gpgkey_url)) + continue + fps = _read_gpg_fp_from_file(key_file) + if not fps: + invalid_keys.append(gpgkey_url) + api.current_logger().warning( + 'Cannot get any gpg key from the file: {}'.format(gpgkey_url) + ) + continue + for fp in fps: + if fp not in pubkeys and gpgkey_url not in missing_keys: + missing_keys.append(_get_abs_file_path(target_userspace, gpgkey_url)) + + if tmpdir: + # clean up temporary directory with downloaded gpg keys + shutil.rmtree(tmpdir) + + # report + if failed_download: + _report_failed_download(failed_download) + if unknown_protocol: + _report_unknown_protocol(unknown_protocol) + if invalid_keys: + _report_invalid_keys(invalid_keys) + if missing_keys: + _report_missing_keys(missing_keys) + if repos_missing_keys: + _report_repos_missing_keys(repos_missing_keys) + + register_dnfworkaround() diff --git a/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/tests/component_test_missinggpgkey.py b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/tests/component_test_missinggpgkey.py new file mode 100644 index 0000000..7da13ce --- /dev/null +++ b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/tests/component_test_missinggpgkey.py @@ -0,0 +1,665 @@ +import pytest +from six.moves.urllib.error import URLError + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor.missinggpgkey import _pubkeys_from_rpms, process +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, logger_mocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import ( + DNFWorkaround, + InstalledRPM, + Report, + RepositoriesFacts, + RepositoryData, + RepositoryFile, + RPM, + TargetUserSpaceInfo, + TMPTargetRepositoriesFacts, + UsedTargetRepositories, + UsedTargetRepository +) +from leapp.utils.deprecation import suppress_deprecation + +# Note, that this is not a real component test as described in the documentation, +# but basically unit test calling the "main" function process() to simulate the +# whole process as I was initially advised not to use these component tests. + + +def _get_test_installedrpm_no_my_key(): + """ + Valid RPM packages missing the key we are looking for (epel9) + """ + return [ + RPM( + name='rpm', + version='4.16.1.3', + release='17.el9', + epoch='0', + packager='Red Hat, Inc. ', + arch='x86_64', + pgpsig='RSA/SHA256, Mon 08 Aug 2022 09:10:15 AM UTC, Key ID 199e2f91fd431d51', + repository='BaseOS', + ), + RPM( + name='gpg-pubkey', + version='fd431d51', + release='4ae0493b', + epoch='0', + packager='Red Hat, Inc. (release key 2) ', + arch='noarch', + pgpsig='' + ), + RPM( + name='gpg-pubkey', + version='5a6340b3', + release='6229229e', + epoch='0', + packager='Red Hat, Inc. (auxiliary key 3) ', + arch='noarch', + pgpsig='' + ), + ] + + +def _get_test_installedrpm(): + """ + All test RPMS packages + """ + return InstalledRPM( + items=[ + RPM( + name='gpg-pubkey', + version='3228467c', + release='613798eb', + epoch='0', + packager='Fedora (epel9) ', + arch='noarch', + pgpsig='' + ), + ] + _get_test_installedrpm_no_my_key(), + ) + + +def _get_test_targuserspaceinfo(path='/'): + """ + Test TargetUserSpaceInfo which is needed to access the files in container root dir + """ + return TargetUserSpaceInfo( + path=path, + scratch='', + mounts='', + ) + + +def _get_test_usedtargetrepositories_list(): + """ + All target userspace directories + """ + return [ + UsedTargetRepository( + repoid='BaseOS', + ), + UsedTargetRepository( + repoid='AppStream', + ), + UsedTargetRepository( + repoid='MyAnotherRepo', + ), + ] + + +def _get_test_usedtargetrepositories(): + """ + The UsedTargetRepositories containing all repositories + """ + return UsedTargetRepositories( + repos=_get_test_usedtargetrepositories_list() + ) + + +def _get_test_target_repofile(): + """ + The valid RepositoryFile containing valid BaseOS and AppStream repositories + """ + return RepositoryFile( + file='/etc/yum.repos.d/target_rhel.repo', + data=[ + RepositoryData( + repoid='BaseOS', + name="RHEL BaseOS repository", + baseurl="/whatever/", + enabled=True, + additional_fields='{"gpgkey":"file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release"}' + ), + RepositoryData( + repoid='AppStream', + name="RHEL AppStream repository", + baseurl="/whatever/", + enabled=True, + additional_fields='{"gpgkey":"file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release"}' + ), + ], + ) + + +def _get_test_target_repofile_additional(): + """ + The custom target repofile containing "problematic" repositories + """ + return RepositoryFile( + file='/etc/yum.repos.d/my_target_rhel.repo', + data=[ + RepositoryData( + repoid='MyRepo', + name="My repository", + baseurl="/whatever/", + enabled=False, + ), + RepositoryData( + repoid='MyAnotherRepo', + name="My another repository", + baseurl="/whatever/", + enabled=True, + additional_fields='{"gpgkey":"file:///etc/pki/rpm-gpg/RPM-GPG-KEY-my-release"}' + ), + ], + ) + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def _get_test_tmptargetrepositoriesfacts(): + """ + All target repositories facts + """ + return TMPTargetRepositoriesFacts( + repositories=[ + _get_test_target_repofile(), + _get_test_target_repofile_additional(), + ], + ) + + +def test_perform_nogpgcheck(monkeypatch): + """ + Executes the "main" function with the --nogpgcheck commandline switch + + This test should skip any checks and just log a message that no checks were executed + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + envars={'LEAPP_NOGPGCHECK': '1'}, + msgs=[ + _get_test_installedrpm(), + _get_test_usedtargetrepositories(), + _get_test_tmptargetrepositoriesfacts(), + ], + )) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + process() + + assert api.produce.called == 0 + assert len(api.current_logger.warnmsg) == 1 + assert '--nogpgcheck option is used' in api.current_logger.warnmsg[0] + + +@pytest.mark.parametrize('msgs', [ + [], + [_get_test_installedrpm], + [_get_test_usedtargetrepositories], + [_get_test_tmptargetrepositoriesfacts], + # These are just incomplete lists of required facts + [_get_test_installedrpm(), _get_test_usedtargetrepositories()], + [_get_test_usedtargetrepositories(), _get_test_tmptargetrepositoriesfacts()], + [_get_test_installedrpm(), _get_test_tmptargetrepositoriesfacts()], +]) +def test_perform_missing_facts(monkeypatch, msgs): + """ + Executes the "main" function with missing required facts + + The missing facts (either RPM information, Target Repositories or their facts) cause + the StopActorExecutionError excepction. But this should be rare as the required facts + are clearly defined in the actor interface. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + # TODO: the gpg call should be mocked + + with pytest.raises(StopActorExecutionError): + process() + # nothing produced + assert api.produce.called == 0 + # not skipped by --nogpgcheck + assert not api.current_logger.warnmsg + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def _get_test_tmptargetrepositoriesfacts_partial(): + return [ + _get_test_installedrpm(), + _get_test_usedtargetrepositories(), + TMPTargetRepositoriesFacts( + repositories=[ + _get_test_target_repofile(), + # missing MyAnotherRepo + ] + ) + ] + + +def _gpg_show_keys_mocked(key_path): + """ + Get faked output from gpg reading keys. + + This is needed to get away from dependency on the filesystem + """ + if key_path == '/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release': + return { + 'stdout': [ + 'pub:-:4096:1:199E2F91FD431D51:1256212795:::-:::scSC::::::23::0:', + 'fpr:::::::::567E347AD0044ADE55BA8A5F199E2F91FD431D51:', + ('uid:-::::1256212795::DC1CAEC7997B3575101BB0FCAAC6191792660D8F::' + 'Red Hat, Inc. (release key 2) ::::::::::0:'), + 'pub:-:4096:1:5054E4A45A6340B3:1646863006:::-:::scSC::::::23::0:', + 'fpr:::::::::7E4624258C406535D56D6F135054E4A45A6340B3:', + ('uid:-::::1646863006::DA7F68E3872D6E7BDCE05225E7EB5F3ACDD9699F::' + 'Red Hat, Inc. (auxiliary key 3) ::::::::::0:'), + ], + 'stderr': (), + 'exit_code': 0, + } + if key_path == '/etc/pki/rpm-gpg/RPM-GPG-KEY-my-release': # actually epel9 key + return { + 'stdout': [ + 'pub:-:4096:1:8A3872BF3228467C:1631033579:::-:::escESC::::::23::0:', + 'fpr:::::::::FF8AD1344597106ECE813B918A3872BF3228467C:', + ('uid:-::::1631033579::3EED52B2BDE50880047DB883C87B0FCAE458D111::' + 'Fedora (epel9) ::::::::::0:'), + ], + 'stderr': (), + 'exit_code': 0, + } + + return { + 'stdout': [ + 'pub:-:4096:1:F55AD3FB5323552A:1628617948:::-:::escESC::::::23::0:', + 'fpr:::::::::ACB5EE4E831C74BB7C168D27F55AD3FB5323552A:', + ('uid:-::::1628617948::4830BB019772421B89ABD0BBE245B89C73BF053F::' + 'Fedora (37) ::::::::::0:'), + ], + 'stderr': (), + 'exit_code': 0, + } + + +def _get_pubkeys_mocked(installed_rpms): + """ + This skips getting fps from files in container for simplification + """ + return _pubkeys_from_rpms(installed_rpms) + + +def test_perform_missing_some_repo_facts(monkeypatch): + """ + Executes the "main" function with missing repositories facts + + This is misalignment in the provided facts UsedTargetRepositories and TMPTargetRepositoriesFacts, + where we miss some metadata that are required by the first message. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=_get_test_tmptargetrepositoriesfacts_partial()) + ) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._gpg_show_keys', _gpg_show_keys_mocked) + + with pytest.raises(StopActorExecutionError): + process() + assert api.produce.called == 0 + assert reporting.create_report.called == 0 + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def _get_test_tmptargetrepositoriesfacts_https_unused(): + return [ + _get_test_targuserspaceinfo(), + _get_test_installedrpm(), + _get_test_usedtargetrepositories(), + TMPTargetRepositoriesFacts( + repositories=[ + _get_test_target_repofile(), + _get_test_target_repofile_additional(), + RepositoryFile( + file='/etc/yum.repos.d/internet.repo', + data=[ + RepositoryData( + repoid='ExternalRepo', + name="External repository", + baseurl="/whatever/path", + enabled=True, + additional_fields='{"gpgkey":"https://example.com/rpm-gpg/key.gpg"}', + ), + ], + ) + ], + ), + ] + + +def test_perform_https_gpgkey_unused(monkeypatch): + """ + Executes the "main" function with repositories providing keys over internet + + The external repository is not listed in UsedTargetRepositories so the repository + is not checked and we should not get any error here. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=_get_test_tmptargetrepositoriesfacts_https_unused() + )) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._gpg_show_keys', _gpg_show_keys_mocked) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._get_pubkeys', _get_pubkeys_mocked) + + process() + assert not api.current_logger.warnmsg + assert api.produce.called == 1 + assert isinstance(api.produce.model_instances[0], DNFWorkaround) + assert reporting.create_report.called == 0 + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def get_test_tmptargetrepositoriesfacts_https(): + return ( + _get_test_targuserspaceinfo(), + _get_test_installedrpm(), + UsedTargetRepositories( + repos=_get_test_usedtargetrepositories_list() + [ + UsedTargetRepository( + repoid='ExternalRepo', + ), + ] + ), + TMPTargetRepositoriesFacts( + repositories=[ + _get_test_target_repofile(), + _get_test_target_repofile_additional(), + RepositoryFile( + file='/etc/yum.repos.d/internet.repo', + data=[ + RepositoryData( + repoid='ExternalRepo', + name="External repository", + baseurl="/whatever/path", + enabled=True, + additional_fields='{"gpgkey":"https://example.com/rpm-gpg/key.gpg"}', + ), + ], + ) + ], + ), + ) + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def get_test_tmptargetrepositoriesfacts_ftp(): + return ( + _get_test_targuserspaceinfo(), + _get_test_installedrpm(), + UsedTargetRepositories( + repos=_get_test_usedtargetrepositories_list() + [ + UsedTargetRepository( + repoid='ExternalRepo', + ), + ] + ), + TMPTargetRepositoriesFacts( + repositories=[ + _get_test_target_repofile(), + _get_test_target_repofile_additional(), + RepositoryFile( + file='/etc/yum.repos.d/internet.repo', + data=[ + RepositoryData( + repoid='ExternalRepo', + name="External repository", + baseurl="/whatever/path", + enabled=True, + additional_fields='{"gpgkey":"ftp://example.com/rpm-gpg/key.gpg"}', + ), + ], + ) + ], + ), + ) + + +def _urlretrive_mocked(url, filename=None, reporthook=None, data=None): + return filename + + +def test_perform_https_gpgkey(monkeypatch): + """ + Executes the "main" function with repositories providing keys over internet + + This produces an report. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=get_test_tmptargetrepositoriesfacts_https()) + ) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._gpg_show_keys', _gpg_show_keys_mocked) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._get_pubkeys', _get_pubkeys_mocked) + monkeypatch.setattr('six.moves.urllib.request.urlretrieve', _urlretrive_mocked) + + process() + assert api.produce.called == 1 + assert isinstance(api.produce.model_instances[0], DNFWorkaround) + assert reporting.create_report.called == 1 + assert "Detected unknown GPG keys for target system repositories" in reporting.create_report.reports[0]['title'] + assert "https://example.com/rpm-gpg/key.gpg" in reporting.create_report.reports[0]['summary'] + + +def _urlretrive_mocked_urlerror(url, filename=None, reporthook=None, data=None): + raise URLError('error') + + +def test_perform_https_gpgkey_urlerror(monkeypatch): + """ + Executes the "main" function with repositories providing keys over internet + + This results in warning message printed. Other than that, no report is still produced. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=get_test_tmptargetrepositoriesfacts_https()) + ) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._gpg_show_keys', _gpg_show_keys_mocked) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._get_pubkeys', _get_pubkeys_mocked) + monkeypatch.setattr('six.moves.urllib.request.urlretrieve', _urlretrive_mocked_urlerror) + + process() + assert len(api.current_logger.warnmsg) == 1 + assert 'Failed to download the gpgkey https://example.com/rpm-gpg/key.gpg:' in api.current_logger.warnmsg[0] + assert api.produce.called == 1 + assert isinstance(api.produce.model_instances[0], DNFWorkaround) + assert reporting.create_report.called == 1 + assert "Failed to download GPG key for target repository" in reporting.create_report.reports[0]['title'] + assert "https://example.com/rpm-gpg/key.gpg" in reporting.create_report.reports[0]['summary'] + + +def test_perform_ftp_gpgkey(monkeypatch): + """ + Executes the "main" function with repositories providing keys over internet + + This results in error message printed. Other than that, no report is still produced. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=get_test_tmptargetrepositoriesfacts_ftp()) + ) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._gpg_show_keys', _gpg_show_keys_mocked) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._get_pubkeys', _get_pubkeys_mocked) + + process() + assert len(api.current_logger.errmsg) == 1 + assert 'Skipping unknown protocol for gpgkey ftp://example.com/rpm-gpg/key.gpg' in api.current_logger.errmsg[0] + assert api.produce.called == 1 + assert isinstance(api.produce.model_instances[0], DNFWorkaround) + assert reporting.create_report.called == 1 + assert 'GPG keys provided using unknown protocol' in reporting.create_report.reports[0]['title'] + assert 'ftp://example.com/rpm-gpg/key.gpg' in reporting.create_report.reports[0]['summary'] + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def get_test_data_missing_key(): + return [ + _get_test_targuserspaceinfo(), + InstalledRPM(items=_get_test_installedrpm_no_my_key()), + _get_test_usedtargetrepositories(), + _get_test_tmptargetrepositoriesfacts(), + ] + + +def test_perform_report(monkeypatch): + """ + Executes the "main" function with missing keys + + This should result in report outlining what key mentioned in target repositories is missing. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=get_test_data_missing_key()) + ) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._gpg_show_keys', _gpg_show_keys_mocked) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._get_pubkeys', _get_pubkeys_mocked) + + process() + assert not api.current_logger.warnmsg + assert api.produce.called == 1 + assert isinstance(api.produce.model_instances[0], DNFWorkaround) + assert reporting.create_report.called == 1 + assert "Detected unknown GPG keys for target system repositories" in reporting.create_report.reports[0]['title'] + assert "/etc/pki/rpm-gpg/RPM-GPG-KEY-my-release" in reporting.create_report.reports[0]['summary'] + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def get_test_data_no_gpg_data(): + return [ + _get_test_targuserspaceinfo(), + _get_test_installedrpm(), + _get_test_usedtargetrepositories(), + _get_test_tmptargetrepositoriesfacts(), + ] + + +def _gpg_show_keys_mocked_my_empty(key_path): + """ + Get faked output from gpg reading keys. + + This is needed to get away from dependency on the filesystem. This time, the key + /etc/pki/rpm-gpg/RPM-GPG-KEY-my-release does not return any GPG data + """ + if key_path == '/etc/pki/rpm-gpg/RPM-GPG-KEY-my-release': + return { + 'stdout': (), + 'stderr': ('gpg: no valid OpenPGP data found.\n'), + 'exit_code': 2, + } + return _gpg_show_keys_mocked(key_path) + + +def test_perform_invalid_key(monkeypatch): + """ + Executes the "main" function with a gpgkey not containing any GPG data + + This should result in report outlining what key does not contain any valid data. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=get_test_data_no_gpg_data()) + ) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._gpg_show_keys', _gpg_show_keys_mocked_my_empty) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._get_pubkeys', _get_pubkeys_mocked) + + process() + assert len(api.current_logger.warnmsg) == 1 + assert 'Cannot get any gpg key from the file' in api.current_logger.warnmsg[0] + assert api.produce.called == 1 + assert isinstance(api.produce.model_instances[0], DNFWorkaround) + assert reporting.create_report.called == 1 + assert 'Failed to read GPG keys from provided key files' in reporting.create_report.reports[0]['title'] + assert 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-my-release' in reporting.create_report.reports[0]['summary'] + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def get_test_data_gpgcheck_without_gpgkey(): + return [ + _get_test_targuserspaceinfo(), + _get_test_installedrpm(), + UsedTargetRepositories( + repos=_get_test_usedtargetrepositories_list() + [ + UsedTargetRepository( + repoid='InvalidRepo', + ), + ] + ), + TMPTargetRepositoriesFacts( + repositories=[ + _get_test_target_repofile(), + _get_test_target_repofile_additional(), + RepositoryFile( + file='/etc/yum.repos.d/invalid.repo', + data=[ + RepositoryData( + repoid='InvalidRepo', + name="Invalid repository", + baseurl="/whatever/path", + enabled=True, + additional_fields='{"gpgcheck":"1"}', # this should be default + ), + ], + ) + ], + ), + ] + + +def test_perform_gpgcheck_without_gpgkey(monkeypatch): + """ + Executes the "main" function with a repository containing a gpgcheck=1 without any gpgkey= + + This should result in report outlining that this configuration is not supported + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=get_test_data_gpgcheck_without_gpgkey()) + ) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._gpg_show_keys', _gpg_show_keys_mocked) + monkeypatch.setattr('leapp.libraries.actor.missinggpgkey._get_pubkeys', _get_pubkeys_mocked) + + process() + assert len(api.current_logger.warnmsg) == 1 + assert ('The gpgcheck for the InvalidRepo repository is enabled but gpgkey is not specified.' + ' Cannot be checked.') in api.current_logger.warnmsg[0] + assert api.produce.called == 1 + assert isinstance(api.produce.model_instances[0], DNFWorkaround) + assert reporting.create_report.called == 1 + assert 'Inconsistent repository without GPG key' in reporting.create_report.reports[0]['title'] + assert 'InvalidRepo' in reporting.create_report.reports[0]['summary'] diff --git a/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/tests/unit_test_missinggpgkey.py b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/tests/unit_test_missinggpgkey.py new file mode 100644 index 0000000..68e4cdf --- /dev/null +++ b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/tests/unit_test_missinggpgkey.py @@ -0,0 +1,238 @@ +import os +import shutil +import sys +import tempfile + +import distro +import pytest + +from leapp.libraries.actor.missinggpgkey import ( + _expand_vars, + _get_abs_file_path, + _get_path_to_gpg_certs, + _get_pubkeys, + _get_repo_gpgkey_urls, + _gpg_show_keys, + _parse_fp_from_gpg, + _pubkeys_from_rpms +) +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledRPM, RepositoryData, RPM, TargetUserSpaceInfo + + +def is_rhel7(): + return int(distro.major_version()) < 8 + + +def test_gpg_show_keys(current_actor_context, monkeypatch): + src = '7.9' if is_rhel7() else '8.6' + current_actor = CurrentActorMocked(src_ver=src) + monkeypatch.setattr(api, 'current_actor', current_actor) + + # python2 compatibility :/ + dirpath = tempfile.mkdtemp() + + # using GNUPGHOME env should avoid gnupg modifying the system + os.environ['GNUPGHOME'] = dirpath + + try: + # non-existing file + non_existent_path = os.path.join(dirpath, 'nonexistent') + res = _gpg_show_keys(non_existent_path) + if is_rhel7(): + err_msg = "gpg: can't open `{}'".format(non_existent_path) + else: + err_msg = "gpg: can't open '{}': No such file or directory\n".format(non_existent_path) + assert not res['stdout'] + assert err_msg in res['stderr'] + assert res['exit_code'] == 2 + + fp = _parse_fp_from_gpg(res) + assert fp == [] + + # no gpg data found + no_key_path = os.path.join(dirpath, "no_key") + with open(no_key_path, "w") as f: + f.write('test') + + res = _gpg_show_keys(no_key_path) + if is_rhel7(): + err_msg = ('gpg: no valid OpenPGP data found.\n' + 'gpg: processing message failed: Unknown system error\n') + else: + err_msg = 'gpg: no valid OpenPGP data found.\n' + assert not res['stdout'] + assert res['stderr'] == err_msg + assert res['exit_code'] == 2 + + fp = _parse_fp_from_gpg(res) + assert fp == [] + + # with some test data now -- rhel9 release key + # rhel9_key_path = os.path.join(api.get_common_folder_path('rpm-gpg'), '9') + cur_dir = os.path.dirname(os.path.abspath(__file__)) + rhel9_key_path = os.path.join(cur_dir, '..', '..', '..', 'files', 'rpm-gpg', '9', + 'RPM-GPG-KEY-redhat-release') + res = _gpg_show_keys(rhel9_key_path) + finally: + shutil.rmtree(dirpath) + + if is_rhel7(): + assert len(res['stdout']) == 4 + assert res['stdout'][0] == ('pub:-:4096:1:199E2F91FD431D51:1256212795:::-:' + 'Red Hat, Inc. (release key 2) :') + assert res['stdout'][1] == 'fpr:::::::::567E347AD0044ADE55BA8A5F199E2F91FD431D51:' + assert res['stdout'][2] == ('pub:-:4096:1:5054E4A45A6340B3:1646863006:::-:' + 'Red Hat, Inc. (auxiliary key 3) :') + assert res['stdout'][3] == 'fpr:::::::::7E4624258C406535D56D6F135054E4A45A6340B3:' + else: + assert len(res['stdout']) == 6 + assert res['stdout'][0] == 'pub:-:4096:1:199E2F91FD431D51:1256212795:::-:::scSC::::::23::0:' + assert res['stdout'][1] == 'fpr:::::::::567E347AD0044ADE55BA8A5F199E2F91FD431D51:' + assert res['stdout'][2] == ('uid:-::::1256212795::DC1CAEC7997B3575101BB0FCAAC6191792660D8F::' + 'Red Hat, Inc. (release key 2) ::::::::::0:') + assert res['stdout'][3] == 'pub:-:4096:1:5054E4A45A6340B3:1646863006:::-:::scSC::::::23::0:' + assert res['stdout'][4] == 'fpr:::::::::7E4624258C406535D56D6F135054E4A45A6340B3:' + assert res['stdout'][5] == ('uid:-::::1646863006::DA7F68E3872D6E7BDCE05225E7EB5F3ACDD9699F::' + 'Red Hat, Inc. (auxiliary key 3) ::::::::::0:') + + err = '{}/trustdb.gpg: trustdb created'.format(dirpath) + assert err in res['stderr'] + assert res['exit_code'] == 0 + + # now, parse the output too + fp = _parse_fp_from_gpg(res) + assert fp == ['fd431d51', '5a6340b3'] + + +@pytest.mark.parametrize('res, exp', [ + ({'exit_code': 2, 'stdout': '', 'stderr': ''}, []), + ({'exit_code': 2, 'stdout': '', 'stderr': 'bash: gpg2: command not found...'}, []), + ({'exit_code': 0, 'stdout': 'Some other output', 'stderr': ''}, []), + ({'exit_code': 0, 'stdout': ['Some other output', 'other line'], 'stderr': ''}, []), + ({'exit_code': 0, 'stdout': ['pub:-:4096:1:199E2F91FD431D:'], 'stderr': ''}, []), + ({'exit_code': 0, 'stdout': ['pub:-:4096:1:5054E4A45A6340B3:1..'], 'stderr': ''}, ['5a6340b3']), +]) +def test_parse_fp_from_gpg(res, exp): + fp = _parse_fp_from_gpg(res) + assert fp == exp + + +@pytest.mark.parametrize('target, product_type, exp', [ + ('8.6', 'beta', '../../files/rpm-gpg/8beta'), + ('8.8', 'htb', '../../files/rpm-gpg/8'), + ('9.0', 'beta', '../../files/rpm-gpg/9beta'), + ('9.2', 'ga', '../../files/rpm-gpg/9'), +]) +def test_get_path_to_gpg_certs(current_actor_context, monkeypatch, target, product_type, exp): + current_actor = CurrentActorMocked(dst_ver=target, + envars={'LEAPP_DEVEL_TARGET_PRODUCT_TYPE': product_type}) + monkeypatch.setattr(api, 'current_actor', current_actor) + + p = _get_path_to_gpg_certs() + assert p == exp + + +@pytest.mark.parametrize('data, exp', [ + ('bare string', 'bare string'), + ('with dollar$$$', 'with dollar$$$'), + ('path/with/$basearch/something', 'path/with/x86_64/something'), + ('path/with/$releasever/something', 'path/with/9/something'), + ('path/with/$releasever/$basearch', 'path/with/9/x86_64'), + ('path/with/$releasever/$basearch', 'path/with/9/x86_64'), +]) +def test_expand_vars(monkeypatch, data, exp): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='9.1')) # x86_64 arch is default + res = _expand_vars(data) + assert res == exp + + +def _get_test_installed_rmps(): + return InstalledRPM( + items=[ + RPM(name='gpg-pubkey', + version='9570ff31', + release='5e3006fb', + epoch='0', + packager='Fedora (33) ', + arch='noarch', + pgpsig=''), + RPM(name='rpm', + version='4.17.1', + release='3.fc35', + epoch='0', + packager='Fedora Project', + arch='x86_64', + pgpsig='RSA/SHA256, Tue 02 Aug 2022 03:12:43 PM CEST, Key ID db4639719867c58f'), + ], + ) + + +def test_pubkeys_from_rpms(): + installed_rpm = _get_test_installed_rmps() + assert _pubkeys_from_rpms(installed_rpm) == ['9570ff31'] + + +# @pytest.mark.parametrize('target, product_type, exp', [ +# ('8.6', 'beta', ['F21541EB']), +# ('8.8', 'htb', ['FD431D51', 'D4082792']), # ga +# ('9.0', 'beta', ['F21541EB']), +# ('9.2', 'ga', ['FD431D51', '5A6340B3']), +# ]) +# Def test_get_pubkeys(current_actor_context, monkeypatch, target, product_type, exp): +# current_actor = CurrentActorMocked(dst_ver=target, +# envars={'LEAPP_DEVEL_TARGET_PRODUCT_TYPE': product_type}) +# monkeypatch.setattr(api, 'current_actor', current_actor) +# installed_rpm = _get_test_installed_rmps() +# +# p = _get_pubkeys(installed_rpm) +# assert '9570ff31' in p +# for x in exp: +# assert x in p + + +@pytest.mark.parametrize('repo, exp', [ + (RepositoryData(repoid='dummy', name='name'), None), + (RepositoryData(repoid='dummy', name='name', additional_fields='{}'), None), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgcheck":"1"}'), None), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgcheck":"0"}'), []), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgcheck":"no"}'), []), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgcheck":"False"}'), []), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgkey":"dummy"}'), ["dummy"]), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgcheck":"1","gpgkey":"dummy"}'), + ["dummy"]), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgkey":"dummy, another"}'), + ["dummy", "another"]), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgkey":"dummy\\nanother"}'), + ["dummy", "another"]), + (RepositoryData(repoid='dummy', name='name', additional_fields='{"gpgkey":"$releasever"}'), + ["9"]), +]) +def test_get_repo_gpgkey_urls(monkeypatch, repo, exp): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='9.1')) + keys = _get_repo_gpgkey_urls(repo) + assert keys == exp + + +@pytest.mark.parametrize('target_userspace, file_url, exists_in_container, exp', [ + (TargetUserSpaceInfo(path='/', scratch='', mounts=''), 'file:///path/to/key', True, '/path/to/key'), + (TargetUserSpaceInfo(path='/', scratch='', mounts=''), 'file:///path/to/key', False, '/path/to/key'), + (TargetUserSpaceInfo(path='/path/to/container/', scratch='', mounts=''), 'file:///path/to/key', True, + '/path/to/container/path/to/key'), + (TargetUserSpaceInfo(path='/path/to/container/', scratch='', mounts=''), 'file:///path/to/key', False, + '/path/to/key'), + (TargetUserSpaceInfo(path='/path/to/container/', scratch='', mounts=''), 'https://example.com/path/to/key', + True, 'https://example.com/path/to/key'), + (TargetUserSpaceInfo(path='/path/to/container/', scratch='', mounts=''), 'https://example.com/path/to/key', + False, 'https://example.com/path/to/key'), +]) +def test_get_abs_file_path(monkeypatch, target_userspace, file_url, exists_in_container, exp): + def os_path_exists_mocked(path): + if path == os.path.join(target_userspace.path, file_url[8:]) and exists_in_container: + return True + return False + + monkeypatch.setattr('os.path.exists', os_path_exists_mocked) + path = _get_abs_file_path(target_userspace, file_url) + assert path == exp diff --git a/repos/system_upgrade/common/actors/opensshconfigscanner/actor.py b/repos/system_upgrade/common/actors/opensshconfigscanner/actor.py new file mode 100644 index 0000000..4553f3e --- /dev/null +++ b/repos/system_upgrade/common/actors/opensshconfigscanner/actor.py @@ -0,0 +1,28 @@ +from leapp.actors import Actor +from leapp.libraries.actor import readopensshconfig +from leapp.models import OpenSshConfig +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class OpenSshConfigScanner(Actor): + """ + Collect information about the OpenSSH configuration. + + Currently supporting the following options: + + * PermitRootLogin + * UsePrivilegeSeparation + * Protocol + * Ciphers + * MACs + * Subsystem sftp + + """ + + name = 'read_openssh_config' + consumes = () + produces = (OpenSshConfig, ) + tags = (FactsPhaseTag, IPUWorkflowTag, ) + + def process(self): + readopensshconfig.scan_sshd(self.produce) diff --git a/repos/system_upgrade/common/actors/opensshconfigscanner/libraries/readopensshconfig.py b/repos/system_upgrade/common/actors/opensshconfigscanner/libraries/readopensshconfig.py new file mode 100644 index 0000000..e6cb9fc --- /dev/null +++ b/repos/system_upgrade/common/actors/opensshconfigscanner/libraries/readopensshconfig.py @@ -0,0 +1,107 @@ +import errno + +from leapp.libraries.common.rpms import check_file_modification +from leapp.libraries.stdlib import api +from leapp.models import OpenSshConfig, OpenSshPermitRootLogin + +CONFIG = '/etc/ssh/sshd_config' +DEPRECATED_DIRECTIVES = ['showpatchlevel'] + + +def line_empty(line): + return len(line) == 0 or line.startswith('\n') or line.startswith('#') + + +def parse_config(config): + """Parse OpenSSH server configuration or the output of sshd test option.""" + + # RHEL7 defaults + ret = OpenSshConfig( + permit_root_login=[], + deprecated_directives=[] + ) + + in_match = None + for line in config: + line = line.strip() + if line_empty(line): + continue + + el = line.split() + if len(el) < 2: + continue + value = el[1] + if el[0].lower() == 'match': + in_match = el[1:] + continue + + if el[0].lower() == 'permitrootlogin': + # convert deprecated alias + if value == "without-password": + value = "prohibit-password" + v = OpenSshPermitRootLogin(value=value, in_match=in_match) + ret.permit_root_login.append(v) + + elif el[0].lower() == 'useprivilegeseparation': + # Record only first occurrence, which is effective + if not ret.use_privilege_separation: + ret.use_privilege_separation = value + + elif el[0].lower() == 'protocol': + # Record only first occurrence, which is effective + if not ret.protocol: + ret.protocol = value + + elif el[0].lower() == 'ciphers': + # Record only first occurrence, which is effective + if not ret.ciphers: + ret.ciphers = value + + elif el[0].lower() == 'macs': + # Record only first occurrence, which is effective + if not ret.macs: + ret.macs = value + + elif el[0].lower() == 'subsystem': + # Record only first occurrence, which is effective + if el[1].lower() == 'sftp' and len(el) > 2 and not ret.subsystem_sftp: + # here we need to record all remaining items as command and arguments + ret.subsystem_sftp = ' '.join(el[2:]) + + elif el[0].lower() in DEPRECATED_DIRECTIVES: + # Filter out duplicit occurrences of the same deprecated directive + if el[0].lower() not in ret.deprecated_directives: + # Use the directive in the form as found in config for user convenience + ret.deprecated_directives.append(el[0]) + return ret + + +def produce_config(producer, config): + """Produce a Leapp message with all interesting OpenSSH configuration options.""" + + producer(config) + + +def read_sshd_config(): + """Read the actual sshd configuration file.""" + try: + with open(CONFIG, 'r') as fd: + return fd.readlines() + except IOError as err: + if err.errno != errno.ENOENT: + error = 'Failed to read sshd_config: {}'.format(str(err)) + api.current_logger().error(error) + return [] + + +def scan_sshd(producer): + """Parse sshd_config configuration file to create OpenSshConfig message.""" + + # direct access to configuration file + output = read_sshd_config() + config = parse_config(output) + + # find out whether the file was modified from the one shipped in rpm + config.modified = check_file_modification(CONFIG) + + produce_config(producer, config) diff --git a/repos/system_upgrade/common/actors/opensshconfigscanner/tests/test_readopensshconfig_opensshconfigscanner.py b/repos/system_upgrade/common/actors/opensshconfigscanner/tests/test_readopensshconfig_opensshconfigscanner.py new file mode 100644 index 0000000..68a9ec4 --- /dev/null +++ b/repos/system_upgrade/common/actors/opensshconfigscanner/tests/test_readopensshconfig_opensshconfigscanner.py @@ -0,0 +1,178 @@ +from leapp.libraries.actor.readopensshconfig import line_empty, parse_config, produce_config +from leapp.models import OpenSshConfig, OpenSshPermitRootLogin + + +def test_line_empty(): + assert line_empty("".strip()) is True + assert line_empty(" ".strip()) is True + assert line_empty(" # comment".strip()) is True + assert line_empty("# comment".strip()) is True + assert line_empty("option".strip()) is False + assert line_empty(" option".strip()) is False + + +def test_parse_config(): + config = [ + "# comment from file", + "", # empty line + " ", # whitespace line + "permitrootlogin prohibit-password", + "permittty yes", + "useprivilegeseparation no", + "protocol 2", + "hostkey /etc/ssh/ssh_host_ecdsa_key", # unrelated duplicate keys + "hostkey /etc/ssh/ssh_host_ed25519_key", + "ciphers aes128-ctr", + "macs hmac-md5", + "subsystem sftp internal-sftp", + "subsystem other internal-other", # this is ignored + ] + + output = parse_config(config) + assert isinstance(output, OpenSshConfig) + assert len(output.permit_root_login) == 1 + assert output.permit_root_login[0].value == "prohibit-password" + assert output.use_privilege_separation == "no" + assert output.protocol == "2" + assert output.ciphers == "aes128-ctr" + assert output.macs == "hmac-md5" + assert output.subsystem_sftp == "internal-sftp" + + +def test_parse_config_case(): + config = [ + "PermitRootLogin prohibit-password", + "UsePrivilegeSeparation yes", + "Protocol 1", + "SubSystem sftp sftp-server", + ] + + output = parse_config(config) + assert isinstance(output, OpenSshConfig) + assert len(output.permit_root_login) == 1 + assert output.permit_root_login[0].value == "prohibit-password" + assert output.use_privilege_separation == "yes" + assert output.protocol == "1" + assert output.subsystem_sftp == "sftp-server" + + +def test_parse_config_multiple(): + config = [ + "PermitRootLogin prohibit-password", + "PermitRootLogin no", + "PermitRootLogin yes", + "Ciphers aes128-cbc", + "Ciphers aes256-cbc", + "subsystem sftp internal-sftp", + "subsystem sftp internal-sftp2", + ] + + output = parse_config(config) + assert isinstance(output, OpenSshConfig) + assert len(output.permit_root_login) == 3 + assert output.permit_root_login[0].value == "prohibit-password" + assert output.permit_root_login[1].value == "no" + assert output.permit_root_login[2].value == "yes" + assert output.use_privilege_separation is None + assert output.protocol is None + assert output.ciphers == 'aes128-cbc' + assert output.subsystem_sftp == 'internal-sftp' + + +def test_parse_config_commented(): + config = [ + "#PermitRootLogin no", + "#UsePrivilegeSeparation no", + "#Protocol 12", + "#SubSystem sftp internal-sftp", + ] + + output = parse_config(config) + assert isinstance(output, OpenSshConfig) + assert not output.permit_root_login + assert output.use_privilege_separation is None + assert output.protocol is None + assert output.subsystem_sftp is None + + +def test_parse_config_missing_argument(): + config = [ + "PermitRootLogin", + "UsePrivilegeSeparation", + "Protocol" + "SubSystem" + "SubSystem sftp" + ] + + output = parse_config(config) + assert isinstance(output, OpenSshConfig) + assert not output.permit_root_login + assert output.use_privilege_separation is None + assert output.protocol is None + assert output.subsystem_sftp is None + + +def test_parse_config_match(): + config = [ + "PermitRootLogin yes", + "Match address 192.168.*", + " PermitRootLogin no" + ] + + output = parse_config(config) + assert isinstance(output, OpenSshConfig) + assert len(output.permit_root_login) == 2 + assert output.permit_root_login[0].value == 'yes' + assert output.permit_root_login[0].in_match is None + assert output.permit_root_login[1].value == 'no' + assert output.permit_root_login[1].in_match == ['address', '192.168.*'] + assert output.use_privilege_separation is None + assert output.protocol is None + + +def test_parse_config_deprecated(): + config = [ + "permitrootlogin without-password" + ] + output = parse_config(config) + assert isinstance(output, OpenSshConfig) + assert len(output.permit_root_login) == 1 + assert output.permit_root_login[0].value == "prohibit-password" + + +def test_parse_config_empty(): + output = parse_config([]) + assert isinstance(output, OpenSshConfig) + assert isinstance(output, OpenSshConfig) + assert not output.permit_root_login + assert output.use_privilege_separation is None + assert output.protocol is None + + +def test_produce_config(): + output = [] + + def fake_producer(*args): + output.extend(args) + + config = OpenSshConfig( + permit_root_login=[OpenSshPermitRootLogin(value="no")], + use_privilege_separation="yes", + protocol="1", + deprecated_directives=[], + subsystem_sftp="internal-sftp", + ) + + produce_config(fake_producer, config) + assert len(output) == 1 + cfg = output[0] + assert len(cfg.permit_root_login) == 1 + assert cfg.permit_root_login[0].value == "no" + assert cfg.use_privilege_separation == "yes" + assert cfg.protocol == '1' + assert cfg.subsystem_sftp == 'internal-sftp' + + +def test_actor_execution(current_actor_context): + current_actor_context.run() + assert current_actor_context.consume(OpenSshConfig) diff --git a/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/actor.py b/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/actor.py new file mode 100644 index 0000000..2ac4ec8 --- /dev/null +++ b/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/actor.py @@ -0,0 +1,161 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor.opensshpermitrootlogincheck import global_value, semantics_changes +from leapp.libraries.common.config.version import get_source_major_version +from leapp.libraries.stdlib import api +from leapp.models import OpenSshConfig, Report +from leapp.reporting import create_report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +COMMON_REPORT_TAGS = [ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES +] + +COMMON_RESOURCES = [ + reporting.RelatedResource('package', 'openssh-server'), + reporting.RelatedResource('file', '/etc/ssh/sshd_config') +] + + +class OpenSshPermitRootLoginCheck(Actor): + """ + OpenSSH no longer allows root logins with password. + + Check the values of PermitRootLogin in OpenSSH server configuration file + and warn about potential issues after upgrade to the next major version of RHEL. + + The RHEL8 still provided default configuration that allowed root logins, + which can lead to possible unwanted changes during the upgrade + """ + name = 'openssh_permit_root_login' + consumes = (OpenSshConfig, ) + produces = (Report, ) + tags = (ChecksPhaseTag, IPUWorkflowTag, ) + + def process(self): + openssh_messages = self.consume(OpenSshConfig) + config = next(openssh_messages, None) + if list(openssh_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSshConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssh configuration', details={'details': 'No OpenSshConfig facts found.'} + ) + + if get_source_major_version() == '7': + self.process7to8(config) + elif get_source_major_version() == '8': + self.process8to9(config) + else: + api.current_logger().warning('Unknown source major version: {} (expecting 7 or 8)' + .format(get_source_major_version())) + + def process7to8(self, config): + # when the config was not modified, we can pass this check and let the + # rpm handle the configuration file update + if not config.modified: + return + + # When the configuration does not contain *any* PermitRootLogin directive and + # the configuration file was locally modified, it will not get updated by + # RPM and the user might be locked away from the server with new default + if not config.permit_root_login: + create_report([ + reporting.Title('Possible problems with remote login using root account'), + reporting.Summary( + 'OpenSSH configuration file does not explicitly state ' + 'the option PermitRootLogin in sshd_config file, ' + 'which will default in RHEL8 to "prohibit-password".' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS), + reporting.Remediation( + hint='If you depend on remote root logins using passwords, consider ' + 'setting up a different user for remote administration or adding ' + '"PermitRootLogin yes" to sshd_config. ' + 'If this change is ok for you, add explicit ' + '"PermitRootLogin prohibit-password" to your sshd_config ' + 'to ignore this inhibitor' + ), + reporting.Groups([reporting.Groups.INHIBITOR]) + ] + COMMON_RESOURCES) + return + + # Check if there is at least one PermitRootLogin other than "no" + # in match blocks (other than Match All). + # This usually means some more complicated setup depending on the + # default value being globally "yes" and being overwritten by this + # match block + if semantics_changes(config): + create_report([ + reporting.Title('OpenSSH configured to allow root login'), + reporting.Summary( + 'OpenSSH is configured to deny root logins in match ' + 'blocks, but not explicitly enabled in global or ' + '"Match all" context. This update changes the ' + 'default to disable root logins using passwords ' + 'so your server might get inaccessible.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS), + reporting.Remediation( + hint='Consider using different user for administrative ' + 'logins or make sure your configuration file ' + 'contains the line "PermitRootLogin yes" ' + 'in global context if desired.' + ), + reporting.Groups([reporting.Groups.INHIBITOR]) + ] + COMMON_RESOURCES) + + def process8to9(self, config): + # RHEL8 default sshd configuration file is not modified: It will get replaced by rpm and + # root will no longer be able to connect through ssh. This will probably result in many + # false positives so it will have to be waived a lot + if not config.modified: + create_report([ + reporting.Title('Possible problems with remote login using root account'), + reporting.Summary( + 'OpenSSH configuration file will get updated to RHEL9 ' + 'version, no longer allowing root login with password. ' + 'It is a good practice to use non-root administrative ' + 'user and non-password authentications, but if you rely ' + 'on the remote root login, this change can lock you out ' + 'of this system.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS), + reporting.Remediation( + hint='If you depend on remote root logins using passwords, ' + 'consider setting up a different user for remote ' + 'administration or adding a comment into the ' + 'sshd_config next to the "PermitRootLogin yes" directive ' + 'to prevent rpm replacing it during the upgrade.' + ), + reporting.Groups([reporting.Groups.INHIBITOR]) + ] + COMMON_RESOURCES) + # If the configuration is modified and contains any directive allowing + # root login (which is in default configuration), we are upgrading to + # RHEL9 keeping the old "security policy", which might keep the root + # login unexpectedly open. This might be just high priority warning + if global_value(config, 'prohibit-password') == 'yes': + create_report([ + reporting.Title('Remote root logins globally allowed using password'), + reporting.Summary( + 'RHEL9 no longer allows remote root logins, but the ' + 'server configuration explicitly overrides this default. ' + 'The configuration file will not be updated and root is ' + 'still going to be allowed to login with password. ' + 'This is not recommended and considered as a security risk.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS), + reporting.Remediation( + hint='If you depend on remote root logins using passwords, ' + 'consider setting up a different user for remote ' + 'administration. Otherwise you can ignore this message.' + ) + ] + COMMON_RESOURCES) diff --git a/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/libraries/opensshpermitrootlogincheck.py b/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/libraries/opensshpermitrootlogincheck.py new file mode 100644 index 0000000..c223757 --- /dev/null +++ b/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/libraries/opensshpermitrootlogincheck.py @@ -0,0 +1,43 @@ +def global_value(config, default): + """ + Find the global value for PermitRootLogin option in sshd_config. + + OpenSSH is using the first value found in configuration file, that is not + in match block other than "all". If there is no such option, the argument + "default" will be returned. + """ + for opt in config.permit_root_login: + if (opt.in_match is None or opt.in_match[0].lower() == 'all'): + return opt.value + return default + + +def semantics_changes(config): + """ + Check if the current configuration changes semantics if upgraded from RHEL7 to RHEL8 + + The case where the configuration does not contain *any* PermitRootLogin option is + already covered in the actor and does not need to be handled here. + + This tries to capture the case, where the root login is enabled in at least one + match block. The global default changes so the new configurations will not allow + all password root logins, but there is at least some chance to access the system as + root with password. + + Examples: + * If the root login is globally set (enabled or disabled), the semantics stays the same. + * If the root login is enabled only in match blocks, the semantics changes, but the + machine stays accessible at least for clients matching this block. + + """ + config_global_value = global_value(config, None) + in_match_enabled = False + if not config.permit_root_login: + return True + + for opt in config.permit_root_login: + if opt.value == "yes" and opt.in_match is not None and \ + opt.in_match[0].lower() != 'all': + in_match_enabled = True + + return config_global_value is None and not in_match_enabled diff --git a/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/tests/test_library_opensshpermitrootlogincheck.py b/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/tests/test_library_opensshpermitrootlogincheck.py new file mode 100644 index 0000000..6ccd585 --- /dev/null +++ b/repos/system_upgrade/common/actors/opensshpermitrootlogincheck/tests/test_library_opensshpermitrootlogincheck.py @@ -0,0 +1,236 @@ +from leapp.libraries.actor.opensshpermitrootlogincheck import global_value, semantics_changes +from leapp.models import OpenSshConfig, OpenSshPermitRootLogin + + +def test_empty_file(): + """ Empty file + """ + config = OpenSshConfig( + permit_root_login=[ + ], + deprecated_directives=[] + ) + + assert semantics_changes(config) + assert global_value(config, "default") == "default" + + +def test_globally_enabled(): + """ Configuration file in this format: + + PermitRootLogin yes # explicit + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='yes', + in_match=None) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "yes" + + +def test_globally_disabled(): + """ Configuration file in this format: + + PermitRootLogin no # explicit + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='no', + in_match=None) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "no" + + +def test_globally_disabled_password(): + """ Configuration file in this format: + + PermitRootLogin prohibit-password # explicit + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='prohibit-password', + in_match=None) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "prohibit-password" + + +def test_in_match_disabled(): + """ Configuration file in this format: + + # PermitRootLogin yes # implicit + Match address 10.10.* + PermitRootLogin no + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='no', + in_match=['address', '10.10.*']) + ], + deprecated_directives=[] + ) + + assert semantics_changes(config) + assert global_value(config, "default") == "default" + + +def test_in_match_disabled_password(): + """ Configuration file in this format: + + # PermitRootLogin yes # implicit + Match address 192.168.* + PermitRootLogin prohibit-password + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='prohibit-password', + in_match=['address', '10.10.*']) + ], + deprecated_directives=[] + ) + + assert semantics_changes(config) + assert global_value(config, "default") == "default" + + +def test_in_match_enabled(): + """ Configuration file in this format: + + # PermitRootLogin yes # implicit + Match address 192.168.* + PermitRootLogin yes + """ + # TODO This is suspicious configuration we should probably handle separately + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='yes', + in_match=['address', '192.168.*']) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "default" + + +def test_in_match_all_disabled(): + """ Configuration file in this format: + + # PermitRootLogin yes # implicit + Match all + PermitRootLogin no + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='no', + in_match=['all']) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "no" + + +def test_in_match_all_disabled_password(): + """ Configuration file in this format: + + # PermitRootLogin yes # implicit + Match all + PermitRootLogin prohibit-password + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='prohibit-password', + in_match=['all']) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "prohibit-password" + + +def test_in_match_all_enabled(): + """ Configuration file in this format: + + # PermitRootLogin yes # implicit + Match all + PermitRootLogin yes + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='yes', + in_match=['all']) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "yes" + + +def test_in_match_enabled_globally_disabled(): + """ Configuration file in this format: + + PermitRootLogin no # explicit + Match address 192.* + PermitRootLogin yes + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='no', + in_match=None), + OpenSshPermitRootLogin( + value='yes', + in_match=['address', '192.*']) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "no" + + +def test_in_match_disabled_globally_enabled(): + """ Configuration file in this format: + + PermitRootLogin yes # explicit + Match address 192.* + PermitRootLogin no + """ + config = OpenSshConfig( + permit_root_login=[ + OpenSshPermitRootLogin( + value='yes', + in_match=None), + OpenSshPermitRootLogin( + value='no', + in_match=['address', '192.*']) + ], + deprecated_directives=[] + ) + + assert not semantics_changes(config) + assert global_value(config, "default") == "yes" diff --git a/repos/system_upgrade/common/actors/pcidevicesscanner/Makefile b/repos/system_upgrade/common/actors/pcidevicesscanner/Makefile new file mode 100644 index 0000000..3ec0bbe --- /dev/null +++ b/repos/system_upgrade/common/actors/pcidevicesscanner/Makefile @@ -0,0 +1,2 @@ +install-deps: + yum install -y pciutils diff --git a/repos/system_upgrade/common/actors/pcidevicesscanner/actor.py b/repos/system_upgrade/common/actors/pcidevicesscanner/actor.py new file mode 100644 index 0000000..305623f --- /dev/null +++ b/repos/system_upgrade/common/actors/pcidevicesscanner/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import pcidevicesscanner +from leapp.models import DetectedDeviceOrDriver, DeviceDriverDeprecationData, PCIDevices +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class PCIDevicesScanner(Actor): + """ + Provides data about existing PCI Devices. + + After collecting data from lspci, a message with relevant data will be produced. + """ + + name = 'pci_devices_scanner' + consumes = (DeviceDriverDeprecationData,) + produces = (PCIDevices, DetectedDeviceOrDriver) + tags = (IPUWorkflowTag, FactsPhaseTag,) + + def process(self): + pcidevicesscanner.scan_pci_devices(self.produce) diff --git a/repos/system_upgrade/common/actors/pcidevicesscanner/libraries/pcidevicesscanner.py b/repos/system_upgrade/common/actors/pcidevicesscanner/libraries/pcidevicesscanner.py new file mode 100644 index 0000000..eb063ab --- /dev/null +++ b/repos/system_upgrade/common/actors/pcidevicesscanner/libraries/pcidevicesscanner.py @@ -0,0 +1,123 @@ +import re + +from leapp.libraries.stdlib import api, run +from leapp.models import ( + ActiveKernelModulesFacts, + DetectedDeviceOrDriver, + DeviceDriverDeprecationData, + PCIDevice, + PCIDevices +) + +# Regex to capture Vendor, Device and SVendor and SDevice values +PCI_ID_REG = re.compile(r"(?<=Vendor:\t|Device:\t)\w+") + + +# TODO this could be solved more efficiently and error prune via python re +# and groupdict +def parse_pci_device(textual_block, numeric_block): + """ Parse one block from lspci output describing one PCI device """ + device = { + 'Slot': '', + 'Class': '', + 'Vendor': '', + 'Device': '', + 'SVendor': '', + 'SDevice': '', + 'PhySlot': '', + 'Rev': '', + 'ProgIf': '', + 'Driver': '', + 'Module': [], + 'NUMANode': '' + } + for line in textual_block.splitlines(): + key, value = line.split(':\t') + + if key in device: + if isinstance(device[key], list): + device[key].append(value) + else: + if device[key]: + api.current_logger().debug( + 'Unexpected duplicate key - {k}: {v} (current value: {vcurr}), ignoring'.format( + k=key, v=value, vcurr=device[key])) + else: + device[key] = value + else: + api.current_logger().debug('Unrecognized key - {k}: {v}, ignoring'.format(k=key, v=value)) + + return PCIDevice( + slot=device['Slot'], + dev_cls=device['Class'], + vendor=device['Vendor'], + name=device['Device'], + subsystem_vendor=device['SVendor'], + subsystem_name=device['SDevice'], + physical_slot=device['PhySlot'], + rev=device['Rev'], + progif=device['ProgIf'], + driver=device['Driver'], + modules=device['Module'], + numa_node=device['NUMANode'], + pci_id=":".join(PCI_ID_REG.findall(numeric_block)) + ) + + +def parse_pci_devices(pci_textual, pci_numeric): + """ Parse lspci output and return a list of PCI devices """ + return [ + parse_pci_device(*block) for block + in zip( + pci_textual.split('\n\n')[:-1], + pci_numeric.split('\n\n')[:-1] + ) + ] + + +def produce_detected_devices(devices): + prefix_re = re.compile('0x') + entry_lookup = { + prefix_re.sub('', entry.device_id): entry + for message in api.consume(DeviceDriverDeprecationData) for entry in message.entries + } + api.produce(*[ + DetectedDeviceOrDriver(**entry_lookup[device.pci_id].dump()) + for device in devices + if device.pci_id in entry_lookup + ]) + + +def produce_detected_drivers(devices): + active_modules = { + module.file_name + for message in api.consume(ActiveKernelModulesFacts) for module in message.kernel_modules + } + + # Create a lookup by driver_name and filter out the kernel that are active + entry_lookup = { + entry.driver_name: entry + for message in api.consume(DeviceDriverDeprecationData) for entry in message.entries + if not entry.device_id and entry.driver_name and entry.driver_name not in active_modules + } + + drivers = {device.driver for device in devices if device.driver in entry_lookup} + api.produce(*[ + DetectedDeviceOrDriver(**entry_lookup[driver].dump()) + for driver in drivers + ]) + + +def produce_pci_devices(producer, devices): + """ Produce a Leapp message with all PCI devices """ + producer(PCIDevices(devices=devices)) + + +def scan_pci_devices(producer): + """ Scan system PCI Devices """ + pci_textual = run(['lspci', '-vmmk'], checked=False)['stdout'] + pci_numeric = run(['lspci', '-vmmkn'], checked=False)['stdout'] + devices = parse_pci_devices(pci_textual, pci_numeric) + produce_detected_devices(devices) + produce_detected_drivers(devices) + produce_pci_devices(producer, devices) diff --git a/repos/system_upgrade/common/actors/pcidevicesscanner/tests/test_pcidevicesscanner.py b/repos/system_upgrade/common/actors/pcidevicesscanner/tests/test_pcidevicesscanner.py new file mode 100644 index 0000000..4bd545b --- /dev/null +++ b/repos/system_upgrade/common/actors/pcidevicesscanner/tests/test_pcidevicesscanner.py @@ -0,0 +1,213 @@ +import os + +import pytest + +from leapp.libraries.actor.pcidevicesscanner import parse_pci_devices, produce_pci_devices +from leapp.models import PCIDevice, PCIDevices + + +def test_parse_pci_devices(): + devices_textual = '''Slot: 00:00.0 +Class: Host bridge +Vendor: Intel Corporation +Device: 440FX - 82441FX PMC [Natoma] +SVendor: Red Hat, Inc. +SDevice: Qemu virtual machine +PhySlot: 3 +Rev: 02 +NUMANode: 0 + +Slot: 00:01.0 +Class: ISA bridge +Vendor: Intel Corporation +Device: 82371SB PIIX3 ISA [Natoma/Triton II] +SVendor: Red Hat, Inc. +SDevice: Qemu virtual machine + +Slot: 00:01.1 +Class: IDE interface +Vendor: Intel Corporation +Device: 82371SB PIIX3 IDE [Natoma/Triton II] +ProgIf: 80 +Driver: ata_piix +Module: ata_piix +Module: pata_acpi +Module: ata_generic + +''' + devices_numeric = '''Slot: 00:00.0 +Class: Host bridge +Vendor: 15b45 +Device: 0724 +SVendor: 15b46 +SDevice: 0725 +PhySlot: 3 +Rev: 02 +NUMANode: 0 + +Slot: 00:01.0 +Class: ISA bridge +Vendor: 15b44 +Device: 0723 +SVendor: 15b50 +SDevice: 0750 + +Slot: 00:01.1 +Class: IDE interface +Vendor: 15b43 +Device: 0722 +ProgIf: 80 +Driver: ata_piix +Module: ata_piix +Module: pata_acpi +Module: ata_generic + +''' + + output = parse_pci_devices(devices_textual, devices_numeric) + assert isinstance(output, list) + assert len(output) == 3 + + dev = output.pop() + assert dev.slot == '00:01.1' + assert dev.dev_cls == 'IDE interface' + assert dev.vendor == 'Intel Corporation' + assert dev.name == '82371SB PIIX3 IDE [Natoma/Triton II]' + assert dev.progif == '80' + assert dev.driver == 'ata_piix' + assert dev.pci_id == '15b43:0722' + assert len(dev.modules) == 3 + assert 'ata_piix' in dev.modules + assert 'pata_acpi' in dev.modules + assert 'ata_generic' in dev.modules + + dev = output.pop() + assert dev.slot == '00:01.0' + assert dev.dev_cls == 'ISA bridge' + assert dev.vendor == 'Intel Corporation' + assert dev.name == '82371SB PIIX3 ISA [Natoma/Triton II]' + assert dev.subsystem_vendor == 'Red Hat, Inc.' + assert dev.subsystem_name == 'Qemu virtual machine' + assert dev.driver == '' + assert dev.modules == [] + assert dev.rev == '' + assert dev.physical_slot == '' + assert dev.numa_node == '' + assert dev.pci_id == '15b44:0723:15b50:0750' + + dev = output.pop() + assert dev.slot == '00:00.0' + assert dev.dev_cls == 'Host bridge' + assert dev.vendor == 'Intel Corporation' + assert dev.name == '440FX - 82441FX PMC [Natoma]' + assert dev.subsystem_vendor == 'Red Hat, Inc.' + assert dev.subsystem_name == 'Qemu virtual machine' + assert dev.rev == '02' + assert dev.physical_slot == '3' + assert dev.numa_node == '0' + assert dev.pci_id == '15b45:0724:15b46:0725' + + +def test_parse_empty_list(): + output = parse_pci_devices('', '') + assert isinstance(output, list) + assert not output + + +def test_parse_unknown_keys(): + devices_textual = '''Slot: 00:1c.0 +Class: PCI bridge +Material: Silicon +Vendor: Intel Corporation +Origin: People's Republic of China +Device: Sunrise Point-LP PCI Express Root Port #1 +Flavor: Burnt toast +Rev: f1 +Flavor: Spicy beef +Driver: pcieport + +''' + devices_numeric = '''Slot: 00:1c.0 +Class: PCI bridge +Material: Silicon +Vendor: 15b74 +Origin: People's Republic of China +Device: 0724 +Flavor: Burnt toast +Rev: f1 +Flavor: Spicy beef +Driver: pcieport + +''' + + output = parse_pci_devices(devices_textual, devices_numeric) + assert isinstance(output, list) + assert len(output) == 1 + + dev = output.pop() + assert dev.slot == '00:1c.0' + assert dev.dev_cls == 'PCI bridge' + assert dev.vendor == 'Intel Corporation' + assert dev.name == 'Sunrise Point-LP PCI Express Root Port #1' + assert dev.rev == 'f1' + assert dev.driver == 'pcieport' + assert dev.pci_id == '15b74:0724' + assert dev.modules == [] + + +def test_produce_pci_devices(): + output = [] + + def fake_producer(*args): + output.extend(args) + + devices = [ + PCIDevice( + slot='00:00.0', + dev_cls='Host bridge', + vendor='Intel Corporation', + name='440FX - 82441FX PMC [Natoma]', + subsystem_vendor='Red Hat, Inc.', + subsystem_name='Qemu virtual machine', + pci_id='15b560:0739', + rev='02'), + PCIDevice( + slot='00:01.0', + dev_cls='ISA bridge', + vendor='Intel Corporation', + name='82371SB PIIX3 ISA [Natoma/Triton II]', + subsystem_vendor='Red Hat, Inc.', + pci_id='15b560:0739', + subsystem_name='Qemu virtual machine'), + PCIDevice( + slot='00:01.1', + dev_cls='IDE interface', + vendor='Intel Corporation', + name='82371SB PIIX3 IDE [Natoma/Triton II]', + subsystem_vendor='Red Hat, Inc.', + subsystem_name='Qemu virtual machine', + pci_id='15b560:0739', + progif='80'), + ] + + produce_pci_devices(fake_producer, devices) + assert len(output) == 1 + assert len(output[0].devices) == 3 + + +def test_produce_no_devices(): + output = [] + + def fake_producer(*args): + output.extend(args) + + produce_pci_devices(fake_producer, []) + assert len(output) == 1 + assert not output[0].devices + + +# TODO(pstodulk): update the test - drop current_actor_context and use monkeypatch +@pytest.mark.skipif(not os.path.exists('/usr/sbin/lspci'), reason='lspci not installed on the system') +def test_actor_execution(current_actor_context): + current_actor_context.run() + assert current_actor_context.consume(PCIDevices) diff --git a/repos/system_upgrade/common/actors/persistentnetnames/actor.py b/repos/system_upgrade/common/actors/persistentnetnames/actor.py new file mode 100644 index 0000000..f934361 --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnames/actor.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.libraries.common import persistentnetnames +from leapp.models import PersistentNetNamesFacts +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class PersistentNetNames(Actor): + """ + Get network interface information for physical ethernet interfaces of the original system. + + Gather information like PCI topology, MAC address and interface name on the + original system. Those data are provided through the PersistentNetNamesFacts + model. + + See the persistentnetnamesinitramfs actor that is very same but processed + during early phases in initrams to gather the same data but using already + new kernel of the target system to be able to reflect changes affected + by the new kernel (see the PersistentNetNamesConfig actor). + """ + + name = 'persistentnetnames' + consumes = () + produces = (PersistentNetNamesFacts, ) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + self.produce(PersistentNetNamesFacts(interfaces=list(persistentnetnames.interfaces()))) diff --git a/repos/system_upgrade/common/actors/persistentnetnames/tests/test_persistentnetnames.py b/repos/system_upgrade/common/actors/persistentnetnames/tests/test_persistentnetnames.py new file mode 100644 index 0000000..40f54d0 --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnames/tests/test_persistentnetnames.py @@ -0,0 +1,37 @@ +import pytest + +from leapp.libraries.common import persistentnetnames +from leapp.models import Interface, PCIAddress, PersistentNetNamesFacts +from leapp.snactor.fixture import current_actor_context + + +def interface_mocked(i=0): + return Interface( + name='n{}'.format(i), + devpath='dp{}'.format(i), + driver='d{}'.format(i), + vendor='v{}'.format(i), + pci_info=PCIAddress( + domain='pd{}'.format(i), + bus='pb{}'.format(i), + function='pf{}'.format(i), + device='pd{}'.format(i) + ), + mac='m{}'.format(i) + ) + + +class interfaces_mocked(object): + def __init__(self, count): + self.count = count + + def __call__(self): + for i in range(self.count): + yield interface_mocked(i) + + +@pytest.mark.parametrize('count', [0, 1, 8, 256]) +def test_run(monkeypatch, current_actor_context, count): + monkeypatch.setattr(persistentnetnames, 'interfaces', interfaces_mocked(count)) + current_actor_context.run() + assert len(current_actor_context.consume(PersistentNetNamesFacts)[0].interfaces) == count diff --git a/repos/system_upgrade/common/actors/persistentnetnamesconfig/actor.py b/repos/system_upgrade/common/actors/persistentnetnamesconfig/actor.py new file mode 100644 index 0000000..2689d83 --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnamesconfig/actor.py @@ -0,0 +1,31 @@ +from leapp.actors import Actor +from leapp.libraries.actor import persistentnetnamesconfig +from leapp.models import ( + InitrdIncludes, + PersistentNetNamesFacts, + PersistentNetNamesFactsInitramfs, + RenamedInterfaces, + TargetInitramfsTasks +) +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag +from leapp.utils.deprecation import suppress_deprecation + + +@suppress_deprecation(InitrdIncludes) +class PersistentNetNamesConfig(Actor): + """ + Generate udev persistent network naming configuration + + This actor generates systemd-udevd link files for each physical ethernet interface present on RHEL-7 + in case we notice that interface name differs on RHEL-8. Link file configuration will assign RHEL-7 version of + a name. Actors produces list of interfaces which changed name between RHEL-7 and RHEL-8. + """ + + name = 'persistentnetnamesconfig' + consumes = (PersistentNetNamesFacts, PersistentNetNamesFactsInitramfs) + produces = (RenamedInterfaces, InitrdIncludes, TargetInitramfsTasks) + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + initrd_files = [] + + def process(self): + persistentnetnamesconfig.process() diff --git a/repos/system_upgrade/common/actors/persistentnetnamesconfig/libraries/persistentnetnamesconfig.py b/repos/system_upgrade/common/actors/persistentnetnamesconfig/libraries/persistentnetnamesconfig.py new file mode 100644 index 0000000..dc5196e --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnamesconfig/libraries/persistentnetnamesconfig.py @@ -0,0 +1,106 @@ +import errno +import os +import re + +from leapp.libraries.common.config import get_env +from leapp.libraries.stdlib import api +from leapp.models import ( + InitrdIncludes, + PersistentNetNamesFacts, + PersistentNetNamesFactsInitramfs, + RenamedInterface, + RenamedInterfaces, + TargetInitramfsTasks +) +from leapp.utils.deprecation import suppress_deprecation + +LINK_FILE_TEMPLATE = """# Generated by LEAPP +[Match] +MACAddress={} + +[Link] +Name={} +""" + + +def generate_link_file(interface): + try: + os.makedirs('/etc/systemd/network') + except OSError as e: + if e.errno != errno.EEXIST: + raise + + link_file = '/etc/systemd/network/10-leapp-{}.link'.format(interface.name) + with open(link_file, 'w') as f: + f.write(LINK_FILE_TEMPLATE.format(interface.mac, interface.name)) + + return link_file + + +@suppress_deprecation(InitrdIncludes) +def process(): + + if get_env('LEAPP_NO_NETWORK_RENAMING', '0') == '1': + api.current_logger().info( + 'Skipping handling of possibly renamed network interfaces: leapp executed with LEAPP_NO_NETWORK_RENAMING=1' + ) + return + + rhel7_ifaces = next(api.consume(PersistentNetNamesFacts)).interfaces + rhel8_ifaces = next(api.consume(PersistentNetNamesFactsInitramfs)).interfaces + + rhel7_ifaces_map = {iface.mac: iface for iface in rhel7_ifaces} + rhel8_ifaces_map = {iface.mac: iface for iface in rhel8_ifaces} + + initrd_files = [] + missing_ifaces = [] + renamed_interfaces = [] + + if rhel7_ifaces != rhel8_ifaces: + for iface in rhel7_ifaces: + rhel7_name = rhel7_ifaces_map[iface.mac].name + try: + rhel8_name = rhel8_ifaces_map[iface.mac].name + except KeyError: + missing_ifaces.append(iface) + api.current_logger().warning( + 'The device with MAC "{}" is not detected in the upgrade' + ' environment. Required driver: "{}".' + ' Original interface name: "{}".' + .format(iface.mac, iface.driver, iface.name) + ) + continue + + if rhel7_name != rhel8_name and get_env('LEAPP_NO_NETWORK_RENAMING', '0') != '1': + api.current_logger().warning('Detected interface rename {} -> {}.'.format(rhel7_name, rhel8_name)) + + if re.search('eth[0-9]+', iface.name) is not None: + api.current_logger().warning('Interface named using eth prefix, refusing to generate link file') + renamed_interfaces.append(RenamedInterface(**{'rhel7_name': rhel7_name, + 'rhel8_name': rhel8_name})) + continue + + initrd_files.append(generate_link_file(iface)) + + if missing_ifaces: + msg = ( + 'Some network devices have not been detected inside the' + ' upgrade environment and so related network interfaces' + ' could be renamed on the upgraded system.' + ) + # Note(pstodulk): + # This usually happens when required (RHEL 8 compatible) + # drivers are not included in the upgrade initramfs. + # We can add more information later. Currently we cannot provide + # better instructions for users before (at least): + # a) networking work in the upgrade initramfs (PR #583) + # b) it's possible to influence the upgrade initramfs (PR #517) + # TODO(pstodulk): gen report msg + api.current_logger().warning(msg) + + api.produce(RenamedInterfaces(renamed=renamed_interfaces)) + api.produce(InitrdIncludes(files=initrd_files)) + # TODO: cover actor by tests in future. I am skipping writing of tests + # now as some refactoring and bugfixing related to this actor + # is planned already. + api.produce(TargetInitramfsTasks(include_files=initrd_files)) diff --git a/repos/system_upgrade/common/actors/persistentnetnamesconfig/tests/files/crashed_ifaces.json b/repos/system_upgrade/common/actors/persistentnetnamesconfig/tests/files/crashed_ifaces.json new file mode 100644 index 0000000..b89ffdd --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnamesconfig/tests/files/crashed_ifaces.json @@ -0,0 +1,348 @@ +{ + "PersistentNetNamesFacts": { + "interfaces": [ + { + "devpath": "/devices/pci0000:00/0000:00:02.2/0000:05:00.0/net/p7p1", + "driver": "i40e", + "mac": "f8:f2:1e:15:a6:40", + "name": "p7p1", + "pci_info": { + "bus": "05", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:02.2/0000:05:00.1/net/p7p2", + "driver": "i40e", + "mac": "f8:f2:1e:15:a6:42", + "name": "p7p2", + "pci_info": { + "bus": "05", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:02.2/0000:05:00.2/net/p7p3", + "driver": "i40e", + "mac": "f8:f2:1e:15:a6:44", + "name": "p7p3", + "pci_info": { + "bus": "05", + "device": "00", + "domain": "0000", + "function": "2" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:02.2/0000:05:00.3/net/p7p4", + "driver": "i40e", + "mac": "f8:f2:1e:15:a6:46", + "name": "p7p4", + "pci_info": { + "bus": "05", + "device": "00", + "domain": "0000", + "function": "3" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.0/0000:02:00.0/net/em3", + "driver": "tg3", + "mac": "80:18:44:f3:ed:16", + "name": "em3", + "pci_info": { + "bus": "02", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x14e4" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.0/0000:02:00.1/net/em4", + "driver": "tg3", + "mac": "80:18:44:f3:ed:17", + "name": "em4", + "pci_info": { + "bus": "02", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x14e4" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.1/0000:01:00.0/net/em1", + "driver": "tg3", + "mac": "80:18:44:f3:ed:14", + "name": "em1", + "pci_info": { + "bus": "01", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x14e4" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.1/0000:01:00.1/net/em2", + "driver": "tg3", + "mac": "80:18:44:f3:ed:15", + "name": "em2", + "pci_info": { + "bus": "01", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x14e4" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.2/0000:06:00.0/net/p5p1", + "driver": "i40e", + "mac": "f8:f2:1e:15:a8:80", + "name": "p5p1", + "pci_info": { + "bus": "06", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.2/0000:06:00.1/net/p5p2", + "driver": "i40e", + "mac": "f8:f2:1e:15:a8:82", + "name": "p5p2", + "pci_info": { + "bus": "06", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.2/0000:06:00.2/net/p5p3", + "driver": "i40e", + "mac": "f8:f2:1e:15:a8:84", + "name": "p5p3", + "pci_info": { + "bus": "06", + "device": "00", + "domain": "0000", + "function": "2" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.2/0000:06:00.3/net/p5p4", + "driver": "i40e", + "mac": "f8:f2:1e:15:a8:86", + "name": "p5p4", + "pci_info": { + "bus": "06", + "device": "00", + "domain": "0000", + "function": "3" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:80/0000:80:01.0/0000:81:00.0/net/ib0", + "driver": "mlx5_core[ib_ipoib]", + "mac": "00:00:10:86:fe:80:00:00:00:00:00:00:98:03:9b:03:00:9d:6f:08", + "name": "ib0", + "pci_info": { + "bus": "81", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x15b3" + }, + { + "devpath": "/devices/pci0000:80/0000:80:01.0/0000:81:00.1/net/ib1", + "driver": "mlx5_core[ib_ipoib]", + "mac": "00:00:18:86:fe:80:00:00:00:00:00:00:98:03:9b:03:00:9d:6f:09", + "name": "ib1", + "pci_info": { + "bus": "81", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x15b3" + } + ] + }, + "PersistentNetNamesFactsInitramfs": { + "interfaces": [ + { + "devpath": "/devices/pci0000:00/0000:00:02.2/0000:05:00.0/net/enp5s0f0", + "driver": "i40e", + "mac": "f8:f2:1e:15:a6:40", + "name": "enp5s0f0", + "pci_info": { + "bus": "05", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:02.2/0000:05:00.1/net/enp5s0f1", + "driver": "i40e", + "mac": "f8:f2:1e:15:a6:42", + "name": "enp5s0f1", + "pci_info": { + "bus": "05", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:02.2/0000:05:00.2/net/enp5s0f2", + "driver": "i40e", + "mac": "f8:f2:1e:15:a6:44", + "name": "enp5s0f2", + "pci_info": { + "bus": "05", + "device": "00", + "domain": "0000", + "function": "2" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:02.2/0000:05:00.3/net/enp5s0f3", + "driver": "i40e", + "mac": "f8:f2:1e:15:a6:46", + "name": "enp5s0f3", + "pci_info": { + "bus": "05", + "device": "00", + "domain": "0000", + "function": "3" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.0/0000:02:00.0/net/eno3", + "driver": "tg3", + "mac": "80:18:44:f3:ed:16", + "name": "eno3", + "pci_info": { + "bus": "02", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x14e4" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.0/0000:02:00.1/net/eno4", + "driver": "tg3", + "mac": "80:18:44:f3:ed:17", + "name": "eno4", + "pci_info": { + "bus": "02", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x14e4" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.1/0000:01:00.0/net/eno1", + "driver": "tg3", + "mac": "80:18:44:f3:ed:14", + "name": "eno1", + "pci_info": { + "bus": "01", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x14e4" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.1/0000:01:00.1/net/eno2", + "driver": "tg3", + "mac": "80:18:44:f3:ed:15", + "name": "eno2", + "pci_info": { + "bus": "01", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x14e4" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.2/0000:06:00.0/net/enp6s0f0", + "driver": "i40e", + "mac": "f8:f2:1e:15:a8:80", + "name": "enp6s0f0", + "pci_info": { + "bus": "06", + "device": "00", + "domain": "0000", + "function": "0" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.2/0000:06:00.1/net/enp6s0f1", + "driver": "i40e", + "mac": "f8:f2:1e:15:a8:82", + "name": "enp6s0f1", + "pci_info": { + "bus": "06", + "device": "00", + "domain": "0000", + "function": "1" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.2/0000:06:00.2/net/enp6s0f2", + "driver": "i40e", + "mac": "f8:f2:1e:15:a8:84", + "name": "enp6s0f2", + "pci_info": { + "bus": "06", + "device": "00", + "domain": "0000", + "function": "2" + }, + "vendor": "0x8086" + }, + { + "devpath": "/devices/pci0000:00/0000:00:03.2/0000:06:00.3/net/enp6s0f3", + "driver": "i40e", + "mac": "f8:f2:1e:15:a8:86", + "name": "enp6s0f3", + "pci_info": { + "bus": "06", + "device": "00", + "domain": "0000", + "function": "3" + }, + "vendor": "0x8086" + } + ] + } +} diff --git a/repos/system_upgrade/common/actors/persistentnetnamesconfig/tests/test_persistentnetnamesconfig.py b/repos/system_upgrade/common/actors/persistentnetnamesconfig/tests/test_persistentnetnamesconfig.py new file mode 100644 index 0000000..5ad52c4 --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnamesconfig/tests/test_persistentnetnamesconfig.py @@ -0,0 +1,205 @@ +import json +import os + +import pytest + +from leapp.libraries.actor import persistentnetnamesconfig +from leapp.libraries.common.config import mock_configs +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked, produce_mocked +from leapp.models import ( + InitrdIncludes, + Interface, + PCIAddress, + PersistentNetNamesFacts, + PersistentNetNamesFactsInitramfs, + RenamedInterface, + RenamedInterfaces, + TargetInitramfsTasks +) + +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) +CUR_DIR = "" + + +@pytest.fixture +def adjust_cwd(): + previous_cwd = os.getcwd() + os.chdir(TEST_DIR) + yield + os.chdir(previous_cwd) + + +def generate_link_file_mocked(interface): + return '/etc/systemd/network/10-leapp-{}.link'.format(interface.name) + + +def interface_mocked(i=0): + return Interface( + name='n{}'.format(i), + devpath='dp{}'.format(i), + driver='d{}'.format(i), + vendor='v{}'.format(i), + pci_info=PCIAddress( + domain='pd{}'.format(i), + bus='pb{}'.format(i), + function='pf{}'.format(i), + device='pd{}'.format(i) + ), + mac='m{}'.format(i) + ) + + +def generate_interfaces(count): + return [interface_mocked(i) for i in range(count)] + + +def test_identical(current_actor_context): + interfaces = generate_interfaces(4) + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interfaces)) + current_actor_context.feed(PersistentNetNamesFactsInitramfs(interfaces=interfaces)) + current_actor_context.run(config_model=mock_configs.CONFIG) + + renamed_interfaces = current_actor_context.consume(RenamedInterfaces)[0] + initrd_files = current_actor_context.consume(InitrdIncludes)[0] + t_initrafms_tasks = current_actor_context.consume(TargetInitramfsTasks)[0] + assert initrd_files.files == t_initrafms_tasks.include_files + assert not renamed_interfaces.renamed + assert not t_initrafms_tasks.include_files + + +def test_renamed_single_noneth(monkeypatch, current_actor_context): + monkeypatch.setattr(persistentnetnamesconfig, 'generate_link_file', generate_link_file_mocked) + + interfaces = generate_interfaces(4) + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interfaces)) + interfaces[0].name = 'n4' + current_actor_context.feed(PersistentNetNamesFactsInitramfs(interfaces=interfaces)) + current_actor_context.run(config_model=mock_configs.CONFIG) + + renamed_interfaces = current_actor_context.consume(RenamedInterfaces)[0] + initrd_files = current_actor_context.consume(InitrdIncludes)[0] + t_initrafms_tasks = current_actor_context.consume(TargetInitramfsTasks)[0] + assert initrd_files.files == t_initrafms_tasks.include_files + assert not renamed_interfaces.renamed + assert len(t_initrafms_tasks.include_files) == 1 + assert '/etc/systemd/network/10-leapp-n0.link' in t_initrafms_tasks.include_files + + +def test_renamed_swap_noneth(monkeypatch, current_actor_context): + monkeypatch.setattr(persistentnetnamesconfig, 'generate_link_file', generate_link_file_mocked) + + interfaces = generate_interfaces(4) + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interfaces)) + interfaces[0].name = 'n3' + interfaces[3].name = 'n0' + current_actor_context.feed(PersistentNetNamesFactsInitramfs(interfaces=interfaces)) + current_actor_context.run(config_model=mock_configs.CONFIG) + + renamed_interfaces = current_actor_context.consume(RenamedInterfaces)[0] + initrd_files = current_actor_context.consume(InitrdIncludes)[0] + t_initrafms_tasks = current_actor_context.consume(TargetInitramfsTasks)[0] + assert initrd_files.files == t_initrafms_tasks.include_files + assert not renamed_interfaces.renamed + assert len(t_initrafms_tasks.include_files) == 2 + assert '/etc/systemd/network/10-leapp-n0.link' in t_initrafms_tasks.include_files + assert '/etc/systemd/network/10-leapp-n3.link' in t_initrafms_tasks.include_files + + +def test_renamed_single_eth(monkeypatch, current_actor_context): + monkeypatch.setattr(persistentnetnamesconfig, 'generate_link_file', generate_link_file_mocked) + + interfaces = generate_interfaces(4) + for i in range(4): + interfaces[i].name = 'eth{}'.format(i) + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interfaces)) + interfaces[0].name = 'eth4' + current_actor_context.feed(PersistentNetNamesFactsInitramfs(interfaces=interfaces)) + current_actor_context.run(config_model=mock_configs.CONFIG) + + renamed_interfaces = current_actor_context.consume(RenamedInterfaces)[0] + initrd_files = current_actor_context.consume(InitrdIncludes)[0] + t_initrafms_tasks = current_actor_context.consume(TargetInitramfsTasks)[0] + assert initrd_files.files == t_initrafms_tasks.include_files + assert len(renamed_interfaces.renamed) == 1 + assert renamed_interfaces.renamed[0].rhel7_name == 'eth0' + assert renamed_interfaces.renamed[0].rhel8_name == 'eth4' + assert not t_initrafms_tasks.include_files + + +def test_renamed_swap_eth(monkeypatch, current_actor_context): + monkeypatch.setattr(persistentnetnamesconfig, 'generate_link_file', generate_link_file_mocked) + + interfaces = generate_interfaces(4) + for i in range(4): + interfaces[i].name = 'eth{}'.format(i) + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interfaces)) + interfaces[0].name = 'eth3' + interfaces[3].name = 'eth0' + current_actor_context.feed(PersistentNetNamesFactsInitramfs(interfaces=interfaces)) + current_actor_context.run(config_model=mock_configs.CONFIG) + + renamed_interfaces = current_actor_context.consume(RenamedInterfaces)[0] + initrd_files = current_actor_context.consume(InitrdIncludes)[0] + t_initrafms_tasks = current_actor_context.consume(TargetInitramfsTasks)[0] + assert initrd_files.files == t_initrafms_tasks.include_files + assert len(renamed_interfaces.renamed) == 2 + for interface in renamed_interfaces.renamed: + if interface.rhel7_name == 'eth0': + assert interface.rhel8_name == 'eth3' + elif interface.rhel7_name == 'eth3': + assert interface.rhel8_name == 'eth0' + assert not t_initrafms_tasks.include_files + + +def test_bz_1899455_crash_iface(monkeypatch, adjust_cwd): + """ + Cover situation when network device is discovered on the src sys but not + inside the upgrade environment. + + This typically happens when the network device needs specific drivers which + are not present inside the upgrade initramfs. Usually it points to a missing + actors that should influence the upgrade initramfs in a way the drivers are + installed. In this situation, only correct thing we can do in this actor + is print warning / report that we couldn't located particular devices so + we cannot handle interface names related to this devices. + """ + with open(os.path.join(CUR_DIR, 'files/crashed_ifaces.json')) as fp: + json_msgs = json.load(fp) + msgs = [ + PersistentNetNamesFacts.create(json_msgs["PersistentNetNamesFacts"]), + PersistentNetNamesFactsInitramfs.create(json_msgs["PersistentNetNamesFactsInitramfs"]), + ] + monkeypatch.setattr(persistentnetnamesconfig, 'generate_link_file', generate_link_file_mocked) + monkeypatch.setattr(persistentnetnamesconfig.api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(persistentnetnamesconfig.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(persistentnetnamesconfig.api, 'produce', produce_mocked()) + persistentnetnamesconfig.process() + + for prod_models in [RenamedInterfaces, InitrdIncludes, TargetInitramfsTasks]: + any(isinstance(i, prod_models) for i in persistentnetnamesconfig.api.produce.model_instances) + assert any(['Some network devices' in x for x in persistentnetnamesconfig.api.current_logger.warnmsg]) + + +def test_no_network_renaming(monkeypatch): + """ + This should cover OAMG-4243. + """ + # this mock should be needed, as this function should be called, but just + # for a check.. + monkeypatch.setattr(persistentnetnamesconfig, 'generate_link_file', generate_link_file_mocked) + + interfaces = generate_interfaces(4) + for i in range(4): + interfaces[i].name = 'myinterface{}'.format(i) + msgs = [PersistentNetNamesFacts(interfaces=interfaces)] + interfaces[0].name = 'changedinterfacename0' + msgs.append(PersistentNetNamesFactsInitramfs(interfaces=interfaces)) + mocked_actor = CurrentActorMocked(msgs=msgs, envars={'LEAPP_NO_NETWORK_RENAMING': '1'}) + monkeypatch.setattr(persistentnetnamesconfig.api, 'current_actor', mocked_actor) + monkeypatch.setattr(persistentnetnamesconfig.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(persistentnetnamesconfig.api, 'produce', produce_mocked()) + persistentnetnamesconfig.process() + + ilog = 'Skipping handling of possibly renamed network interfaces: leapp executed with LEAPP_NO_NETWORK_RENAMING=1' + assert ilog in persistentnetnamesconfig.api.current_logger.infomsg + assert not persistentnetnamesconfig.api.produce.called diff --git a/repos/system_upgrade/common/actors/persistentnetnamesdisable/actor.py b/repos/system_upgrade/common/actors/persistentnetnamesdisable/actor.py new file mode 100644 index 0000000..0e13c13 --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnamesdisable/actor.py @@ -0,0 +1,59 @@ +import re + +from leapp import reporting +from leapp.actors import Actor +from leapp.models import KernelCmdlineArg, PersistentNetNamesFacts +from leapp.reporting import create_report, Report +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class PersistentNetNamesDisable(Actor): + """ + Disable systemd-udevd persistent network naming on machine with single eth0 NIC + """ + + name = 'persistentnetnamesdisable' + consumes = (PersistentNetNamesFacts,) + produces = (KernelCmdlineArg, Report) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def ethX_count(self, interfaces): + ethX = re.compile('eth[0-9]+') + count = 0 + + for i in interfaces: + if ethX.match(i.name): + count = count + 1 + return count + + def single_eth0(self, interfaces): + return len(interfaces) == 1 and interfaces[0].name == 'eth0' + + def disable_persistent_naming(self): + self.log.info("Single eth0 network interface detected. Appending 'net.ifnames=0' to RHEL-8 kernel commandline") + self.produce(KernelCmdlineArg(**{'key': 'net.ifnames', 'value': '0'})) + + def process(self): + interfaces = next(self.consume(PersistentNetNamesFacts)).interfaces + + if self.single_eth0(interfaces): + self.disable_persistent_naming() + elif len(interfaces) > 1 and self.ethX_count(interfaces) > 0: + create_report([ + reporting.Title('Unsupported network configuration'), + reporting.Summary( + 'Detected multiple physical network interfaces where one or more use kernel naming (e.g. eth0). ' + 'Upgrade process can not continue because stability of names can not be guaranteed. ' + 'Please read the article at https://access.redhat.com/solutions/4067471 for more information.' + ), + reporting.ExternalLink( + title='How to perform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7', + url='https://access.redhat.com/solutions/4067471' + ), + reporting.Remediation( + hint='Rename all ethX network interfaces following the attached KB solution article.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.NETWORK]), + reporting.Groups([reporting.Groups.INHIBITOR]) + ]) diff --git a/repos/system_upgrade/common/actors/persistentnetnamesdisable/tests/test_persistentnetnamesdisable.py b/repos/system_upgrade/common/actors/persistentnetnamesdisable/tests/test_persistentnetnamesdisable.py new file mode 100644 index 0000000..96768da --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnamesdisable/tests/test_persistentnetnamesdisable.py @@ -0,0 +1,54 @@ +from leapp.models import Interface, KernelCmdlineArg, PCIAddress, PersistentNetNamesFacts +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def test_actor_single_eth0(current_actor_context): + pci = PCIAddress(domain="0000", bus="3e", function="00", device="PCI bridge") + interface = [Interface(name="eth0", mac="52:54:00:0b:4a:6d", vendor="redhat", + driver="pcieport", pci_info=pci, + devpath="/devices/platform/usb/cdc-wdm0")] + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interface)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_more_ethX(current_actor_context): + pci1 = PCIAddress(domain="0000", bus="3e", function="00", device="PCI bridge") + pci2 = PCIAddress(domain="0000", bus="3d", function="00", device="Serial controller") + interface = [Interface(name="eth0", mac="52:54:00:0b:4a:6d", vendor="redhat", + driver="pcieport", pci_info=pci1, + devpath="/devices/platform/usb/cdc-wdm0"), + Interface(name="eth1", mac="52:54:00:0b:4a:6a", vendor="redhat", + driver="serial", pci_info=pci2, + devpath="/devices/hidraw/hidraw0")] + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interface)) + current_actor_context.run() + assert current_actor_context.consume(Report) + assert is_inhibitor(current_actor_context.consume(Report)[0].report) + + +def test_actor_single_int_not_ethX(current_actor_context): + pci = PCIAddress(domain="0000", bus="3e", function="00", device="PCI bridge") + interface = [Interface(name="tap0", mac="52:54:00:0b:4a:60", vendor="redhat", + driver="pcieport", pci_info=pci, + devpath="/devices/platform/usb/cdc-wdm0")] + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interface)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_ethX_and_not_ethX(current_actor_context): + pci1 = PCIAddress(domain="0000", bus="3e", function="00", device="PCI bridge") + pci2 = PCIAddress(domain="0000", bus="3d", function="00", device="Serial controller") + interface = [Interface(name="virbr0", mac="52:54:00:0b:4a:6d", vendor="redhat", + driver="pcieport", pci_info=pci1, + devpath="/devices/platform/usb/cdc-wdm0"), + Interface(name="eth0", mac="52:54:00:0b:4a:6a", vendor="redhat", + driver="serial", pci_info=pci2, + devpath="/devices/hidraw/hidraw0")] + current_actor_context.feed(PersistentNetNamesFacts(interfaces=interface)) + current_actor_context.run() + assert current_actor_context.consume(Report) + assert is_inhibitor(current_actor_context.consume(Report)[0].report) diff --git a/repos/system_upgrade/common/actors/persistentnetnamesinitramfs/actor.py b/repos/system_upgrade/common/actors/persistentnetnamesinitramfs/actor.py new file mode 100644 index 0000000..4a443bf --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnamesinitramfs/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.common import persistentnetnames +from leapp.models import PersistentNetNamesFactsInitramfs +from leapp.tags import IPUWorkflowTag, LateTestsPhaseTag + + +class PersistentNetNamesInitramfs(Actor): + """ + Get network interface information for physical ethernet interfaces with the new kernel in initramfs. + + This actor does exactly the same job as PersistentNetNames actor except that it runs in a later phase. + """ + + name = 'persistentnetnamesinitramfs' + consumes = () + produces = (PersistentNetNamesFactsInitramfs, ) + tags = (LateTestsPhaseTag, IPUWorkflowTag) + + def process(self): + self.produce(PersistentNetNamesFactsInitramfs(interfaces=list(persistentnetnames.interfaces()))) diff --git a/repos/system_upgrade/common/actors/persistentnetnamesinitramfs/tests/test_persistentnetnamesinitramfs.py b/repos/system_upgrade/common/actors/persistentnetnamesinitramfs/tests/test_persistentnetnamesinitramfs.py new file mode 100644 index 0000000..8da0dce --- /dev/null +++ b/repos/system_upgrade/common/actors/persistentnetnamesinitramfs/tests/test_persistentnetnamesinitramfs.py @@ -0,0 +1,37 @@ +import pytest + +from leapp.libraries.common import persistentnetnames +from leapp.models import Interface, PCIAddress, PersistentNetNamesFactsInitramfs +from leapp.snactor.fixture import current_actor_context + + +def interface_mocked(i=0): + return Interface( + name='n{}'.format(i), + devpath='dp{}'.format(i), + driver='d{}'.format(i), + vendor='v{}'.format(i), + pci_info=PCIAddress( + domain='pd{}'.format(i), + bus='pb{}'.format(i), + function='pf{}'.format(i), + device='pd{}'.format(i) + ), + mac='m{}'.format(i) + ) + + +class interfaces_mocked(object): + def __init__(self, count): + self.count = count + + def __call__(self): + for i in range(self.count): + yield interface_mocked(i) + + +@pytest.mark.parametrize('count', [0, 1, 8, 256]) +def test_run(monkeypatch, current_actor_context, count): + monkeypatch.setattr(persistentnetnames, 'interfaces', interfaces_mocked(count)) + current_actor_context.run() + assert len(current_actor_context.consume(PersistentNetNamesFactsInitramfs)[0].interfaces) == count diff --git a/repos/system_upgrade/common/actors/peseventsscanner/actor.py b/repos/system_upgrade/common/actors/peseventsscanner/actor.py new file mode 100644 index 0000000..c00c1e0 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/actor.py @@ -0,0 +1,41 @@ +from leapp.actors import Actor +from leapp.libraries.actor.pes_events_scanner import process +from leapp.models import ( + ConsumedDataAsset, + EnabledModules, + InstalledRedHatSignedRPM, + PESRpmTransactionTasks, + RepositoriesBlacklisted, + RepositoriesFacts, + RepositoriesMapping, + RepositoriesSetupTasks, + RHUIInfo, + RpmTransactionTasks +) +from leapp.reporting import Report +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class PesEventsScanner(Actor): + """ + Provides data about package events from Package Evolution Service. + + After collecting data from a provided JSON file containing Package Evolution Service events, a + message with relevant data will be produced to help DNF Upgrade transaction calculation. + """ + + name = 'pes_events_scanner' + consumes = ( + EnabledModules, + InstalledRedHatSignedRPM, + RepositoriesBlacklisted, + RepositoriesFacts, + RepositoriesMapping, + RHUIInfo, + RpmTransactionTasks, + ) + produces = (ConsumedDataAsset, PESRpmTransactionTasks, RepositoriesSetupTasks, Report) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + process() diff --git a/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_event_parsing.py b/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_event_parsing.py new file mode 100644 index 0000000..35bcec7 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_event_parsing.py @@ -0,0 +1,299 @@ +import json +import os +from collections import defaultdict, namedtuple +from enum import IntEnum +from itertools import chain + +from leapp import reporting +from leapp.exceptions import StopActorExecution +from leapp.libraries.common import fetch +from leapp.libraries.common.config import architecture +from leapp.libraries.common.config.version import get_source_major_version, get_target_major_version +from leapp.libraries.stdlib import api + +# NOTE(mhecko): The modulestream field contains a set of modulestreams until the very end when we generate a Package +# for every modulestream in this set. +_Package = namedtuple('Package', ['name', # str + 'repository', # str + 'modulestream' # (str, str) or None + ]) + + +class Package(_Package): # noqa: E0102; pylint: disable=function-redefined + def __repr__(self): + ms = '' + if self.modulestream: + # The package class contains multiple modulestreams until a package for every single of these modulestreams + # is generated. We have to check whether modulestream in fact contains multiple modulestreams and handle it + # accordingly, so that we print Package when debugging. + if len(self.modulestream) == 2 and all((isinstance(item, str) for item in self.modulestream)): + ms = '@{0}:{1}'.format(*self.modulestream) + else: + ms = '{{{0}}}'.format(','.join(str(item) for item in self.modulestream)) + return '{n}:{r}{ms}'.format(n=self.name, r=self.repository, ms=ms) + + def __hash__(self): + return hash((self.name, self.modulestream)) + + def __eq__(self, other): + return (self.name, self.modulestream) == (other.name, other.modulestream) + + +Event = namedtuple('Event', ['id', # int + 'action', # An instance of Action + 'in_pkgs', # A set of Package named tuples + 'out_pkgs', # A set of Package named tuples + 'from_release', # A tuple representing a release in format (major, minor) + 'to_release', # A tuple representing a release in format (major, minor) + 'architectures' # A list of strings representing architectures + ]) + + +class Action(IntEnum): + PRESENT = 0 + REMOVED = 1 + DEPRECATED = 2 + REPLACED = 3 + SPLIT = 4 + MERGED = 5 + MOVED = 6 + RENAMED = 7 + + +def get_pes_events(pes_json_directory, pes_json_filename): + """ + Get all the events from the source JSON file exported from PES. + + :return: List of Event tuples, where each event contains event type and input/output pkgs + """ + try: + events_data = fetch.load_data_asset(api.current_actor(), + pes_json_filename, + asset_fulltext_name='PES events file', + docs_url='', + docs_title='') + if not events_data: + return None + + if not events_data.get('packageinfo'): + raise ValueError('Found PES data with invalid structure') + + all_events = list(chain(*[parse_entry(entry) for entry in events_data['packageinfo']])) + arch = api.current_actor().configuration.architecture + events_matching_arch = [e for e in all_events if not e.architectures or arch in e.architectures] + return events_matching_arch + except (ValueError, KeyError): + rpmname = 'leapp-upgrade-el{}toel{}'.format(get_source_major_version(), get_target_major_version()) + title = 'Missing/Invalid PES data file ({}/{})'.format(pes_json_directory, pes_json_filename) + summary = ( + 'All official data files are nowadays part of the installed rpms.' + ' This issue is usually encountered when the data files are incorrectly customized, replaced, or removed' + ' (e.g. by custom scripts).' + ' In case you want to recover the original file, remove it (if still exists)' + ' and reinstall the {} rpm.' + .format(rpmname) + ) + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.RelatedResource('file', os.path.join(pes_json_directory, pes_json_filename)) + ]) + raise StopActorExecution() + + +def generate_event_for_ms_mapping_entry(from_ms_to_ms_entry, event): + from_modulestream, to_modulestreams = from_ms_to_ms_entry + + in_pkgs_matching_from_ms = { + Package(p.name, p.repository, from_modulestream) for p in event.in_pkgs if from_modulestream in p.modulestream + } + + # Out pkgs are a bit harder to pick, as there are more than one modulestreams in to_modulestreams + out_pkgs_matching_to_ms = set() + for pkg in event.out_pkgs: + target_modulestreams = set(pkg.modulestream).intersection(to_modulestreams) + if len(target_modulestreams) > 1: + # This is not expected to happen. Produce a warning, but continue by picking a single of the modulestreams. + api.current_logger().warning('Event {0} - output package {1} matches multiple to_modulestreams ' + ' when generating events per modulestream mapping.') + if not target_modulestreams: + # No target_modulestreams mean that this package should not be included in the resulting event + continue + + target_modulestream = next(iter(target_modulestreams)) + out_pkgs_matching_to_ms.add(Package(pkg.name, pkg.repository, target_modulestream)) + + return Event( + event.id, + event.action, + in_pkgs_matching_from_ms, + out_pkgs_matching_to_ms, + event.from_release, + event.to_release, + event.architectures + ) + + +def event_by_modulestream_mapping(mapping, event): + """ + Generate events with matching event.ID according to the the given modulestream mapping. + + Modulestream mapping allows for a compact symbolic representation of multiple events having the same input/output + packages differing only in the modules they are in. For example consider event renaming package X with module + streams [MSX0, MSX1], to a new package with the name Y and possible module streams [MSY0, MSY1]. The attached + modulestream map {MSX0 -> MSY0, MSX1 -> MSY1} would mean that the renaming event represents two events --- one + renaming (X, ms=MSX0) to (Y, ms=MSY0), and the second one renaming (X, ms=MSX1) to (Y, ms=MSY1). + + :param mapping: A dictionary mapping package's input modulestream to its output modulestreams. + :param event: PES event that should be uncompressed. + :returns: A list of generated PES events. + """ + if not mapping: + # In case there is no mapping, assume all is going to non modular + mapping = defaultdict(set) + for package in event.in_pkgs: + for ms in package.modulestream or (): + mapping[ms].add(None) + + return [generate_event_for_ms_mapping_entry(from_ms_to_ms_entry, event) for from_ms_to_ms_entry in mapping.items()] + + +def parse_pes_events(json_data): + """ + Parse JSON data returning PES events + + :return: List of Event tuples, where each event contains event type and input/output pkgs + """ + data = json.loads(json_data) + if not isinstance(data, dict) or not data.get('packageinfo'): + raise ValueError('Found PES data with invalid structure') + + return list(chain(*[parse_entry(entry) for entry in data['packageinfo']])) + + +def parse_entry(entry): + """ + Parse PES event data + + :param entry: A dict with the following structure: + { + 'action': 3, + 'id': 15, + 'initial_release': { # can be None + 'z_stream': None, + 'major_version': 7, + 'tag': None, + 'os_name': 'RHEL', + 'minor_version': 7 + }, + 'release': { + 'z_stream': None, + 'major_version': 8, + 'tag': None, + 'os_name': 'RHEL', + 'minor_version': 0 + }, + 'in_packageset': { + 'set_id': 20, + 'package': [ + { + 'name': 'espeak', + 'repository': 'rhel7-optional' + } + ] + }, + 'out_packageset': { # can be None + 'set_id': 21, + 'package': [ + { + 'name': 'espeak-ng', + 'repository': 'rhel8-AppStream' + } + ] + }, + 'architectures': [ # can be empty + 'x86_64', + 'aarch64', + 'ppc64le', + 's390x' + ] + } + """ + + event_id = entry.get('id') or 0 + + action_id = entry['action'] + if action_id < 0 or action_id >= len(Action): + raise ValueError('Found event with invalid action ID: {}'.format(action_id)) + action = Action(action_id) + + in_pkgs = parse_packageset(entry.get('in_packageset') or {}) + out_pkgs = parse_packageset(entry.get('out_packageset') or {}) + + # parse_release handles missing release data, no need to supply a default value + from_release = parse_release(entry.get('initial_release')) + to_release = parse_release(entry.get('release')) + + architectures = entry.get('architectures') or [] + invalid_archs = tuple(arch for arch in architectures if arch not in architecture.ARCH_ACCEPTED) + if invalid_archs: + raise ValueError('Found event with invalid architecture{0}: {1}'.format('s' if len(invalid_archs) > 1 else '', + ', '.join(invalid_archs))) + + # Parse modulestream maps + modulestream_map_entry = entry.get('modulestream_maps') or [] + + modulestream_maps = defaultdict(set) + for mapping_entry in modulestream_map_entry: + in_ms_entry = mapping_entry.get('in_modulestream', {}) + in_modulestream = (in_ms_entry.get('name'), in_ms_entry.get('stream')) if in_ms_entry else None + + out_ms_entry = mapping_entry.get('out_modulestream', {}) + out_modulestream = (out_ms_entry.get('name'), out_ms_entry.get('stream')) if out_ms_entry else None + + # One modulestream might have more than one output modulestream - eg. the output packages of split belong to + # different modulestreams: (pkg_in, ms1) is split to (pkg_out1, ms2), (pkg_out2, ms3). Therefore, we need to + # collect for every input modulestream all the output modulestreams it maps to. + modulestream_maps[in_modulestream].add(out_modulestream) + + return event_by_modulestream_mapping( + modulestream_maps, + Event(event_id, action, in_pkgs, out_pkgs, from_release, to_release, architectures) + ) + + +def parse_packageset(packageset): + """ + Get "input" or "output" packages and their repositories from each PES event. + + :return: set of Package tuples + """ + packageset_pkgs = packageset.get('package', packageset.get('packages', [])) + parsed_pkgs = set() + + for package in packageset_pkgs: + # The package can have either the modulestreams field (a list of modulestream entries) + # or a modulestream entry containing a single module stream + modulestream_entries = package.get('modulestreams') + if not modulestream_entries: + modulestream_entry = package.get('modulestream') + if isinstance(modulestream_entry, dict): + # There is only one module stream present + modulestream_entries = (modulestream_entry,) + + if not modulestream_entries: + modulestreams = (None, ) + else: + modulestreams = tuple((ms['name'], ms['stream']) if ms else None for ms in modulestream_entries) + + pkg = Package(package['name'], package['repository'], modulestreams) + parsed_pkgs.add(pkg) + + return parsed_pkgs + + +def parse_release(release): + return (release['major_version'], release['minor_version']) if release else (0, 0) diff --git a/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py b/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py new file mode 100644 index 0000000..01457f2 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py @@ -0,0 +1,515 @@ +from collections import defaultdict, namedtuple +from functools import partial + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import peseventsscanner_repomap +from leapp.libraries.actor.pes_event_parsing import Action, get_pes_events, Package +from leapp.libraries.common.config import version +from leapp.libraries.stdlib import api +from leapp.libraries.stdlib.config import is_verbose +from leapp.models import ( + EnabledModules, + InstalledRedHatSignedRPM, + Module, + PESIDRepositoryEntry, + PESRpmTransactionTasks, + RepositoriesBlacklisted, + RepositoriesFacts, + RepositoriesMapping, + RepositoriesSetupTasks, + RHUIInfo, + RpmTransactionTasks +) + +SKIPPED_PKGS_MSG = ( + 'packages will be skipped because they are available only in ' + 'target system repositories that are intentionally excluded from the ' + 'list of repositories used during the upgrade. ' + 'See the report message titled "Excluded target system repositories" ' + 'for details.\nThe list of these packages:' +) + + +TransactionConfiguration = namedtuple('TransactionConfiguration', ('to_install', 'to_remove', 'to_keep')) + + +def get_cloud_provider_name(cloud_provider_variant): + for cloud_provider_prefix in ('aws', 'azure', 'google'): + if cloud_provider_variant.startswith(cloud_provider_prefix): + return cloud_provider_prefix + return cloud_provider_variant + + +def get_best_pesid_candidate(candidate_a, candidate_b, cloud_provider): + cdn_candidate = None + for candidate in (candidate_a, candidate_b): + if candidate.rhui == cloud_provider: + return candidate + if not candidate.rhui: + cdn_candidate = candidate + + # None of the candidate matches cloud provider and none of them is from CDN - + # do not return anything as we don't want to get content from different cloud providers + return cdn_candidate + + +def get_installed_pkgs(): + installed_pkgs = set() + + installed_rh_signed_rpm_msgs = api.consume(InstalledRedHatSignedRPM) + installed_rh_signed_rpm_msg = next(installed_rh_signed_rpm_msgs, None) + if list(installed_rh_signed_rpm_msgs): + api.current_logger().warning('Unexpectedly received more than one InstalledRedHatSignedRPM message.') + if not installed_rh_signed_rpm_msg: + raise StopActorExecutionError('Cannot parse PES data properly due to missing list of installed packages', + details={'Problem': 'Did not receive a message with installed Red Hat-signed ' + 'packages (InstalledRedHatSignedRPM)'}) + + for pkg in installed_rh_signed_rpm_msg.items: + modulestream = None + if pkg.module and pkg.stream: + modulestream = (pkg.module, pkg.stream) + installed_pkgs.add(Package(name=pkg.name, repository=pkg.repository, modulestream=modulestream)) + + return installed_pkgs + + +def get_transaction_configuration(): + """ + Get pkgs to install, keep and remove from the user configuration files in /etc/leapp/transaction/. + + These configuration files have higher priority than PES data. + :return: RpmTransactionTasks model instance + """ + transaction_configuration = TransactionConfiguration(to_install=[], to_remove=[], to_keep=[]) + + _Pkg = partial(Package, repository=None, modulestream=None) + + for tasks in api.consume(RpmTransactionTasks): + transaction_configuration.to_install.extend(_Pkg(name=pkg_name) for pkg_name in tasks.to_install) + transaction_configuration.to_remove.extend(_Pkg(name=pkg_name) for pkg_name in tasks.to_remove) + transaction_configuration.to_keep.extend(_Pkg(name=pkg_name) for pkg_name in tasks.to_keep) + return transaction_configuration + + +def get_relevant_releases(events): + """ + Get releases present in the PES Events that are relevant for this IPU. + + Relevant release happened between the source OS version and the target OS version. + """ + # Collect releases that happened between source OS version and target OS version + relevant_releases_match_list = [ + '> {0}'.format(api.current_actor().configuration.version.source), + '<= {0}'.format(api.current_actor().configuration.version.target) + ] + releases = {event.to_release for event in events} + releases = [r for r in releases if version.matches_version(relevant_releases_match_list, '{}.{}'.format(*r))] + return sorted(releases) + + +def _get_enabled_modules(): + enabled_modules_msgs = api.consume(EnabledModules) + enabled_modules_msg = next(enabled_modules_msgs, None) + if list(enabled_modules_msgs): + api.current_logger().warning('Unexpectedly received more than one EnabledModules message.') + if not enabled_modules_msg: + raise StopActorExecutionError('Cannot parse PES data properly due to missing list of enabled modules', + details={'Problem': 'Did not receive a message with enabled module ' + 'streams (EnabledModules)'}) + return enabled_modules_msg.modules + + +def compute_pkg_changes_between_consequent_releases(source_installed_pkgs, + events, + release, + seen_pkgs, + pkgs_to_demodularize): + logger = api.current_logger() + # Start with the installed packages and modify the set according to release events + target_pkgs = set(source_installed_pkgs) + + release_events = [e for e in events if e.to_release == release] + + for event in release_events: + # PRESENCE events have a different semantics than the other events - they add a package to a target state + # only if it had been seen (installed) during the course of the overall target packages + if event.action == Action.PRESENT: + for pkg in event.in_pkgs: + if pkg in seen_pkgs: + if pkg in target_pkgs: + # Remove the package with the old repository, add the one with the new one + target_pkgs.remove(pkg) + target_pkgs.add(pkg) + elif event.action == Action.DEPRECATED: + if event.in_pkgs.intersection(source_installed_pkgs): + # Remove packages with old repositories add packages with the new one + target_pkgs = target_pkgs.difference(event.in_pkgs) + target_pkgs = target_pkgs.union(event.in_pkgs) + else: + # All other packages have the same semantics - they remove their in_pkgs from the system with given + # from_release and add out_pkgs to the system matching to_release + are_all_in_pkgs_present = all(in_pkg in source_installed_pkgs for in_pkg in event.in_pkgs) + is_any_in_pkg_present = any(in_pkg in source_installed_pkgs for in_pkg in event.in_pkgs) + + # For MERGE to be relevant it is sufficient for only one of its in_pkgs to be installed + if are_all_in_pkgs_present or (event.action == Action.MERGED and is_any_in_pkg_present): + removed_pkgs = target_pkgs.intersection(event.in_pkgs) + removed_pkgs_str = ', '.join(str(pkg) for pkg in removed_pkgs) if removed_pkgs else '[]' + added_pkgs_str = ', '.join(str(pkg) for pkg in event.out_pkgs) if event.out_pkgs else '[]' + logger.debug('Applying event %d (%s): replacing packages %s with %s', + event.id, event.action, removed_pkgs_str, added_pkgs_str) + + # In pkgs are present, event can be applied + target_pkgs = target_pkgs.difference(event.in_pkgs) + target_pkgs = target_pkgs.union(event.out_pkgs) + + pkgs_to_demodularize = pkgs_to_demodularize.difference(event.in_pkgs) + + return (target_pkgs, pkgs_to_demodularize) + + +def remove_undesired_events(events, relevant_to_releases): + """ + Conservatively remove events that needless, or cause problems for the current implementation: + - (needless) events with to_release not in relevant releases + - (problematic) events with the same from_release and the same in_pkgs + """ + + logger = api.current_logger() + relevant_to_releases = set(relevant_to_releases) + + events_with_same_in_pkgs_and_from_release = defaultdict(list) + for event in events: + if event.to_release in relevant_to_releases: + # NOTE(mhecko): The tuple(sorted(event.in_pkgs))) is ugly, however, the removal of the events with the same + # # from_release and in_pkgs is needed only because the current implementation is flawed. + # # I would love to rewrite the core algorithm as a "solution to graph reachability problem", + # # making the behaviour of PES event scanner purely data driven. + events_with_same_in_pkgs_and_from_release[(event.from_release, tuple(sorted(event.in_pkgs)))].append(event) + + cleaned_events = [] + for from_release_in_pkgs_pair, problematic_events in events_with_same_in_pkgs_and_from_release.items(): + if len(problematic_events) == 1: + cleaned_events.append(problematic_events[0]) # There is no problem + continue + + # E.g., one of the problematic events is to=8.6, other one to=8.7, keep only 8.7 + from_release, dummy_in_pkgs = from_release_in_pkgs_pair + max_to_release = max((e.to_release for e in problematic_events)) + events_with_max_to_release = [event for event in problematic_events if event.to_release == max_to_release] + + if len(events_with_max_to_release) == 1: + # If there is a single event with maximal to_release, keep only that + kept_event = events_with_max_to_release[0] + event_ids = [event.id for event in problematic_events] + logger.debug('Events %s have the same in packages and the same from_release %s, keeping %d', + event_ids, from_release, kept_event.id) + cleaned_events.append(kept_event) + continue + + # There are at least 2 events A, B with the same in_release, out_release and in_pkgs. If A is REMOVE and B + # performs some conditional mutation (e.g. SPLIT) a race-conflict arises. However, the current + # implementation would apply these events as `A(input_state) union B(input_state)`, where the input_state + # is kept immutable. Therefore, B will have an effect regardless of whether A is REMOVAL or not. + for event in problematic_events: + cleaned_events.append(event) + + return cleaned_events + + +def compute_packages_on_target_system(source_pkgs, events, releases): + + seen_pkgs = set(source_pkgs) # Used to track whether PRESENCE events can be applied + target_pkgs = set(source_pkgs) + + source_major_version = int(version.get_source_major_version()) + did_processing_cross_major_version = False + pkgs_to_demodularize = set() # Modified by compute_pkg_changes + + for release in releases: + if not did_processing_cross_major_version and release[0] > source_major_version: + did_processing_cross_major_version = True + pkgs_to_demodularize = {pkg for pkg in target_pkgs if pkg.modulestream} + + target_pkgs, pkgs_to_demodularize = compute_pkg_changes_between_consequent_releases(target_pkgs, events, + release, seen_pkgs, + pkgs_to_demodularize) + seen_pkgs = seen_pkgs.union(target_pkgs) + + demodularized_pkgs = {Package(pkg.name, pkg.repository, None) for pkg in pkgs_to_demodularize} + demodularized_target_pkgs = target_pkgs.difference(pkgs_to_demodularize).union(demodularized_pkgs) + + return (demodularized_target_pkgs, pkgs_to_demodularize) + + +def compute_rpm_tasks_from_pkg_set_diff(source_pkgs, target_pkgs, pkgs_to_demodularize): + source_state_pkg_names = {pkg.name for pkg in source_pkgs} + target_state_pkg_names = {pkg.name for pkg in target_pkgs} + + pkgs_to_install = sorted(target_state_pkg_names.difference(source_state_pkg_names)) + pkgs_to_remove = sorted(source_state_pkg_names.difference(target_state_pkg_names)) + + if pkgs_to_install or pkgs_to_remove: + # NOTE(mhecko): Here we do not want to consider any package that does not have a reference in PES data. There + # might be missing modularity information, and although the algorithm is correct, trying to enable + # a non-existent modulestream due to missing modulestream information results in a crash. + target_pkgs_without_demodularized_pkgs = target_pkgs.difference(pkgs_to_demodularize) + + # Collect the enabled modules as tuples in a set, so we produce every module to reset exactly once + enabled_modules = {(module.name, module.stream) for module in _get_enabled_modules()} + modules_to_reset = [Module(name=ms[0], stream=ms[1]) for ms in enabled_modules] + + target_modulestreams = {pkg.modulestream for pkg in target_pkgs_without_demodularized_pkgs if pkg.modulestream} + modules_to_enable = [Module(name=ms[0], stream=ms[1]) for ms in target_modulestreams] + + return PESRpmTransactionTasks(to_install=pkgs_to_install, + to_remove=pkgs_to_remove, + modules_to_enable=modules_to_enable, + modules_to_reset=modules_to_reset) + return None + + +def report_skipped_packages(title, message, skipped_pkgs, remediation=None): + skipped_pkgs = sorted(skipped_pkgs) + + def make_summary_entry_for_skipped_pkg(pkg): + entry_template = '- {name}{modulestream} (repoid: {repository})' + modulestream_str = '' if not pkg.modulestream else '[{}:{}]'.format(*pkg.modulestream) + return entry_template.format(name=pkg.name, modulestream=modulestream_str, repository=pkg.repository) + + summary = '{} {}\n{}'.format(len(skipped_pkgs), + message, + '\n'.join(make_summary_entry_for_skipped_pkg(pkg) for pkg in skipped_pkgs)) + report_content = [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.REPOSITORY]), + ] + if remediation: + report_content += [reporting.Remediation(hint=remediation)] + report_content += [reporting.RelatedResource('package', p[0]) for p in skipped_pkgs] + reporting.create_report(report_content) + if is_verbose(): + api.current_logger().info(summary) + + +def remove_new_packages_from_blacklisted_repos(source_pkgs, target_pkgs): + """ + Remove newly installed packages from blacklisted repositories that were computed to be on the target system. + """ + blacklisted_repoids = get_blacklisted_repoids() + new_pkgs = target_pkgs.difference(source_pkgs) + pkgs_from_blacklisted_repos = set(pkg for pkg in new_pkgs if pkg.repository in blacklisted_repoids) + + if pkgs_from_blacklisted_repos: + report_skipped_packages( + title='Packages available in excluded repositories will not be installed', + message=SKIPPED_PKGS_MSG, + skipped_pkgs=pkgs_from_blacklisted_repos, + ) + return blacklisted_repoids, target_pkgs.difference(pkgs_from_blacklisted_repos) + + +def get_blacklisted_repoids(): + repos_blacklisted = set() + for blacklist in api.consume(RepositoriesBlacklisted): + repos_blacklisted.update(blacklist.repoids) + return repos_blacklisted + + +def get_enabled_repoids(): + """ + Collects repoids of all enabled repositories on the source system. + + :param repositories_facts: Iterable of RepositoriesFacts containing repositories related info about source system. + :return: Set of all enabled repository IDs present on the source system. + :rtype: Set[str] + """ + enabled_repoids = set() + for repos in api.consume(RepositoriesFacts): + for repo_file in repos.repositories: + for repo in repo_file.data: + if repo.enabled: + enabled_repoids.add(repo.repoid) + return enabled_repoids + + +def get_pesid_to_repoid_map(target_pesids): + """ + Get a dictionary mapping all PESID repositories to their corresponding repoid. + + :param target_pesids: The set of target PES IDs needed to be mapped + :return: Dictionary mapping the target_pesids to their corresponding repoid + """ + + repositories_map_msgs = api.consume(RepositoriesMapping) + repositories_map_msg = next(repositories_map_msgs, None) + if list(repositories_map_msgs): + api.current_logger().warning('Unexpectedly received more than one RepositoriesMapping message.') + if not repositories_map_msg: + raise StopActorExecutionError( + 'Cannot parse RepositoriesMapping data properly', + details={'Problem': 'Did not receive a message with mapped repositories'} + ) + + rhui_info = next(api.consume(RHUIInfo), RHUIInfo(provider='')) + + repomap = peseventsscanner_repomap.RepoMapDataHandler(repositories_map_msg, cloud_provider=rhui_info.provider) + + # NOTE: We have to calculate expected target repositories like in the setuptargetrepos actor. + # It's planned to handle this in different a way in future... + + enabled_repoids = get_enabled_repoids() + default_channels = peseventsscanner_repomap.get_default_repository_channels(repomap, enabled_repoids) + repomap.set_default_channels(default_channels) + + exp_pesid_repos = repomap.get_expected_target_pesid_repos(enabled_repoids) + # FIXME: this is hack now. In case some packages will need a repository + # with pesid that is not mapped by default regarding the enabled repos, + # let's use this one representative repository (baseos/appstream) to get + # data for a guess of the best repository from the requires target pesid.. + # FIXME: this could now fail in case all repos are disabled... + representative_repo = exp_pesid_repos.get( + peseventsscanner_repomap.DEFAULT_PESID[version.get_target_major_version()], None + ) + if not representative_repo: + api.current_logger().warning('Cannot determine the representative target base repository.') + api.current_logger().info( + 'Fallback: Create an artificial representative PESIDRepositoryEntry for the repository mapping' + ) + representative_repo = PESIDRepositoryEntry( + pesid=peseventsscanner_repomap.DEFAULT_PESID[version.get_target_major_version()], + arch=api.current_actor().configuration.architecture, + major_version=version.get_target_major_version(), + repoid='artificial-repoid', + repo_type='rpm', + channel='ga', + rhui='', + ) + + for pesid in target_pesids: + if pesid in exp_pesid_repos: + continue + # some packages are moved to repos outside of default repomapping + # try to find the best possible repo for them.. + # FIXME: HACK NOW + # good way is to modify class to search repo with specific criteria.. + if not representative_repo: + api.current_logger().warning('Cannot find suitable repository for PES ID: {}'.format(pesid)) + continue + pesid_repo = repomap._find_repository_target_equivalent(representative_repo, pesid) + + if not pesid_repo: + api.current_logger().warning('Cannot find suitable repository for PES ID: {}'.format(pesid)) + continue + exp_pesid_repos[pesid] = pesid_repo + + # Map just pesids to their corresponding repoids ({to_pesid: repoid}) + repositories_mapping = {} + for pesid, repository in exp_pesid_repos.items(): + if pesid not in target_pesids: + # We can skip this repo as it was not identified as needed during the processing of PES events + continue + if not repository: + # TODO + continue + repositories_mapping[pesid] = repository.repoid + + return repositories_mapping + + +def replace_pesids_with_repoids_in_packages(packages, source_pkgs_repoids): + """Replace packages with PESID in their .repository field with ones that have repoid providing the package.""" + # We want to map only PESIDs - if some package had no events, it will its repository set to source system repoid + packages_with_pesid = {pkg for pkg in packages if pkg.repository not in source_pkgs_repoids} + packages_without_pesid = packages.difference(packages_with_pesid) + + required_target_pesids = {pkg.repository for pkg in packages_with_pesid} + + pesid_to_repoid_map = get_pesid_to_repoid_map(required_target_pesids) + + packages_without_known_repoid = {pkg for pkg in packages_with_pesid if pkg.repository not in pesid_to_repoid_map} + + if packages_without_known_repoid: + report_skipped_packages( + title='Packages from unknown repositories may not be installed', + message='packages may not be installed or upgraded due to repositories unknown to leapp:', + skipped_pkgs=packages_without_known_repoid, + remediation=( + 'In case the listed repositories are mirrors of official repositories for RHEL' + ' (provided by Red Hat on CDN)' + ' and their repositories IDs has been customized, you can change' + ' the configuration to use the official IDs instead of fixing the problem.' + ' You can also review the projected DNF upgrade transaction result' + ' in the logs to see what is going to happen, as this does not necessarily mean' + ' that the listed packages will not be upgraded. You can also' + ' install any missing packages after the in-place upgrade manually.' + ), + ) + + packages_with_known_repoid = packages_with_pesid.difference(packages_without_known_repoid) + packages_with_repoid = { + Package(p.name, pesid_to_repoid_map[p.repository], p.modulestream) for p in packages_with_known_repoid + } + # Packages without pesid are those for which we do not have an event, keep them in target packages + return packages_with_repoid.union(packages_without_pesid) + + +def apply_transaction_configuration(source_pkgs): + source_pkgs_with_conf_applied = set(source_pkgs) + transaction_configuration = get_transaction_configuration() + + source_pkgs_with_conf_applied = source_pkgs.union(transaction_configuration.to_install) + + # Transaction configuration contains only names of packages to install/remove/keep - there is no modularity + # information - modify target_pkgs in a way ignoring modulestream information + pkg_name_to_pkg_info_map = {pkg.name: pkg for pkg in source_pkgs} + + for pkg in transaction_configuration.to_remove: + if pkg.name in pkg_name_to_pkg_info_map: + source_pkgs_with_conf_applied.remove(pkg_name_to_pkg_info_map[pkg.name]) + + for pkg in transaction_configuration.to_keep: + if pkg.name in pkg_name_to_pkg_info_map: + source_pkgs_with_conf_applied.add(pkg_name_to_pkg_info_map[pkg.name]) + + return source_pkgs_with_conf_applied + + +def process(): + # Retrieve data - installed_pkgs, transaction configuration, pes events + events = get_pes_events('/etc/leapp/files', 'pes-events.json') + if not events: + return + + releases = get_relevant_releases(events) + source_pkgs = get_installed_pkgs() + source_pkgs = apply_transaction_configuration(source_pkgs) + + # Keep track of what repoids have the source packages to be able to determine what are the PESIDs of the computed + # packages of the target system, so we can distinguish what needs to be repomapped + repoids_of_source_pkgs = {pkg.repository for pkg in source_pkgs} + + events = remove_undesired_events(events, releases) + + # Apply events - compute what packages should the target system have + target_pkgs, pkgs_to_demodularize = compute_packages_on_target_system(source_pkgs, events, releases) + + # Packages coming out of the events have PESID as their repository, however, we need real repoid + target_pkgs = replace_pesids_with_repoids_in_packages(target_pkgs, repoids_of_source_pkgs) + + # Apply the desired repository blacklisting + blacklisted_repoids, target_pkgs = remove_new_packages_from_blacklisted_repos(source_pkgs, target_pkgs) + + # Look at the target packages and determine what repositories to enable + target_repoids = sorted(set(p.repository for p in target_pkgs) - blacklisted_repoids - repoids_of_source_pkgs) + repos_to_enable = RepositoriesSetupTasks(to_enable=target_repoids) + api.produce(repos_to_enable) + + # Compare the packages on source system and the computed packages on target system and determine what to install + rpm_tasks = compute_rpm_tasks_from_pkg_set_diff(source_pkgs, target_pkgs, pkgs_to_demodularize) + if rpm_tasks: + api.produce(rpm_tasks) diff --git a/repos/system_upgrade/common/actors/peseventsscanner/libraries/peseventsscanner_repomap.py b/repos/system_upgrade/common/actors/peseventsscanner/libraries/peseventsscanner_repomap.py new file mode 100644 index 0000000..64e1346 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/libraries/peseventsscanner_repomap.py @@ -0,0 +1,326 @@ +from leapp.libraries.common.config import get_target_product_channel +from leapp.libraries.common.config.version import get_source_major_version, get_target_major_version +from leapp.libraries.stdlib import api + +DEFAULT_PESID = { + '7': 'rhel7-base', + '8': 'rhel8-BaseOS', + '9': 'rhel9-BaseOS' +} + + +def _get_channel_prio(pesid_repo): + priorities = { + 'beta': 0, + 'ga': 1, + } + return priorities.get(pesid_repo.channel, 10) + + +class RepoMapDataHandler(object): + """ + Provide the basic functionality to work with the repository data easily. + """ + + def __init__(self, repo_map, cloud_provider='', default_channels=None): + """ + Initialize the object based on the given RepositoriesMapping msg. + + Expects that msg contains just stuff related for the current IPU + (at least mapping and repos for the used upgrade path and architecture). + + :param repo_map: A valid RepositoryMapping message. + :type repo_map: RepositoryMapping + :param default_channels: A list of default channels to use when a target repository + equivalent exactly matching a source repository was not found. + :type default_channels: List[str] + :param prio_channel: Prefer repositories with this channel when looking for target equivalents. + :type prio_channel: str + """ + # NOTE: currently I am keeping this default data structure that is not + # ideal for work, but there is not any significant impact.. + self.repositories = repo_map.repositories + self.mapping = repo_map.mapping + # FIXME(pstodulk): what about default_channel -> fallback_channel + # hardcoded always as ga? instead of list of channels.. + # it'd be possibly confusing naming now... + self.default_channels = default_channels or ['ga'] + + # Make self.prio_channel None if the user did not specify any target channels, so that self.default_channels + # will be used instead + self.prio_channel = get_target_product_channel(default=None) + + self.cloud_provider = cloud_provider + + # Cloud provider might have multiple variants, e.g, aws: (aws, aws-sap-es4) - normalize it + cloud_providers = ('aws', 'azure', 'google', 'alibaba') + for provider in cloud_providers: + if cloud_provider.startswith(provider): + self.cloud_provider = provider + break + + def set_default_channels(self, default_channels): + """ + Set the default channels that are used as a fallback when searching + for the right target repository. + + Usually it's not problem to find a target repository that matches + the source repository, however in some cases the target repository + doesn't have to be available in the required (premium) channel but + could be present in the standard one. + + This is used usually for fallbacks and it's prerequisite for the time + the required channel will not be present for the particular repository. + E.g. can happen for layered products which has different lifecycles + and doesn't have to provide a special premium channels at all. E.g. + the Extras repository has GA and Beta channels, but no EUS. In case the + EUS is required, returns the GA one instead when this is present. + + It's recommended to make the GA ('ga') always present in the default + list. + + :param default_channels: Default channels to use when a target equivalent to a source repository that + matches its target channel properties exactly could not be found. + :type default_channels: List[str] + """ + self.default_channels = default_channels + + def get_pesid_repo_entry(self, repoid, major_version): + """ + Retrieve the PESIDRepositoryEntry that matches the given repoid and OS major version. + + If multiple pesid repo entries with the same repoid were found, the entry with rhui matching the source + system's rhui info will be returned. If no entry with matching rhui exists, the CDN one is returned if any. + + :param repoid: RepoID that should the PESIDRepositoryEntry match. + :type repoid: str + :param major_version: RepoID that should the PESIDRepositoryEntry match. + :type major_version: str + :return: The PESIDRepositoryEntry matching the given repoid and major_version or None if no such + entry could be found. + :rtype: Optional[PESIDRepositoryEntry] + """ + matching_pesid_repos = [] + for pesid_repo in self.repositories: + if pesid_repo.repoid == repoid and pesid_repo.major_version == major_version: + matching_pesid_repos.append(pesid_repo) + + if len(matching_pesid_repos) == 1: + # Perform no heuristics if only a single pesid repository with matching repoid found + return matching_pesid_repos[0] + + # Multiple (different) repositories with the same repoid found (can happen in clouds) - prefer the cloud one + cdn_pesid_repo = None + for pesid_repo in matching_pesid_repos: + if pesid_repo.rhui == self.cloud_provider: + return pesid_repo + if not pesid_repo.rhui: + cdn_pesid_repo = pesid_repo + + # If we did not find a repoid for the current cloud provider, return the CDN repository + return cdn_pesid_repo # might be None e.g. if we are on Azure with an AWS repository enabled (unlikely) + + def get_target_pesids(self, source_pesid): + """ + Return sorted list of target PES IDs for the given source PES ID. + + :param source_pesid: Source PES ID to find equivalents for. + :type source_pesid: src + :return: The list of target PES IDs the provided source_pesid is mapped to. + :rtype: List[PESIDRepositoryEntry] + """ + pesids = set() + for repomap in self.mapping: + if repomap.source == source_pesid: + pesids.update(repomap.target) + return sorted(pesids) + + def get_pesid_repos(self, pesid, major_version): + """ + Get the list of PESIDRepositoryEntry with the specified PES ID and OS major version. + + :param pesid: PES ID of the repositories to be retrieved. + :type pesid: str + :param major_version: OS major version of the repositories to be retrieved. + :type major_version: str + :return: A list of PESIDRepositoryEntries that match the provided PES ID and OS major version. + :rtype: List[PESIDRepositoryEntry] + """ + pesid_repos = [] + for pesid_repo in self.repositories: + if pesid_repo.pesid == pesid and pesid_repo.major_version == major_version: + pesid_repos.append(pesid_repo) + return pesid_repos + + def get_source_pesid_repos(self, pesid): + """ + Return the list of PESIDRepositoryEntry objects for a specified PES ID + matching the source OS major version. + + :param pesid: The PES ID for which to retrieve PESIDRepositoryEntries. + :type pesid: str + :return: A list of PESIDRepositoryEntries that match the provided PES ID and have + the OS Major version same as the source OS. + :rtype: List[PESIDRepositoryEntry] + """ + return self.get_pesid_repos(pesid, get_source_major_version()) + + def get_target_pesid_repos(self, pesid): + """ + Return the list of PESIDRepositoryEntry objects for a specified PES ID + matching the target OS major version. + + :param pesid: The PES ID for which to retrieve PESIDRepositoryEntries. + :type pesid: str + :return: A list of PESIDRepositoryEntries that match the provided PES ID and have + the OS Major version same as the target OS. + :rtype: List[PESIDRepositoryEntry] + """ + return self.get_pesid_repos(pesid, get_target_major_version()) + + def _find_repository_target_equivalent(self, src_pesidrepo, target_pesid): + """ + Find the target repository that is the best-match to the source one with the given + target PES ID. + + :param src_pesidrepo: The source repository to find equivalent to. + :type src_pesidrepo: PESIDRepositoryEntry + :param target_pesid: The target PES ID which the target repository must contain. + :type target_pesid: str + :return: A target equivalent of given repository. + :rtype: Optional[PESIDRepositoryEntry] + """ + + candidates = [] + for candidate in self.get_target_pesid_repos(target_pesid): + matches_rhui = candidate.rhui == src_pesidrepo.rhui + matches_repo_type = candidate.repo_type == 'rpm' + matches_arch = candidate.arch == api.current_actor().configuration.architecture + + if matches_rhui and matches_arch and matches_repo_type: + # user can specify in future the specific channel should be + # prioritized always (e.g. want to go to EUS...). + channel = self.prio_channel or src_pesidrepo.channel + if candidate.channel == channel: + return candidate + candidates.append(candidate) + + # Fallback... + # Could not find exact-match, so go through candidates if we find an + # alternative in one of default channels (usually just 'ga') + for channel in self.default_channels: + for candidate in candidates: + if channel == candidate.channel: + return candidate + + # This is a case, that must be handled by the caller + return None + + def get_mapped_target_pesid_repos(self, src_pesidrepo): + """ + Returns the dict of form {target_pesid: target PESIDRepositoryEntry} containing + pesids of repositories that is the source pesidrepo mapped to as keys and with + the best fitting repository for each of the target pesids as values. + + The function always returns the best candidate for every target pesid + that fits to the given source repository. In case no repository is find + for a pesid, the value in dict is None: {pesid: None} + + :param src_pesidrepo: The PESIDRepositoryEntry to find the target pesids and the corresponding + best-fitting repositories to. + :type src_pesidrepo: PESIDRepositoryEntry + :return: A dictionary of the form described above. + :rtype: Dict[str, PESIDRepositoryEntry] + """ + result = {} + for target_pesid in self.get_target_pesids(src_pesidrepo.pesid): + result[target_pesid] = self._find_repository_target_equivalent(src_pesidrepo, target_pesid) + return result + + def get_mapped_target_repoids(self, src_pesidrepo): + """ + Return the list of target repoids for the given src_pesidrepo. + + Some actors do not has to check whether a target repository has been + found for each target PES ID and details about the target repositories. + For such actors it's ok to see just list of repoids they should be + interested about and keep the proper checks for the right actor. + + :param src_pesidrepo: The PESIDRepositoryEntry to find the corresponding best-fitting repositories to. + :type src_pesidrepo: PESIDRepositoryEntry + :return: A dictionary of the form described above. + :rtype: Dict[str, PESIDRepositoryEntry] + """ + return [repo.repoid for repo in self.get_mapped_target_pesid_repos(src_pesidrepo).values() if repo] + + def get_expected_target_pesid_repos(self, src_repoids): + """ + Return {target_pesid: PESIDRepositoryEntry} with expected target repositories. + + If some repositories are mapped to a target pesid for which no equivalent + repository is discovered, such a key contains just None value. + + :param src_repoids: list of present source repoids that should be mapped to target repositories + :type src_repoids: List[str] + :rtype: {str: PESIDRepositoryEntry} + """ + # {pesid: target_repo} + target_repos_best_candidates = {} + for src_repoid in src_repoids: + src_pesidrepo = self.get_pesid_repo_entry(src_repoid, get_source_major_version()) + if not src_pesidrepo: + # unmapped or custom repo -> skip this one + continue + + for target_pesid, target_candidate in self.get_mapped_target_pesid_repos(src_pesidrepo).items(): + best_candidate = target_repos_best_candidates.get(target_pesid, None) + if not best_candidate: + # we need to initialize the pesid even when the target_candidate is empty + # to know we possibly miss something + target_repos_best_candidates[target_pesid] = target_candidate + if not target_candidate: + # It's not crucial in this moment - the pesid can be still filled + # by other maps. However log the warning as it is still unexpected + # with the valid repomap data + api.current_logger().warning( + 'Cannot find any mapped target repository from the' + ' {pesid} family for the {repoid} repository.' + .format(repoid=src_repoid, pesid=target_pesid) + ) + continue + + if best_candidate and _get_channel_prio(target_candidate) > _get_channel_prio(best_candidate): + # NOTE(pstodulk): we want just one target repository from the "PESID family" + # priority: beta < ga < all_else + # Why all_else? + # -> we do not expect multiple different premium channels present on the system + target_repos_best_candidates[target_pesid] = target_candidate + return target_repos_best_candidates + + +def get_default_repository_channels(repomap, src_repoids): + """ + Returns the default repository channels. The 'ga' channel is always included and is the last + one in the list, so it is the lowest priority when checking for channels. + + :param repomap: A RepoMapDataHandler instance containing the RepositoriesMapping data. + :type repomap: RepoMapDataHandler + :param src_repoids: Repositories present on the source system. + :type src_repoids: List[str] + :rtype: List[str] + """ + default_pesid = DEFAULT_PESID[get_source_major_version()] + top_prio_pesid_repo = None + for repoid in src_repoids: + pesid_repo = repomap.get_pesid_repo_entry(repoid, get_source_major_version()) + if not pesid_repo or pesid_repo.pesid != default_pesid: + continue + if not top_prio_pesid_repo or _get_channel_prio(pesid_repo) > _get_channel_prio(top_prio_pesid_repo): + top_prio_pesid_repo = pesid_repo + + # always return at least 'ga' + if not top_prio_pesid_repo or top_prio_pesid_repo.channel == 'ga': + return ['ga'] + + # keep this order to prefer higher prio to check first + return [top_prio_pesid_repo.channel, 'ga'] diff --git a/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample01.json b/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample01.json new file mode 100644 index 0000000..7f310a2 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample01.json @@ -0,0 +1 @@ +{"packageinfo": [{"id": 1, "action": 4, "in_packageset": {"set_id": 1, "package": [{"name": "original", "repository": "repo"}]}, "out_packageset": {"set_id": 2, "package": [{"name": "split01", "repository": "repo"}, {"name": "split02", "repository": "repo"}]}, "release": {"z_stream": null, "major_version": 8, "tag": null, "os_name": "RHEL", "minor_version": 0}}, {"id": 2, "action": 1, "in_packageset": {"set_id": 3, "package": [{"name": "removed", "repository": "repo"}]}, "out_packageset": null, "release": {"z_stream": null, "major_version": 8, "tag": null, "os_name": "RHEL", "minor_version": 0}}]} diff --git a/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample02.json b/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample02.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample02.json @@ -0,0 +1 @@ +{} diff --git a/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample03.json b/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample03.json new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample04.json b/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample04.json new file mode 100644 index 0000000..f4d7c92 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/tests/files/sample04.json @@ -0,0 +1,70 @@ +{ + "packageinfo": [ + { + "id": 1, + "action": 4, + "in_packageset": { "set_id": 1, "package": [{ "name": "original", "repository": "repo", "modulestreams": [null, { "name": "module", "stream": "stream_in" }] }] }, + "out_packageset": { + "set_id": 2, + "package": [ + { + "name": "split01", + "repository": "repo", + "modulestreams": [null, { "name": "module", "stream": "stream_out" }] + }, + { + "name": "split02", + "repository": "repo", + "modulestreams": [null, { "name": "module", "stream": "stream_out" }] + } + ] + }, + "modulestream_maps": [ + { + "in_modulestream": null, + "out_modulestream": { + "name": "module", + "stream": "stream_out" + } + }, + { + "in_modulestream": { + "name": "module", + "stream": "stream_in" + }, + "out_modulestream": null + } + ], + "release": { "z_stream": null, "major_version": 8, "tag": null, "os_name": "RHEL", "minor_version": 0 } + }, + { + "id": 2, + "action": 1, + "in_packageset": { "set_id": 3, "package": [{ "name": "removed", "repository": "repo" }] }, + "out_packageset": null, + "release": { "z_stream": null, "major_version": 8, "tag": null, "os_name": "RHEL", "minor_version": 0 } + }, + { + "id": 3, + "action": 7, + "in_packageset": { + "set_id": 3, + "package": [{ + "name": "modularized", + "repository": "repo", + "modulestreams": [null, { "name": "module", "stream": "stream_in" }] + }] + }, + "out_packageset": { + "set_id": 3, + "package": [{ + "name": "demodularized", + "repository": "repo", + "modulestreams": [null] + }] + }, + + "release": { "z_stream": null, "major_version": 8, "tag": null, "os_name": "RHEL", "minor_version": 0 } + } + ] +} diff --git a/repos/system_upgrade/common/actors/peseventsscanner/tests/test_event_parsing.py b/repos/system_upgrade/common/actors/peseventsscanner/tests/test_event_parsing.py new file mode 100644 index 0000000..98095f8 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/tests/test_event_parsing.py @@ -0,0 +1,170 @@ +import os.path +from collections import namedtuple + +import pytest + +from leapp import reporting +from leapp.exceptions import StopActorExecution +from leapp.libraries.actor.pes_event_parsing import ( + Action, + Event, + get_pes_events, + Package, + parse_entry, + parse_packageset, + parse_pes_events +) +from leapp.libraries.common import fetch +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import ConsumedDataAsset + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def test_parse_packageset(current_actor_context): + pkgset = {'package': [{'name': 'pkg1', 'repository': 'Repo'}]} + + parsed = parse_packageset(pkgset) + assert len(parsed) == 1 + assert Package('pkg1', 'Repo', (None,)) in parsed + + assert parse_packageset({}) == set() + assert parse_packageset({'set_id': 0}) == set() + + +def test_parse_packageset_modular(current_actor_context): + modulestreams = [{'name': 'hey', 'stream': 'lol1'}, {'name': 'hey', 'stream': 'lol2'}] + pkgset = {'package': [{'name': 'pkg1', 'repository': 'Repo', 'modulestreams': [None]}, + {'name': 'pkg2', 'repository': 'Repo', 'modulestreams': modulestreams}]} + + parsed = parse_packageset(pkgset) + assert len(parsed) == 2 + assert Package('pkg1', 'Repo', (None,)) in parsed + assert Package('pkg2', 'Repo', (('hey', 'lol1'), ('hey', 'lol2'))) in parsed + + assert parse_packageset({}) == set() + assert parse_packageset({'set_id': 0}) == set() + + +PARSE_ENTRY_INPUTS = [ + ( + # Input + { + 'action': 4, + 'architectures': ['x86_64', 's390x'], + 'in_packageset': { + 'package': [{'name': 'original', 'repository': 'repo'}] + }, + 'out_packageset': { + 'package': [{'name': 'split01', 'repository': 'repo'}, {'name': 'split02', 'repository': 'repo'}] + } + }, + # Expected output + [ + Event(action=Action.SPLIT, architectures=['x86_64', 's390x'], from_release=(0, 0), to_release=(0, 0), id=0, + in_pkgs={Package('original', 'repo', None)}, + out_pkgs={Package('split01', 'repo', None), Package('split02', 'repo', None)}) + ] + ), + ( + # Input + { + 'action': 1, + 'in_packageset': { + 'package': [{'name': 'removed', 'repository': 'repo'}] + } + }, + # Expected output + [ + Event(action=Action.REMOVED, architectures=[], from_release=(0, 0), to_release=(0, 0), id=0, + in_pkgs={Package('removed', 'repo', None)}, + out_pkgs=set()) + ] + ), + ({'action': 10}, ValueError), # Invalid action + ({'action': -1}, ValueError), # Invalid action + ( + {'action': 1, 'architectures': ['ia-64']}, # Invalid architecture + ValueError + ), +] + + +@pytest.mark.parametrize(('pes_entry_data', 'expected_output'), PARSE_ENTRY_INPUTS) +def test_parse_entry(current_actor_context, pes_entry_data, expected_output): + """ + Tests whether the PES event is correctly parsed from the supplied dictionary with the same + structure as are the data stored inside the json. + """ + + if isinstance(expected_output, list): + events = parse_entry(pes_entry_data) + assert len(events) == len(expected_output) + for event in events: + assert event in expected_output + else: + with pytest.raises(expected_output): + parse_entry(pes_entry_data) + + +def test_parse_pes_events(current_actor_context): + """ + Tests whether all events are correctly parsed from the provided string with the JSON data. + """ + with open(os.path.join(CUR_DIR, 'files/sample01.json')) as f: + events = parse_pes_events(f.read()) + assert len(events) == 2 + assert events[0].action == Action.SPLIT + assert events[0].in_pkgs == {Package('original', 'repo', None)} + assert events[0].out_pkgs == {Package('split01', 'repo', None), Package('split02', 'repo', None)} + assert events[1].action == Action.REMOVED + assert events[1].in_pkgs == {Package('removed', 'repo', None)} + assert events[1].out_pkgs == set() + + +def test_parse_pes_events_with_modulestreams(current_actor_context): + """ + Tests whether all events are correctly parsed from the provided string with the JSON data. + """ + with open(os.path.join(CUR_DIR, 'files/sample04.json')) as f: + events = parse_pes_events(f.read()) + assert len(events) == 5 + Expected = namedtuple('Expected', 'action,in_pkgs,out_pkgs') + expected = [ + Expected(action=Action.SPLIT, in_pkgs={Package('original', 'repo', ('module', 'stream_in'))}, out_pkgs={ + Package('split01', 'repo', None), Package('split02', 'repo', None)}), + Expected(action=Action.SPLIT, in_pkgs={Package('original', 'repo', None)}, + out_pkgs={Package('split01', 'repo', ('module', 'stream_out')), + Package('split02', 'repo', ('module', 'stream_out'))}), + Expected(action=Action.REMOVED, in_pkgs={Package('removed', 'repo', None)}, out_pkgs=set()), + Expected(action=Action.RENAMED, in_pkgs={Package('modularized', 'repo', ('module', 'stream_in'))}, out_pkgs={ + Package('demodularized', 'repo', None)}), + Expected(action=Action.RENAMED, in_pkgs={Package('modularized', 'repo', None)}, out_pkgs={ + Package('demodularized', 'repo', None)}), + ] + + for event in events: + for idx, expectation in enumerate(list(expected)): + if expectation.action == event.action and expectation.in_pkgs == event.in_pkgs: + assert event.out_pkgs == expectation.out_pkgs + expected.pop(idx) + break + if not expected: + break + assert not expected + + +def test_get_pes_events_invalid_data_reported(monkeypatch): + def load_data_asset_mocked(*args, **kwargs): + raise ValueError() + + monkeypatch.setattr(fetch, 'load_data_asset', load_data_asset_mocked) + created_reports = create_report_mocked() + monkeypatch.setattr(reporting, "create_report", created_reports) + monkeypatch.setattr(api, "current_actor", CurrentActorMocked()) + + with pytest.raises(StopActorExecution): + get_pes_events("doesn't", "matter") + + assert created_reports.called diff --git a/repos/system_upgrade/common/actors/peseventsscanner/tests/test_pes_event_scanner.py b/repos/system_upgrade/common/actors/peseventsscanner/tests/test_pes_event_scanner.py new file mode 100644 index 0000000..8122e54 --- /dev/null +++ b/repos/system_upgrade/common/actors/peseventsscanner/tests/test_pes_event_scanner.py @@ -0,0 +1,404 @@ +from functools import partial + +import pytest + +from leapp.libraries.actor import pes_events_scanner +from leapp.libraries.actor.pes_event_parsing import Event +from leapp.libraries.actor.pes_events_scanner import ( + Action, + api, + compute_packages_on_target_system, + compute_rpm_tasks_from_pkg_set_diff, + get_installed_pkgs, + Package, + process, + reporting, + TransactionConfiguration +) +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, produce_mocked +from leapp.models import ( + EnabledModules, + InstalledRedHatSignedRPM, + PESIDRepositoryEntry, + PESRpmTransactionTasks, + RepoMapEntry, + RepositoriesFacts, + RepositoriesMapping, + RepositoriesSetupTasks, + RepositoryData, + RepositoryFile, + RHUIInfo, + RPM +) + + +def pkgs_into_tuples(pkgs): + return {(p.name, p.repository, p.modulestream) for p in pkgs} + + +@pytest.mark.parametrize( + ('installed_pkgs', 'events', 'releases', 'expected_target_pkgs'), + ( + ( + {Package('original', 'rhel7-repo', None)}, + [ + Event(1, Action.SPLIT, {Package('original', 'rhel7-repo', None)}, + {Package('split01', 'rhel8-repo', None), Package('split02', 'rhel8-repo', None)}, + (7, 6), (8, 0), []) + ], + [(8, 0)], + {Package('split01', 'rhel8-repo', None), Package('split02', 'rhel8-repo', None), } + ), + ( + {Package('removed', 'rhel7-repo', None)}, + [Event(1, Action.REMOVED, {Package('removed', 'rhel7-repo', None)}, set(), (7, 6), (8, 0), [])], + [(8, 0)], + set() + ), + ( + {Package('present', 'rhel7-repo', None)}, + [Event(1, Action.PRESENT, {Package('present', 'rhel8-repo', None)}, set(), (7, 6), (8, 0), [])], + [(8, 0)], + {Package('present', 'rhel8-repo', None)} + ), + ( + {Package('reintroduced', 'rhel7-repo', None)}, + [ + Event(1, Action.REMOVED, {Package('reintroduced', 'rhel8-repo', None)}, set(), (7, 6), (8, 0), []), + Event(2, Action.PRESENT, {Package('reintroduced', 'rhel8-repo', None)}, set(), (8, 0), (8, 1), []), + ], + [(8, 0), (8, 1)], + {Package('reintroduced', 'rhel8-repo', None)} + ), + ( + {Package('merge-in1', 'rhel7-repo', None), Package('merge-in2', 'rhel7-repo', None)}, + [ + Event(1, Action.MERGED, + {Package('merge-in1', 'rhel7-repo', None), Package('merge-in2', 'rhel7-repo', None)}, + {Package('merge-out', 'rhel8-repo', None)}, (7, 6), (8, 0), []), + ], + [(8, 0)], + {Package('merge-out', 'rhel8-repo', None)} + ), + ( + {Package('merge-in1', 'rhel7-repo', None)}, + [ + Event(1, Action.MERGED, + {Package('merge-in1', 'rhel7-repo', None), Package('merge-in2', 'rhel7-repo', None)}, + {Package('merge-out', 'rhel8-repo', None)}, (7, 6), (8, 0), []), + ], + [(8, 0)], + {Package('merge-out', 'rhel8-repo', None)} + ), + ( + {Package('deprecated', 'rhel7-repo', None)}, + [Event(1, Action.DEPRECATED, {Package('deprecated', 'rhel8-repo', None)}, set(), (7, 6), (8, 0), [])], + [(8, 0)], + {Package('deprecated', 'rhel8-repo', None)} + ), + ( + {Package('replaced-in', 'rhel7-repo', None)}, + [ + Event(1, Action.REPLACED, {Package('replaced-in', 'rhel7-repo', None)}, + {Package('replaced-out', 'rhel8-repo', None)}, (7, 6), (8, 0), []) + ], + [(8, 0)], + {Package('replaced-out', 'rhel8-repo', None)} + ), + ( + {Package('moved-in', 'rhel7-repo', None)}, + [ + Event(1, Action.MOVED, {Package('moved-in', 'rhel7-repo', None)}, + {Package('moved-out', 'rhel8-repo', None)}, (7, 6), (8, 0), []) + ], + [(8, 0)], + {Package('moved-out', 'rhel8-repo', None)} + ), + ( + {Package('renamed-in', 'rhel7-repo', None)}, + [ + Event(1, Action.RENAMED, {Package('renamed-in', 'rhel7-repo', None)}, + {Package('renamed-out', 'rhel8-repo', None)}, (7, 6), (8, 0), []) + ], + [(8, 0)], + {Package('renamed-out', 'rhel8-repo', None)} + ), + ) +) +def test_event_application_fundamentals(monkeypatch, installed_pkgs, events, releases, expected_target_pkgs): + """Trivial checks validating that the core event application algorithm reflects event semantics as expected.""" + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + actual_target_pkgs, dummy_demodularized_pkgs = compute_packages_on_target_system(installed_pkgs, events, releases) + + # Perform strict comparison + actual_pkg_tuple_set = {(pkg.name, pkg.repository, pkg.modulestream) for pkg in actual_target_pkgs} + expected_pkg_tuple_set = {(pkg.name, pkg.repository, pkg.modulestream) for pkg in expected_target_pkgs} + assert actual_pkg_tuple_set == expected_pkg_tuple_set + + +def test_compute_pkg_state(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + events = [ + Event(1, Action.SPLIT, + {Package('original', 'rhel7-repo', None)}, + {Package('split01', 'rhel8-repo', None), Package('split02', 'rhel8-repo', None)}, + (7, 6), (8, 0), []), + Event(2, Action.REMOVED, + {Package('removed', 'rhel7-repo', None)}, set(), + (7, 6), (8, 0), []), + Event(3, Action.PRESENT, + {Package('present', 'rhel8-repo', None)}, set(), + (7, 6), (8, 0), []), + Event(4, Action.REMOVED, + {Package('reintroduced', 'rhel7-repo', None)}, set(), + (7, 6), (8, 0), []), + Event(5, Action.PRESENT, + {Package('reintroduced', 'rhel8-repo', None)}, set(), + (8, 0), (8, 1), []), + Event(6, Action.PRESENT, + set(), {Package('neverthere', 'rhel8-repo', None)}, + (8, 0), (8, 1), []) + ] + + installed_pkgs = { + Package('original', 'rhel7-repo', None), + Package('removed', 'rhel7-repo', None), + Package('present', 'rhel7-repo', None), + Package('reintroduced', 'rhel7-repo', None), + } + + target_pkgs, dummy_demodularized_pkgs = compute_packages_on_target_system(installed_pkgs, events, [(8, 0), (8, 1)]) + + expected_target_pkgs = { + Package('split01', 'rhel8-repo', None), + Package('split02', 'rhel8-repo', None), + Package('present', 'rhel8-repo', None), + Package('reintroduced', 'rhel8-repo', None), + } + assert target_pkgs == expected_target_pkgs + + +def test_compute_rpm_tasks_from_pkg_set_diff(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[EnabledModules(modules=[])])) + source_pkgs = { + Package('removed1', '7repo', None), + Package('removed2', '7repo', None), + Package('kept1', '7repo', None), + Package('kept2', '7repo', None), + } + + target_pkgs = { + Package('kept1', '8repo0', None), + Package('kept2', '8repo0', None), + Package('installed1', '8repo1', None), + Package('installed2', '8repo2', None), + } + + rpm_tasks = compute_rpm_tasks_from_pkg_set_diff(source_pkgs, target_pkgs, set()) + + assert rpm_tasks.to_install == ['installed1', 'installed2'] + assert rpm_tasks.to_remove == ['removed1', 'removed2'] + + +def test_actor_performs(monkeypatch): + """Test whether the actor performs as expected when supplied with required messages.""" + + Pkg = partial(Package, modulestream=None) + + events = [ + Event(1, Action.SPLIT, + {Pkg('split-in', 'rhel7-base')}, + {Pkg('split-out0', 'rhel8-BaseOS'), Pkg('split-out1', 'rhel8-BaseOS')}, + (7, 9), (8, 0), []), + Event(2, Action.MERGED, + {Pkg('split-out0', 'rhel8-BaseOS'), Pkg('split-out1', 'rhel8-BaseOS')}, + {Pkg('merged-out', 'rhel8-BaseOS')}, + (8, 0), (8, 1), []), + Event(3, Action.MOVED, + {Pkg('moved-in', 'rhel7-base')}, {Pkg('moved-out', 'rhel8-BaseOS')}, + (7, 9), (8, 0), []), + Event(4, Action.REMOVED, + {Pkg('removed', 'rhel7-base')}, set(), + (8, 0), (8, 1), []), + Event(5, Action.DEPRECATED, + {Pkg('irrelevant', 'rhel7-base')}, set(), + (8, 0), (8, 1), []), + ] + + monkeypatch.setattr(pes_events_scanner, 'get_pes_events', lambda data_folder, json_filename: events) + + _RPM = partial(RPM, epoch='', packager='', version='', release='', arch='', pgpsig='') + + installed_pkgs = InstalledRedHatSignedRPM(items=[ + _RPM(name='split-in'), _RPM(name='moved-in'), _RPM(name='removed') + ]) + + repositories_mapping = RepositoriesMapping( + mapping=[ + RepoMapEntry(source='rhel7-base', target=['rhel8-BaseOS'], ), + ], + repositories=[ + PESIDRepositoryEntry(pesid='rhel7-base', major_version='7', repoid='rhel7-repo', arch='x86_64', + repo_type='rpm', channel='ga', rhui=''), + PESIDRepositoryEntry(pesid='rhel8-BaseOS', major_version='8', repoid='rhel8-repo', arch='x86_64', + repo_type='rpm', channel='ga', rhui='')] + ) + + enabled_modules = EnabledModules(modules=[]) + repo_facts = RepositoriesFacts( + repositories=[RepositoryFile(file='', data=[RepositoryData(repoid='rhel7-repo', name='RHEL7 repo')])] + ) + + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(msgs=[installed_pkgs, repositories_mapping, enabled_modules, repo_facts], + src_ver='7.9', dst_ver='8.1')) + + produced_messages = produce_mocked() + created_report = create_report_mocked() + monkeypatch.setattr(api, 'produce', produced_messages) + monkeypatch.setattr(reporting, 'create_report', created_report) + + pes_events_scanner.process() + + assert produced_messages.called + + produced_rpm_tasks = [msg for msg in produced_messages.model_instances if isinstance(msg, PESRpmTransactionTasks)] + expected_rpm_tasks = PESRpmTransactionTasks(to_install=['merged-out', 'moved-out'], + to_remove=['moved-in', 'removed', 'split-in'], + modules_to_enable=[], + modules_to_reset=[]) + assert len(produced_rpm_tasks) == 1 + assert produced_rpm_tasks[0].to_install == expected_rpm_tasks.to_install + assert produced_rpm_tasks[0].to_remove == expected_rpm_tasks.to_remove + assert produced_rpm_tasks[0].modules_to_enable == expected_rpm_tasks.modules_to_enable + assert produced_rpm_tasks[0].modules_to_reset == expected_rpm_tasks.modules_to_reset + + +def test_transaction_configuration_has_effect(monkeypatch): + _Pkg = partial(Package, repository=None, modulestream=None) + + def mocked_transaction_conf(): + return TransactionConfiguration( + to_install=[_Pkg('pkg-a'), _Pkg('pkg-b')], + to_remove=[_Pkg('pkg-c'), _Pkg('pkg-d')], + to_keep=[] + ) + + monkeypatch.setattr(pes_events_scanner, 'get_transaction_configuration', mocked_transaction_conf) + + packages = {_Pkg('pkg-a'), _Pkg('pkg-c')} + _result = pes_events_scanner.apply_transaction_configuration(packages) + result = {(p.name, p.repository, p.modulestream) for p in _result} + expected = {('pkg-a', None, None), ('pkg-b', None, None)} + + assert result == expected + + +def test_repository_blacklist_is_correctly_applied(monkeypatch): + _Pkg = partial(Package, modulestream=None) + + monkeypatch.setattr(pes_events_scanner, 'get_blacklisted_repoids', lambda: {'repo-a', 'repo-b', 'repo-c'}) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + source_pkgs = {_Pkg('pkg-b', 'repo-b')} + target_pkgs = {_Pkg('pkg-a', 'repo-a'), _Pkg('pkg-b', 'repo-b'), _Pkg('pkg-c', 'repo-c'), _Pkg('pkg-d', 'repo-d')} + + blacklisted_repoids, target_pkgs = pes_events_scanner.remove_new_packages_from_blacklisted_repos(source_pkgs, + target_pkgs) + result = pkgs_into_tuples(target_pkgs) + + assert blacklisted_repoids == {'repo-a', 'repo-b', 'repo-c'} + assert result == {('pkg-b', 'repo-b', None), ('pkg-d', 'repo-d', None)} + + assert reporting.create_report.called + for removed_pkg_name in ('pkg-a', 'pkg-c'): + assert removed_pkg_name in reporting.create_report.reports[0]['summary'] + + +def test_blacklisted_repoid_is_not_produced(monkeypatch): + """ + Test that upgrade with a package that would be from a blacklisted repository on the target system does not remove + the package as it was already installed, however, the blacklisted repoid should not be produced. + """ + installed_pkgs = {Package('pkg-a', 'blacklisted-rhel7', None), Package('pkg-b', 'repoid-rhel7', None)} + events = [ + Event(1, Action.MOVED, {Package('pkg-b', 'repoid-rhel7', None)}, {Package('pkg-b', 'repoid-rhel8', None)}, + (8, 0), (8, 1), []), + Event(2, Action.MOVED, {Package('pkg-a', 'repoid-rhel7', None)}, {Package('pkg-a', 'blacklisted-rhel8', None)}, + (8, 0), (8, 1), []), + ] + + monkeypatch.setattr(pes_events_scanner, 'get_installed_pkgs', lambda: installed_pkgs) + monkeypatch.setattr(pes_events_scanner, 'get_pes_events', lambda folder, filename: events) + monkeypatch.setattr(pes_events_scanner, 'apply_transaction_configuration', lambda pkgs: pkgs) + monkeypatch.setattr(pes_events_scanner, 'get_blacklisted_repoids', lambda: {'blacklisted-rhel8'}) + monkeypatch.setattr(pes_events_scanner, 'replace_pesids_with_repoids_in_packages', + lambda pkgs, src_pkgs_repoids: pkgs) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + pes_events_scanner.process() + + assert not reporting.create_report.called + + rpm_tasks = [msg for msg in api.produce.model_instances if isinstance(msg, PESRpmTransactionTasks)] + + fail_desc = ('pkg-a should not be removed as it is already installed, and it just won\'t be upgraded since its ' + 'repository is blacklisted. All remaining pkgs are kept, no new pkgs are installed, and therefore, ' + 'no PESRpmTransactionTasks should be produced, however, they were.') + assert not rpm_tasks, fail_desc + + repo_setup_tasks = [msg for msg in api.produce.model_instances if isinstance(msg, RepositoriesSetupTasks)] + assert len(repo_setup_tasks) == 1 + assert repo_setup_tasks[0].to_enable == ['repoid-rhel8'] + + +@pytest.mark.parametrize( + ('installed_pkgs', 'expected_target_pkgs'), + ( + ({Package('in', 'rhel7-repo', ('m', 's'))}, {('out', 'rhel8-repo-modular', ('m', 's'))}), + ({Package('in', 'rhel7-repo', None)}, {('out', 'rhel8-repo', None)}), + ) +) +def test_modularity_info_distinguishes_pkgs(monkeypatch, installed_pkgs, expected_target_pkgs): + events = [ + Event(1, Action.MOVED, + {Package('in', 'rhel7-repo', None)}, {Package('out', 'rhel8-repo', None)}, + (8, 0), (8, 1), []), + Event(2, Action.MOVED, + {Package('in', 'rhel7-repo', ('m', 's'))}, {Package('out', 'rhel8-repo-modular', ('m', 's'))}, + (8, 0), (8, 1), []), + ] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + target_pkgs, dummy_demodularized_pkgs = compute_packages_on_target_system(installed_pkgs, events, [(8, 1)]) + + assert pkgs_into_tuples(target_pkgs) == expected_target_pkgs + + +def test_pkgs_are_demodularized_when_crossing_major_version(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.9')) + + events = [ + Event(1, Action.MOVED, + {Package('modular', 'repo1-in', ('module1', 'stream'))}, + {Package('modular', 'repo1-out', ('module2', 'stream'))}, + (7, 9), (8, 0), []), + ] + + installed_pkgs = { + Package('modular', 'repo1-in', ('module1', 'stream')), + Package('demodularized', 'repo', ('module-demodularized', 'stream')) + } + + target_pkgs, demodularized_pkgs = compute_packages_on_target_system(installed_pkgs, events, [(8, 0)]) + + expected_target_pkgs = { + Package('modular', 'repo1-out', ('module2', 'stream')), + Package('demodularized', 'repo', None) + } + assert demodularized_pkgs == {Package('demodularized', 'repo', ('module-demodularized', 'stream'))} + assert target_pkgs == expected_target_pkgs diff --git a/repos/system_upgrade/common/actors/preparepythonworkround/actor.py b/repos/system_upgrade/common/actors/preparepythonworkround/actor.py new file mode 100644 index 0000000..94e772d --- /dev/null +++ b/repos/system_upgrade/common/actors/preparepythonworkround/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor.workaround import apply_python3_workaround +from leapp.tags import IPUWorkflowTag, RPMUpgradePhaseTag + + +class PreparePythonWorkround(Actor): + """ + Prepare environment to be able to run leapp with Python3 in initrd. + + These are the current necessary steps to be able to run Leapp with Python3. + Basically, we create directory (now /root/tmp_leapp_py3/). We will put + symlinks inside which will point to leapp python packages. Additionally, + we create new script that will import expected modules and run leapp again. + """ + + name = 'prepare_python_workround' + consumes = () + produces = () + tags = (IPUWorkflowTag, RPMUpgradePhaseTag) + + def process(self): + apply_python3_workaround() diff --git a/repos/system_upgrade/common/actors/preparepythonworkround/libraries/workaround.py b/repos/system_upgrade/common/actors/preparepythonworkround/libraries/workaround.py new file mode 100644 index 0000000..255121d --- /dev/null +++ b/repos/system_upgrade/common/actors/preparepythonworkround/libraries/workaround.py @@ -0,0 +1,42 @@ +import os +import shutil +import sys + +from leapp.libraries.common.utils import makedirs +from leapp.libraries.stdlib import api + +LEAPP_HOME = '/root/tmp_leapp_py3' + + +def _get_python_dirname(): + # NOTE: I thought about the static value: python2.7 for el7, python3.6 for + # el8; but in the end I've ratcher switched to this generic solution. + return 'python{}.{}'.format(sys.version_info.major, sys.version_info.minor) + + +def _get_orig_leapp_path(): + return os.path.join('/usr/lib', _get_python_dirname(), 'site-packages/leapp') + + +def apply_python3_workaround(): + py3_leapp = os.path.join(LEAPP_HOME, 'leapp3') + if os.path.exists(LEAPP_HOME): + try: + shutil.rmtree(LEAPP_HOME) + except OSError as e: + api.current_logger().error('Could not remove {} directory: {}'.format(LEAPP_HOME, str(e))) + + makedirs(LEAPP_HOME) + leapp_lib_symlink_path = os.path.join(LEAPP_HOME, 'leapp') + os.symlink(_get_orig_leapp_path(), leapp_lib_symlink_path) + with open(py3_leapp, 'w') as f: + f_content = [ + '#!/usr/bin/python3 -B', + 'import sys', + 'sys.path.append(\'{}\')'.format(LEAPP_HOME), + '', + 'import leapp.cli', + 'sys.exit(leapp.cli.main())', + ] + f.write('{}\n\n'.format('\n'.join(f_content))) + os.chmod(py3_leapp, 0o770) diff --git a/repos/system_upgrade/common/actors/preparepythonworkround/tests/test_preparepythonworkaround.py b/repos/system_upgrade/common/actors/preparepythonworkround/tests/test_preparepythonworkaround.py new file mode 100644 index 0000000..f5d5fbe --- /dev/null +++ b/repos/system_upgrade/common/actors/preparepythonworkround/tests/test_preparepythonworkaround.py @@ -0,0 +1,50 @@ +from collections import namedtuple +from os import access, path, symlink, X_OK + +import pytest + +from leapp.libraries.actor import workaround +from leapp.libraries.common.utils import makedirs + +SysVersionInfo = namedtuple('version_info', ['major', 'minor', 'micro', 'releaselevel', 'serial']) + + +def fake_symlink(basedir): + def impl(source, target): + source_path = str(basedir.join(*source.lstrip('/').split('/'))) + makedirs(source_path) + symlink(source_path, target) + return impl + + +def test_apply_python3_workaround(monkeypatch, tmpdir): + leapp_home = tmpdir.mkdir('tmp_leapp_py3') + monkeypatch.setattr(workaround.os, 'symlink', fake_symlink(tmpdir.mkdir('lib'))) + monkeypatch.setattr(workaround, 'LEAPP_HOME', str(leapp_home)) + + # Ensure double invocation doesn't cause a problem + workaround.apply_python3_workaround() + workaround.apply_python3_workaround() + + # Ensure creation of all required elements + assert path.islink(str(leapp_home.join('leapp'))) + assert path.isfile(str(leapp_home.join('leapp3'))) + assert access(str(leapp_home.join('leapp3')), X_OK) + + assert str(leapp_home) in leapp_home.join('leapp3').read_text('utf-8') + + +@pytest.mark.parametrize('pydir', ('python2.7', 'python3.6', 'python3.9')) +def test_orig_leapp_path(monkeypatch, pydir): + monkeypatch.setattr(workaround, '_get_python_dirname', lambda: pydir) + assert workaround._get_orig_leapp_path() == '/usr/lib/{}/site-packages/leapp'.format(pydir) + + +@pytest.mark.parametrize('sys_version_info,result', ( + (SysVersionInfo(2, 7, 5, 'final', 0), 'python2.7'), + (SysVersionInfo(3, 6, 0, 'X', 0), 'python3.6'), + (SysVersionInfo(3, 9, 0, 'X', 0), 'python3.9'), +)) +def test_get_python_dirname(monkeypatch, sys_version_info, result): + monkeypatch.setattr(workaround.sys, 'version_info', sys_version_info) + assert workaround._get_python_dirname() == result diff --git a/repos/system_upgrade/common/actors/redhatsignedrpmcheck/actor.py b/repos/system_upgrade/common/actors/redhatsignedrpmcheck/actor.py new file mode 100644 index 0000000..a3555e5 --- /dev/null +++ b/repos/system_upgrade/common/actors/redhatsignedrpmcheck/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor.redhatsignedrpmcheck import check_unsigned_packages +from leapp.models import InstalledUnsignedRPM +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class RedHatSignedRpmCheck(Actor): + """ + Check if there are packages not signed by Red Hat in use. If yes, warn user about it. + + If any any installed RPM package does not contain a valid signature from Red Hat, a message + containing a warning is produced. + """ + + name = 'red_hat_signed_rpm_check' + consumes = (InstalledUnsignedRPM,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + check_unsigned_packages() diff --git a/repos/system_upgrade/common/actors/redhatsignedrpmcheck/libraries/redhatsignedrpmcheck.py b/repos/system_upgrade/common/actors/redhatsignedrpmcheck/libraries/redhatsignedrpmcheck.py new file mode 100644 index 0000000..efdb8f4 --- /dev/null +++ b/repos/system_upgrade/common/actors/redhatsignedrpmcheck/libraries/redhatsignedrpmcheck.py @@ -0,0 +1,45 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.libraries.stdlib.config import is_verbose +from leapp.models import InstalledUnsignedRPM + +COMMON_REPORT_TAGS = [reporting.Groups.SANITY] + + +def generate_report(packages): + """ Generate a report if there are unsigned packages installed on the system """ + if not packages: + return + unsigned_packages_new_line = '\n'.join(['- ' + p for p in packages]) + title = 'Packages not signed by Red Hat found on the system' + summary = ('The following packages have not been signed by Red Hat' + ' and may be removed during the upgrade process in case Red Hat-signed' + ' packages to be removed during the upgrade depend on them:\n{}' + .format(unsigned_packages_new_line)) + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS) + ]) + + if is_verbose(): + api.show_message(summary) + + +def get_unsigned_packages(): + """ Get list of unsigned packages installed in the system """ + rpm_messages = api.consume(InstalledUnsignedRPM) + data = next(rpm_messages, InstalledUnsignedRPM()) + if list(rpm_messages): + api.current_logger().warning('Unexpectedly received more than one InstalledUnsignedRPM message.') + unsigned_packages = set() + unsigned_packages.update([pkg.name for pkg in data.items]) + unsigned_packages = list(unsigned_packages) + unsigned_packages.sort() + return unsigned_packages + + +def check_unsigned_packages(): + """ Check and generate reports if system contains unsigned installed packages""" + generate_report(get_unsigned_packages()) diff --git a/repos/system_upgrade/common/actors/redhatsignedrpmcheck/tests/test_redhatsignedrpmcheck.py b/repos/system_upgrade/common/actors/redhatsignedrpmcheck/tests/test_redhatsignedrpmcheck.py new file mode 100644 index 0000000..8ec4c16 --- /dev/null +++ b/repos/system_upgrade/common/actors/redhatsignedrpmcheck/tests/test_redhatsignedrpmcheck.py @@ -0,0 +1,47 @@ +from leapp import reporting +from leapp.libraries.actor import redhatsignedrpmcheck +from leapp.libraries.common.testutils import create_report_mocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledUnsignedRPM, RPM + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def test_actor_execution_without_unsigned_data(monkeypatch): + def consume_unsigned_message_mocked(*models): + installed_rpm = [] + yield InstalledUnsignedRPM(items=installed_rpm) + monkeypatch.setattr(api, "consume", consume_unsigned_message_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + monkeypatch.setattr(api, "show_message", lambda x: True) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + packages = redhatsignedrpmcheck.get_unsigned_packages() + assert not packages + redhatsignedrpmcheck.generate_report(packages) + assert reporting.create_report.called == 0 + + +def test_actor_execution_with_unsigned_data(monkeypatch): + def consume_unsigned_message_mocked(*models): + installed_rpm = [ + RPM(name='sample02', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + RPM(name='sample04', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + RPM(name='sample06', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + RPM(name='sample08', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X')] + yield InstalledUnsignedRPM(items=installed_rpm) + + monkeypatch.setattr(api, "consume", consume_unsigned_message_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + monkeypatch.setattr(api, "show_message", lambda x: True) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + packages = redhatsignedrpmcheck.get_unsigned_packages() + assert len(packages) == 4 + redhatsignedrpmcheck.generate_report(packages) + assert reporting.create_report.called == 1 + assert 'Packages not signed by Red Hat found' in reporting.create_report.report_fields['title'] diff --git a/repos/system_upgrade/common/actors/redhatsignedrpmscanner/actor.py b/repos/system_upgrade/common/actors/redhatsignedrpmscanner/actor.py new file mode 100644 index 0000000..1085bee --- /dev/null +++ b/repos/system_upgrade/common/actors/redhatsignedrpmscanner/actor.py @@ -0,0 +1,94 @@ +from leapp.actors import Actor +from leapp.libraries.common import rhui +from leapp.models import InstalledRedHatSignedRPM, InstalledRPM, InstalledUnsignedRPM +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RedHatSignedRpmScanner(Actor): + """Provide data about installed RPM Packages signed by Red Hat. + + After filtering the list of installed RPM packages by signature, a message + with relevant data will be produced. + """ + + name = 'red_hat_signed_rpm_scanner' + consumes = (InstalledRPM,) + produces = (InstalledRedHatSignedRPM, InstalledUnsignedRPM,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + RH_SIGS = ['199e2f91fd431d51', + '5326810137017186', + '938a80caf21541eb', + 'fd372689897da07a', + '45689c882fa658e0'] + + signed_pkgs = InstalledRedHatSignedRPM() + unsigned_pkgs = InstalledUnsignedRPM() + + env_vars = self.configuration.leapp_env_vars + # if we start upgrade with LEAPP_DEVEL_RPMS_ALL_SIGNED=1, we consider + # all packages to be signed + all_signed = [ + env + for env in env_vars + if env.name == 'LEAPP_DEVEL_RPMS_ALL_SIGNED' and env.value == '1' + ] + + def has_rhsig(pkg): + return any(key in pkg.pgpsig for key in RH_SIGS) + + def is_gpg_pubkey(pkg): + """Check if gpg-pubkey pkg exists or LEAPP_DEVEL_RPMS_ALL_SIGNED=1 + + gpg-pubkey is not signed as it would require another package + to verify its signature + """ + return ( # pylint: disable-msg=consider-using-ternary + pkg.name == 'gpg-pubkey' + and pkg.packager.startswith('Red Hat, Inc.') + or all_signed + ) + + def has_katello_prefix(pkg): + """Whitelist the katello package.""" + return pkg.name.startswith('katello-ca-consumer') + + upg_path = rhui.get_upg_path() + # AWS RHUI packages do not have to be whitelisted because they are signed by RedHat + whitelisted_cloud_flavours = ( + 'azure', + 'azure-eus', + 'azure-sap-ha', + 'azure-sap-apps', + 'google', + 'google-sap', + 'alibaba' + ) + whitelisted_cloud_pkgs = { + rhui.RHUI_CLOUD_MAP[upg_path].get(flavour, {}).get('src_pkg') for flavour in whitelisted_cloud_flavours + } + whitelisted_cloud_pkgs.update( + rhui.RHUI_CLOUD_MAP[upg_path].get(flavour, {}).get('target_pkg') for flavour in whitelisted_cloud_flavours + ) + whitelisted_cloud_pkgs.update( + rhui.RHUI_CLOUD_MAP[upg_path].get(flavour, {}).get('leapp_pkg') for flavour in whitelisted_cloud_flavours + ) + + for rpm_pkgs in self.consume(InstalledRPM): + for pkg in rpm_pkgs.items: + if any( + [ + has_rhsig(pkg), + is_gpg_pubkey(pkg), + has_katello_prefix(pkg), + pkg.name in whitelisted_cloud_pkgs, + ] + ): + signed_pkgs.items.append(pkg) + continue + + unsigned_pkgs.items.append(pkg) + + self.produce(signed_pkgs) + self.produce(unsigned_pkgs) diff --git a/repos/system_upgrade/common/actors/redhatsignedrpmscanner/tests/test_redhatsignedrpmscanner.py b/repos/system_upgrade/common/actors/redhatsignedrpmscanner/tests/test_redhatsignedrpmscanner.py new file mode 100644 index 0000000..6652142 --- /dev/null +++ b/repos/system_upgrade/common/actors/redhatsignedrpmscanner/tests/test_redhatsignedrpmscanner.py @@ -0,0 +1,171 @@ +import mock + +from leapp.libraries.common import rpms +from leapp.libraries.common.config import mock_configs +from leapp.models import ( + fields, + InstalledRedHatSignedRPM, + InstalledRPM, + InstalledUnsignedRPM, + IPUConfig, + Model, + RPM +) + +RH_PACKAGER = 'Red Hat, Inc. ' + + +class MockObject(Model): + topic = RPM.topic + value = fields.Integer(default=42) + plan = fields.Nullable(fields.String()) + + +class MockModel(Model): + topic = RPM.topic + list_field = fields.List(fields.Model(MockObject), default=[]) + list_field_nullable = fields.Nullable(fields.List(fields.String())) + int_field = fields.Integer(default=42) + + +def test_no_installed_rpms(current_actor_context): + current_actor_context.run(config_model=mock_configs.CONFIG) + assert current_actor_context.consume(InstalledRedHatSignedRPM) + assert current_actor_context.consume(InstalledUnsignedRPM) + + +def test_actor_execution_with_signed_unsigned_data(current_actor_context): + installed_rpm = [ + RPM(name='sample01', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sample02', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + RPM(name='sample03', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186'), + RPM(name='sample04', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + RPM(name='sample05', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 938a80caf21541eb'), + RPM(name='sample06', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + RPM(name='sample07', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID fd372689897da07a'), + RPM(name='sample08', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + RPM(name='sample09', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 45689c882fa658e0')] + + current_actor_context.feed(InstalledRPM(items=installed_rpm)) + current_actor_context.run(config_model=mock_configs.CONFIG) + assert current_actor_context.consume(InstalledRedHatSignedRPM) + assert len(current_actor_context.consume(InstalledRedHatSignedRPM)[0].items) == 5 + assert current_actor_context.consume(InstalledUnsignedRPM) + assert len(current_actor_context.consume(InstalledUnsignedRPM)[0].items) == 4 + + +def test_all_rpms_signed(current_actor_context): + installed_rpm = [ + RPM(name='sample01', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sample02', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + RPM(name='sample03', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186'), + RPM(name='sample04', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X') + ] + + current_actor_context.feed(InstalledRPM(items=installed_rpm)) + current_actor_context.run(config_model=mock_configs.CONFIG_ALL_SIGNED) + assert current_actor_context.consume(InstalledRedHatSignedRPM) + assert len(current_actor_context.consume(InstalledRedHatSignedRPM)[0].items) == 4 + assert not current_actor_context.consume(InstalledUnsignedRPM)[0].items + + +def test_katello_pkg_goes_to_signed(current_actor_context): + installed_rpm = [ + RPM(name='katello-ca-consumer-vm-098.example.com', + version='1.0', + release='1', + epoch='0', + packager='None', + arch='noarch', + pgpsig=''), + ] + + current_actor_context.feed(InstalledRPM(items=installed_rpm)) + current_actor_context.run(config_model=mock_configs.CONFIG_ALL_SIGNED) + assert current_actor_context.consume(InstalledRedHatSignedRPM) + assert len(current_actor_context.consume(InstalledRedHatSignedRPM)[0].items) == 1 + assert not current_actor_context.consume(InstalledUnsignedRPM)[0].items + + +def test_gpg_pubkey_pkg(current_actor_context): + installed_rpm = [ + RPM(name='gpg-pubkey', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID aa17105e03152d37'), + RPM(name='gpg-pubkey', version='0.1', release='1.sm01', epoch='1', packager='Tester', arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 9ea903b1361e896b'), + ] + + current_actor_context.feed(InstalledRPM(items=installed_rpm)) + current_actor_context.run(config_model=mock_configs.CONFIG) + assert current_actor_context.consume(InstalledRedHatSignedRPM) + assert len(current_actor_context.consume(InstalledRedHatSignedRPM)[0].items) == 1 + assert current_actor_context.consume(InstalledUnsignedRPM) + assert len(current_actor_context.consume(InstalledUnsignedRPM)[0].items) == 1 + + +def test_create_lookup(): + # NOTE(ivasilev) Ideally should be tested separately from the actor, but since library + # testing functionality is not yet implemented in leapp-repository the tests will reside here. + model = MockModel(list_field=[MockObject(value=42, plan="A"), + MockObject(value=-42, plan="B"), + MockObject(value=9999)]) + # plain non-empty list + keys = ('value', ) + with mock.patch('leapp.libraries.stdlib.api.consume', return_value=(model,)): + lookup = rpms.create_lookup(MockModel, 'list_field', keys=keys) + assert {(42, ), (-42, ), (9999, )} == lookup + # plain list, multiple keys + with mock.patch('leapp.libraries.stdlib.api.consume', return_value=(model,)): + lookup = rpms.create_lookup(MockModel, 'list_field', keys=('value', 'plan')) + assert {(42, 'A'), (-42, 'B'), (9999, None)} == lookup + # empty list + model.list_field = [] + with mock.patch('leapp.libraries.stdlib.api.consume', return_value=(model,)): + lookup = rpms.create_lookup(MockModel, 'list_field', keys=keys) + assert set() == lookup + # nullable list without default + assert model.list_field_nullable is None + with mock.patch('leapp.libraries.stdlib.api.consume', return_value=(model,)): + lookup = rpms.create_lookup(MockModel, 'list_field_nullable', keys=keys) + assert set() == lookup + # improper usage: lookup from non iterable field + with mock.patch('leapp.libraries.stdlib.api.consume', return_value=(model,)): + lookup = rpms.create_lookup(MockModel, 'int_field', keys=keys) + assert set() == lookup + # improper usage: lookup from iterable but bad attribute + with mock.patch('leapp.libraries.stdlib.api.consume', return_value=(model,)): + lookup = rpms.create_lookup(MockModel, 'list_field', keys=('nosuchattr',)) + assert set() == lookup + # improper usage: lookup from iterable, multiple keys bad 1 bad + with mock.patch('leapp.libraries.stdlib.api.consume', return_value=(model,)): + lookup = rpms.create_lookup(MockModel, 'list_field', keys=('value', 'nosuchattr')) + assert set() == lookup + + +def test_has_package(current_actor_context): + installed_rpm = [ + RPM(name='sample01', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sample02', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='SOME_OTHER_SIG_X'), + ] + + current_actor_context.feed(InstalledRPM(items=installed_rpm)) + current_actor_context.run(config_model=mock_configs.CONFIG) + assert rpms.has_package(InstalledRedHatSignedRPM, 'sample01', context=current_actor_context) + assert not rpms.has_package(InstalledRedHatSignedRPM, 'nosuchpackage', context=current_actor_context) + assert rpms.has_package(InstalledUnsignedRPM, 'sample02', context=current_actor_context) + assert not rpms.has_package(InstalledUnsignedRPM, 'nosuchpackage', context=current_actor_context) diff --git a/repos/system_upgrade/common/actors/removebootfiles/actor.py b/repos/system_upgrade/common/actors/removebootfiles/actor.py new file mode 100644 index 0000000..76aab8d --- /dev/null +++ b/repos/system_upgrade/common/actors/removebootfiles/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.removebootfiles import remove_boot_files +from leapp.models import BootContent +from leapp.tags import IPUWorkflowTag, PreparationPhaseTag + + +class RemoveBootFiles(Actor): + """ + Remove Leapp provided initramfs from boot partition. + + Since Leapp provided initramfs and kernel are already loaded into RAM at this phase, remove + them to have as little space requirements for boot partition as possible. + """ + + name = 'remove_boot_files' + consumes = (BootContent,) + produces = () + tags = (IPUWorkflowTag, PreparationPhaseTag) + + def process(self): + remove_boot_files() diff --git a/repos/system_upgrade/common/actors/removebootfiles/libraries/removebootfiles.py b/repos/system_upgrade/common/actors/removebootfiles/libraries/removebootfiles.py new file mode 100644 index 0000000..d31af90 --- /dev/null +++ b/repos/system_upgrade/common/actors/removebootfiles/libraries/removebootfiles.py @@ -0,0 +1,25 @@ +import os + +from leapp.exceptions import StopActorExecution +from leapp.libraries.stdlib import api +from leapp.models import BootContent + + +def remove_boot_files(): + boot_content_msgs = api.consume(BootContent) + boot_content = next(boot_content_msgs, None) + if list(boot_content_msgs): + api.current_logger().warning('Unexpectedly received more than one BootContent message.') + if not boot_content: + api.current_logger().warning('Did not receive a message about the leapp-provided kernel and initramfs ->' + ' Skipping removal of these files.') + raise StopActorExecution + for filepath in boot_content.kernel_path, boot_content.initram_path, boot_content.kernel_hmac_path: + remove_file(filepath) + + +def remove_file(filepath): + try: + os.remove(filepath) + except OSError as err: + api.current_logger().error('Could not remove {0}: {1}.'.format(filepath, err)) diff --git a/repos/system_upgrade/common/actors/removebootfiles/tests/unit_test_removebootfiles.py b/repos/system_upgrade/common/actors/removebootfiles/tests/unit_test_removebootfiles.py new file mode 100644 index 0000000..7e5fbbf --- /dev/null +++ b/repos/system_upgrade/common/actors/removebootfiles/tests/unit_test_removebootfiles.py @@ -0,0 +1,56 @@ +import pytest + +from leapp.exceptions import StopActorExecution +from leapp.libraries.actor import removebootfiles +from leapp.libraries.common.testutils import logger_mocked +from leapp.libraries.stdlib import api +from leapp.models import BootContent + + +class remove_file_mocked(object): + def __init__(self): + self.called = 0 + self.files_to_remove = [] + + def __call__(self, filename): + self.called += 1 + self.files_to_remove.append(filename) + + +def test_remove_boot_files(monkeypatch): + # BootContent message available + def consume_message_mocked(*models): + yield BootContent(kernel_path='/abc', initram_path='/def', kernel_hmac_path='/ghi') + + monkeypatch.setattr('leapp.libraries.stdlib.api.consume', consume_message_mocked) + monkeypatch.setattr(removebootfiles, 'remove_file', remove_file_mocked()) + + removebootfiles.remove_boot_files() + + assert removebootfiles.remove_file.files_to_remove == ['/abc', '/def', '/ghi'] + + # No BootContent message available + def consume_no_message_mocked(*models): + yield None + + monkeypatch.setattr('leapp.libraries.stdlib.api.consume', consume_no_message_mocked) + monkeypatch.setattr(removebootfiles, 'remove_file', remove_file_mocked()) + monkeypatch.setattr('leapp.libraries.stdlib.api.current_logger', logger_mocked()) + + with pytest.raises(StopActorExecution): + removebootfiles.remove_boot_files() + + assert removebootfiles.remove_file.called == 0 + assert any("Did not receive a message" in msg for msg in api.current_logger.warnmsg) + + +def test_remove_file_that_does_not_exist(monkeypatch): + def remove_mocked(filepath): + raise OSError + + monkeypatch.setattr('os.remove', remove_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + removebootfiles.remove_file('/filepath') + + assert any("Could not remove /filepath" in msg for msg in api.current_logger.errmsg) diff --git a/repos/system_upgrade/common/actors/removeobsoletegpgkeys/actor.py b/repos/system_upgrade/common/actors/removeobsoletegpgkeys/actor.py new file mode 100644 index 0000000..5674ee3 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeobsoletegpgkeys/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor import removeobsoleterpmgpgkeys +from leapp.models import DNFWorkaround, InstalledRPM +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RemoveObsoleteGpgKeys(Actor): + """ + Remove obsoleted RPM GPG keys. + + New version might make existing RPM GPG keys obsolete. This might be caused + for example by the hashing algorithm becoming deprecated or by the key + getting replaced. + + A DNFWorkaround is registered to actually remove the keys. + """ + + name = "remove_obsolete_gpg_keys" + consumes = (InstalledRPM,) + produces = (DNFWorkaround,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + removeobsoleterpmgpgkeys.process() diff --git a/repos/system_upgrade/common/actors/removeobsoletegpgkeys/libraries/removeobsoleterpmgpgkeys.py b/repos/system_upgrade/common/actors/removeobsoletegpgkeys/libraries/removeobsoleterpmgpgkeys.py new file mode 100644 index 0000000..1cc5d64 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeobsoletegpgkeys/libraries/removeobsoleterpmgpgkeys.py @@ -0,0 +1,47 @@ +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import DNFWorkaround, InstalledRPM + +# maps target version to keys obsoleted in that version +OBSOLETED_KEYS_MAP = { + 7: [], + 8: [ + "gpg-pubkey-2fa658e0-45700c69", + "gpg-pubkey-37017186-45761324", + "gpg-pubkey-db42a60e-37ea5438", + ], + 9: ["gpg-pubkey-d4082792-5b32db75"], +} + + +def _get_obsolete_keys(): + """ + Return keys obsoleted in target and previous versions + """ + keys = [] + for version in range(7, int(get_target_major_version()) + 1): + for key in OBSOLETED_KEYS_MAP[version]: + name, version, release = key.rsplit("-", 2) + if has_package(InstalledRPM, name, version=version, release=release): + keys.append(key) + + return keys + + +def register_dnfworkaround(keys): + api.produce( + DNFWorkaround( + display_name="remove obsolete RPM GPG keys from RPM DB", + script_path=api.current_actor().get_common_tool_path("removerpmgpgkeys"), + script_args=keys, + ) + ) + + +def process(): + keys = _get_obsolete_keys() + if not keys: + return + + register_dnfworkaround(keys) diff --git a/repos/system_upgrade/common/actors/removeobsoletegpgkeys/tests/test_removeobsoleterpmgpgkeys.py b/repos/system_upgrade/common/actors/removeobsoletegpgkeys/tests/test_removeobsoleterpmgpgkeys.py new file mode 100644 index 0000000..1d48781 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeobsoletegpgkeys/tests/test_removeobsoleterpmgpgkeys.py @@ -0,0 +1,94 @@ +import pytest + +from leapp.libraries.actor import removeobsoleterpmgpgkeys +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.common.rpms import has_package +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import DNFWorkaround, InstalledRPM, RPM + + +def _get_test_installedrpm(): + return InstalledRPM( + items=[ + RPM( + name='gpg-pubkey', + version='d4082792', + release='5b32db75', + epoch='0', + packager='Red Hat, Inc. (auxiliary key 2) ', + arch='noarch', + pgpsig='' + ), + RPM( + name='gpg-pubkey', + version='2fa658e0', + release='45700c69', + epoch='0', + packager='Red Hat, Inc. (auxiliary key) ', + arch='noarch', + pgpsig='' + ), + RPM( + name='gpg-pubkey', + version='12345678', + release='abcdefgh', + epoch='0', + packager='made up', + arch='noarch', + pgpsig='' + ), + ] + ) + + +@pytest.mark.parametrize( + "version, expected", + [ + (9, ["gpg-pubkey-d4082792-5b32db75", "gpg-pubkey-2fa658e0-45700c69"]), + (8, ["gpg-pubkey-2fa658e0-45700c69"]) + ] +) +def test_get_obsolete_keys(monkeypatch, version, expected): + def get_target_major_version_mocked(): + return version + + monkeypatch.setattr( + removeobsoleterpmgpgkeys, + "get_target_major_version", + get_target_major_version_mocked, + ) + + monkeypatch.setattr( + api, + "current_actor", + CurrentActorMocked( + msgs=[_get_test_installedrpm()] + ), + ) + + keys = removeobsoleterpmgpgkeys._get_obsolete_keys() + assert set(keys) == set(expected) + + +@pytest.mark.parametrize( + "keys, should_register", + [ + (["gpg-pubkey-d4082792-5b32db75"], True), + ([], False) + ] +) +def test_workaround_should_register(monkeypatch, keys, should_register): + def get_obsolete_keys_mocked(): + return keys + + monkeypatch.setattr( + removeobsoleterpmgpgkeys, + '_get_obsolete_keys', + get_obsolete_keys_mocked + ) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, "current_actor", CurrentActorMocked()) + + removeobsoleterpmgpgkeys.process() + assert api.produce.called == should_register diff --git a/repos/system_upgrade/common/actors/removeresumeservice/actor.py b/repos/system_upgrade/common/actors/removeresumeservice/actor.py new file mode 100644 index 0000000..5993539 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeresumeservice/actor.py @@ -0,0 +1,45 @@ +import errno +import os + +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.stdlib import api, run +from leapp.reporting import create_report, Report +from leapp.tags import FirstBootPhaseTag, IPUWorkflowTag + + +class RemoveSystemdResumeService(Actor): + """ + Remove systemd service to launch Leapp. + + After system was rebooted and process resumed, this service is not necessary anymore. + """ + + name = 'remove_systemd_resume_service' + consumes = () + produces = (Report,) + tags = (FirstBootPhaseTag.After, IPUWorkflowTag) + + def process(self): + service_name = 'leapp_resume.service' + if os.path.isfile('/etc/systemd/system/{}'.format(service_name)): + run(['systemctl', 'disable', service_name]) + paths_to_unlink = [ + '/etc/systemd/system/{}'.format(service_name), + '/etc/systemd/system/default.target.wants/{}'.format(service_name), + ] + for path in paths_to_unlink: + try: + os.unlink(path) + except OSError as e: + api.current_logger().debug('Failed removing {}: {}'.format(path, str(e))) + if e.errno != errno.ENOENT: + raise + + create_report([ + reporting.Title('"{}" service deleted'.format(service_name)), + reporting.Summary( + '"{}" was taking care of resuming upgrade process ' + 'after the first reboot.'.format(service_name)), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS]), + ]) diff --git a/repos/system_upgrade/common/actors/removeresumeservice/tests/test_removeresumeservice.py b/repos/system_upgrade/common/actors/removeresumeservice/tests/test_removeresumeservice.py new file mode 100644 index 0000000..ea80385 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeresumeservice/tests/test_removeresumeservice.py @@ -0,0 +1,37 @@ +import errno +import os + +import pytest + + +@pytest.mark.skipif( + not os.path.isdir('/etc/systemd/system/default.target.wants') + or not os.getuid() == 0, + reason='default.target.wants dir should exists and test should be run ' + 'under the root user.', +) +# TODO make the test not destructive +@pytest.mark.skipif(os.getenv("DESTRUCTIVE_TESTING", False) in [False, "0"], + reason='Test disabled by default because it would modify the system') +def test_remove_resume_service(current_actor_context): + service_name = 'leapp_resume.service' + service_path = os.path.join('/etc/systemd/system/', service_name) + symlink_path = os.path.join('/etc/systemd/system/default.target.wants/', service_name) + + # lets make sure there are not leftovers from previous tests + try: + os.unlink(service_path) + os.unlink(symlink_path) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + with open(service_path, 'w'): + pass + + os.symlink(service_path, symlink_path) + + current_actor_context.run() + + assert not os.path.isfile(service_path) + assert not os.path.isfile(symlink_path) diff --git a/repos/system_upgrade/common/actors/removeupgradeartifacts/actor.py b/repos/system_upgrade/common/actors/removeupgradeartifacts/actor.py new file mode 100644 index 0000000..5eb60d2 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeupgradeartifacts/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor import removeupgradeartifacts +from leapp.tags import InterimPreparationPhaseTag, IPUWorkflowTag + + +class RemoveUpgradeArtifacts(Actor): + """ + Removes artifacts left over by previous leapp runs + + After the upgrade process, there might be some leftover files, which need + to be cleaned up before running another upgrade. + + Removed artifacts: + - /root/tmp_leapp_py3/ directory (includes ".leapp_upgrade_failed" flag file) + """ + + name = 'remove_upgrade_artifacts' + consumes = () + produces = () + tags = (InterimPreparationPhaseTag, IPUWorkflowTag) + + def process(self): + removeupgradeartifacts.process() diff --git a/repos/system_upgrade/common/actors/removeupgradeartifacts/libraries/removeupgradeartifacts.py b/repos/system_upgrade/common/actors/removeupgradeartifacts/libraries/removeupgradeartifacts.py new file mode 100644 index 0000000..aa748d9 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeupgradeartifacts/libraries/removeupgradeartifacts.py @@ -0,0 +1,17 @@ +import os + +from leapp.libraries.stdlib import api, CalledProcessError, run + +UPGRADE_ARTIFACTS_DIR = '/root/tmp_leapp_py3/' + + +def process(): + if os.path.exists(UPGRADE_ARTIFACTS_DIR): + api.current_logger().debug( + "Removing leftover upgrade artifacts dir: {} ".format(UPGRADE_ARTIFACTS_DIR)) + + try: + run(['rm', '-rf', UPGRADE_ARTIFACTS_DIR]) + except (CalledProcessError, OSError) as e: + api.current_logger().debug( + 'Failed to remove leftover upgrade artifacts dir: {}'.format(e)) diff --git a/repos/system_upgrade/common/actors/removeupgradeartifacts/tests/test_removeupgradeartifacts.py b/repos/system_upgrade/common/actors/removeupgradeartifacts/tests/test_removeupgradeartifacts.py new file mode 100644 index 0000000..aee4d7c --- /dev/null +++ b/repos/system_upgrade/common/actors/removeupgradeartifacts/tests/test_removeupgradeartifacts.py @@ -0,0 +1,28 @@ +import os + +import pytest + +from leapp.libraries.actor import removeupgradeartifacts + + +@pytest.mark.parametrize(('exists', 'should_remove'), [ + (True, True), + (False, False), +]) +def test_remove_upgrade_artifacts(monkeypatch, exists, should_remove): + + called = [False] + + def mocked_run(cmd, *args, **kwargs): + assert cmd[0] == 'rm' + assert cmd[1] == '-rf' + assert cmd[2] == removeupgradeartifacts.UPGRADE_ARTIFACTS_DIR + called[0] = True + return {'exit_code': 0, 'stdout': '', 'stderr': ''} + + monkeypatch.setattr(os.path, 'exists', lambda _: exists) + monkeypatch.setattr(removeupgradeartifacts, 'run', mocked_run) + + removeupgradeartifacts.process() + + assert called[0] == should_remove diff --git a/repos/system_upgrade/common/actors/removeupgradebootentry/actor.py b/repos/system_upgrade/common/actors/removeupgradebootentry/actor.py new file mode 100644 index 0000000..32759e7 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeupgradebootentry/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor.removeupgradebootentry import remove_boot_entry +from leapp.models import BootContent, FirmwareFacts +from leapp.tags import InitRamStartPhaseTag, IPUWorkflowTag + + +class RemoveUpgradeBootEntry(Actor): + """ + Remove boot entry for Leapp provided initramfs. + + After upgrade process used initramfs after reboot, this entry is not necessary anymore. + """ + + name = 'remove_upgrade_boot_entry' + consumes = (BootContent, FirmwareFacts) + produces = () + tags = (IPUWorkflowTag, InitRamStartPhaseTag) + + def process(self): + remove_boot_entry() diff --git a/repos/system_upgrade/common/actors/removeupgradebootentry/libraries/removeupgradebootentry.py b/repos/system_upgrade/common/actors/removeupgradebootentry/libraries/removeupgradebootentry.py new file mode 100644 index 0000000..ee8e1ec --- /dev/null +++ b/repos/system_upgrade/common/actors/removeupgradebootentry/libraries/removeupgradebootentry.py @@ -0,0 +1,54 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import BootContent, FirmwareFacts + + +def remove_boot_entry(): + # we need to make sure /boot is mounted before trying to remove the boot entry + + facts_msg = api.consume(FirmwareFacts) + facts = next(facts_msg, None) + if not facts: + raise StopActorExecutionError('Could not identify system firmware', + details={'details': 'Actor did not receive FirmwareFacts message.'}) + + mount_points_per_firmware = { + 'bios': ['/boot'], + 'efi': ['/boot', '/boot/efi'] + } + + for mp in mount_points_per_firmware[facts.firmware]: + try: + run(['/bin/mount', mp]) + except CalledProcessError: + # partitions have been most likely already mounted + pass + kernel_filepath = get_upgrade_kernel_filepath() + run([ + '/usr/sbin/grubby', + '--remove-kernel={0}'.format(kernel_filepath) + ]) + if architecture.matches_architecture(architecture.ARCH_S390X): + # on s390x we need to call zipl explicitly because of issue in grubby, + # otherwise the new boot entry will not be set as default + # See https://bugzilla.redhat.com/show_bug.cgi?id=1764306 + run(['/usr/sbin/zipl']) + + # TODO: Move calling `mount -a` to a separate actor as it is not really related to removing the upgrade boot entry. + # It's worth to call it after removing the boot entry to avoid boot loop in case mounting fails. + run([ + '/bin/mount', '-a' + ]) + + +def get_upgrade_kernel_filepath(): + boot_content_msgs = api.consume(BootContent) + boot_content = next(boot_content_msgs, None) + if list(boot_content_msgs): + api.current_logger().warning('Unexpectedly received more than one BootContent message.') + if not boot_content: + raise StopActorExecutionError('Could not remove GRUB boot entry for the upgrade initramfs.', + details={'details': 'Did not receive a message about the leapp-provided' + ' kernel and initramfs.'}) + return boot_content.kernel_path diff --git a/repos/system_upgrade/common/actors/removeupgradebootentry/tests/unit_test_removeupgradebootentry.py b/repos/system_upgrade/common/actors/removeupgradebootentry/tests/unit_test_removeupgradebootentry.py new file mode 100644 index 0000000..54eec55 --- /dev/null +++ b/repos/system_upgrade/common/actors/removeupgradebootentry/tests/unit_test_removeupgradebootentry.py @@ -0,0 +1,68 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import removeupgradebootentry +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api +from leapp.models import BootContent, FirmwareFacts + + +class run_mocked(object): + args = [] + + def __call__(self, args, split=True): + self.args.append(args) + + +@pytest.mark.parametrize('firmware', ['bios', 'efi']) +@pytest.mark.parametrize('arch', [architecture.ARCH_X86_64, architecture.ARCH_S390X]) +def test_remove_boot_entry(firmware, arch, monkeypatch): + def get_upgrade_kernel_filepath_mocked(): + return '/abc' + + def consume_systemfacts_mocked(*models): + yield FirmwareFacts(firmware=firmware) + + monkeypatch.setattr(removeupgradebootentry, 'get_upgrade_kernel_filepath', get_upgrade_kernel_filepath_mocked, ) + monkeypatch.setattr(api, 'consume', consume_systemfacts_mocked) + monkeypatch.setattr(removeupgradebootentry, 'run', run_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch)) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + removeupgradebootentry.remove_boot_entry() + + boot_mounts = [['/bin/mount', '/boot']] + if firmware == 'efi': + boot_mounts.append(['/bin/mount', '/boot/efi']) + + calls = boot_mounts + [['/usr/sbin/grubby', '--remove-kernel=/abc']] + if arch == architecture.ARCH_S390X: + calls.append(['/usr/sbin/zipl']) + calls.append(['/bin/mount', '-a']) + + assert removeupgradebootentry.run.args == calls + + # clear args for next run + del removeupgradebootentry.run.args[:] + + +def test_get_upgrade_kernel_filepath(monkeypatch): + # BootContent message available + def consume_message_mocked(*models): + yield BootContent(kernel_path='/abc', initram_path='/def', kernel_hmac_path='/ghi') + + monkeypatch.setattr(api, 'consume', consume_message_mocked) + + kernel_path = removeupgradebootentry.get_upgrade_kernel_filepath() + + assert kernel_path == '/abc' + + # No BootContent message available + def consume_no_message_mocked(*models): + yield None + + monkeypatch.setattr(api, 'consume', consume_no_message_mocked) + + with pytest.raises(StopActorExecutionError): + removeupgradebootentry.get_upgrade_kernel_filepath() diff --git a/repos/system_upgrade/common/actors/reportsettargetrelease/actor.py b/repos/system_upgrade/common/actors/reportsettargetrelease/actor.py new file mode 100644 index 0000000..4bab9ac --- /dev/null +++ b/repos/system_upgrade/common/actors/reportsettargetrelease/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor import reportsettargetrelease +from leapp.models import Report +from leapp.tags import IPUWorkflowTag, TargetTransactionChecksPhaseTag + + +class ReportSetTargetRelease(Actor): + """ + Reports information related to the release set in the subscription-manager after the upgrade. + + When using Red Hat subscription-manager (RHSM), the release is set by default + to the target version release. In case of skipping the RHSM (--no-rhsm), the + release stays as it was on the source RHEL and user has to handle it manually + after the upgrade. + """ + + name = 'report_set_target_release' + consumes = () + produces = (Report,) + tags = (IPUWorkflowTag, TargetTransactionChecksPhaseTag) + + def process(self): + reportsettargetrelease.process() diff --git a/repos/system_upgrade/common/actors/reportsettargetrelease/libraries/reportsettargetrelease.py b/repos/system_upgrade/common/actors/reportsettargetrelease/libraries/reportsettargetrelease.py new file mode 100644 index 0000000..3dcf5d9 --- /dev/null +++ b/repos/system_upgrade/common/actors/reportsettargetrelease/libraries/reportsettargetrelease.py @@ -0,0 +1,54 @@ +from leapp import reporting +from leapp.libraries.common import rhsm +from leapp.libraries.stdlib import api + + +def _report_set_release(): + target_version = api.current_actor().configuration.version.target + reporting.create_report([ + reporting.Title( + 'The subscription-manager release is going to be set after the upgrade'), + reporting.Summary( + 'After the upgrade has completed the release of the subscription-manager will be set to {release}.' + ' This will ensure that you will receive and keep the version you choose to upgrade to.' + .format(release=target_version) + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Remediation( + hint='If you wish to receive updates for the latest released version of the target system, ' + 'run `subscription-manager release --unset` after the upgrade.' + ), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS]), + reporting.RelatedResource('package', 'subscription-manager') + ]) + + +def _report_unhandled_release(): + # TODO: set the POST group after it's created. + target_version = api.current_actor().configuration.version.target + hint_command = 'subscription-manager release --set {}'.format(target_version) + # FIXME: This should use Dialogs and Answers to offer post-upgrade remediation + # so that users can choose whether to --set or --unset the release number + hint = 'Set the new release (or unset it) after the upgrade using subscription-manager: ' + hint_command + reporting.create_report([ + reporting.Title( + 'The subscription-manager release is going to be kept as it is during the upgrade'), + reporting.Summary( + 'The upgrade is executed with the --no-rhsm option (or with' + ' the LEAPP_NO_RHSM environment variable). In this case, the subscription-manager' + ' will not be configured during the upgrade. If the system is subscribed and release' + ' is set already, you could encounter issues to get RHEL content using DNF/YUM' + ' after the upgrade.' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Remediation(hint=hint), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS]), + reporting.RelatedResource('package', 'subscription-manager') + ]) + + +def process(): + if rhsm.skip_rhsm(): + _report_unhandled_release() + else: + _report_set_release() diff --git a/repos/system_upgrade/common/actors/reportsettargetrelease/tests/test_targetreleasereport_reportsettargetrelease.py b/repos/system_upgrade/common/actors/reportsettargetrelease/tests/test_targetreleasereport_reportsettargetrelease.py new file mode 100644 index 0000000..d866564 --- /dev/null +++ b/repos/system_upgrade/common/actors/reportsettargetrelease/tests/test_targetreleasereport_reportsettargetrelease.py @@ -0,0 +1,28 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import reportsettargetrelease +from leapp.libraries.common import rhsm +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api + + +@pytest.mark.parametrize('version', ['8.{}'.format(i) for i in range(4)]) +def test_report_target_version(monkeypatch, version): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver=version)) + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: False) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + SUMMARY_FMT = 'will be set to {}.' + reportsettargetrelease.process() + assert reporting.create_report.called == 1 + assert SUMMARY_FMT.format(version) in reporting.create_report.report_fields['summary'] + assert 'is going to be set' in reporting.create_report.report_fields['title'] + + +def test_report_unhandled_release(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='8.1')) + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: True) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + reportsettargetrelease.process() + assert reporting.create_report.called == 1 + assert 'is going to be kept' in reporting.create_report.report_fields['title'] diff --git a/repos/system_upgrade/common/actors/repositoriesblacklist/actor.py b/repos/system_upgrade/common/actors/repositoriesblacklist/actor.py new file mode 100644 index 0000000..b8f6135 --- /dev/null +++ b/repos/system_upgrade/common/actors/repositoriesblacklist/actor.py @@ -0,0 +1,31 @@ +from leapp.actors import Actor +from leapp.libraries.actor import repositoriesblacklist +from leapp.models import CustomTargetRepository, RepositoriesBlacklisted, RepositoriesFacts, RepositoriesMapping +from leapp.reporting import Report +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RepositoriesBlacklist(Actor): + """ + Exclude target repositories provided by Red Hat without support. + + Conditions to exclude: + - there are not such repositories already enabled on the source system + (e.g. "Optional" repositories) + - such repositories are not required for the upgrade explicitly by the user + (e.g. via the --enablerepo option or via the /etc/leapp/files/leapp_upgrade_repositories.repo file) + + E.g. CRB repository is provided by Red Hat but it is without the support. + """ + + name = "repositories_blacklist" + consumes = ( + CustomTargetRepository, + RepositoriesFacts, + RepositoriesMapping, + ) + produces = (RepositoriesBlacklisted, Report) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + repositoriesblacklist.process() diff --git a/repos/system_upgrade/common/actors/repositoriesblacklist/libraries/repositoriesblacklist.py b/repos/system_upgrade/common/actors/repositoriesblacklist/libraries/repositoriesblacklist.py new file mode 100644 index 0000000..b527561 --- /dev/null +++ b/repos/system_upgrade/common/actors/repositoriesblacklist/libraries/repositoriesblacklist.py @@ -0,0 +1,169 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config.version import get_source_major_version, get_target_major_version +from leapp.libraries.stdlib import api +from leapp.models import CustomTargetRepository, RepositoriesBlacklisted, RepositoriesFacts, RepositoriesMapping + +# {OS_MAJOR_VERSION: PESID} +UNSUPPORTED_PESIDS = { + "7": "rhel7-optional", + "8": "rhel8-CRB", + "9": "rhel9-CRB" +} + + +def _report_using_unsupported_repos(repos): + report = [ + reporting.Title("Using repository not supported by Red Hat"), + reporting.Summary( + "The following repositories have been used for the " + "upgrade, but they are not supported by the Red Hat.:\n" + "- {}".format("\n - ".join(repos)) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.REPOSITORY]), + ] + reporting.create_report(report) + + +def _report_excluded_repos(repos): + optional_repository_name = 'optional' if get_source_major_version() == '7' else 'CRB' + api.current_logger().info( + "The {0} repository is not enabled. Excluding {1} from the upgrade".format(optional_repository_name, repos) + ) + + report = [ + reporting.Title("Excluded target system repositories"), + reporting.Summary( + "The following repositories are not supported by " + "Red Hat and are excluded from the list of repositories " + "used during the upgrade.\n- {}".format("\n- ".join(repos)) + ), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Groups([reporting.Groups.FAILURE]), + reporting.Remediation( + hint=( + "If some of excluded repositories are still required to be used" + " during the upgrade, execute leapp with the --enablerepo option" + " with the repoid of the repository required to be enabled" + " as an argument (the option can be used multiple times)." + ) + ), + ] + reporting.create_report(report) + + +def _get_manually_enabled_repos(): + """ + Get a set of repositories (repoids) that are manually enabled. + + manually enabled means ( + specified by --enablerepo option of the leapp command or + inside the /etc/leapp/files/leapp_upgrade_repositories.repo), + ) + :rtype: set [repoid] + """ + try: + return {repo.repoid for repo in api.consume(CustomTargetRepository)} + except StopIteration: + return set() + + +def _get_pesid_repos(repo_mapping, pesid, major_version): + """ + Returns a list of pesid repos with the specified pesid and major version. + + :param str pesid: The PES ID representing the family of repositories. + :param str major_version: The major version of the RHEL OS. + :returns: A set of repoids with the specified pesid and major version. + :rtype: List[PESIDRepositoryEntry] + """ + pesid_repos = [] + for pesid_repo in repo_mapping.repositories: + if pesid_repo.pesid == pesid and pesid_repo.major_version == major_version: + pesid_repos.append(pesid_repo) + return pesid_repos + + +def _get_repoids_to_exclude(repo_mapping): + """ + Returns a set of repoids that should be blacklisted on the target system. + + :param RepositoriesMapping repo_mapping: Repository mapping data. + :returns: A set of repoids to blacklist on the target system. + :rtype: Set[str] + """ + pesid_repos_to_exclude = _get_pesid_repos(repo_mapping, + UNSUPPORTED_PESIDS[get_target_major_version()], + get_target_major_version()) + return {pesid_repo.repoid for pesid_repo in pesid_repos_to_exclude} + + +def _are_optional_repos_disabled(repo_mapping, repos_on_system): + """ + Checks whether all optional repositories are disabled. + + :param RepositoriesMapping repo_mapping: Repository mapping data. + :param RepositoriesFacts repos_on_system: Installed repositories on the source system. + :returns: True if there are any optional repositories enabled on the source system. + """ + + # Get a set of all repo_ids that are optional + optional_pesid_repos = _get_pesid_repos(repo_mapping, + UNSUPPORTED_PESIDS[get_source_major_version()], + get_source_major_version()) + + optional_repoids = [optional_pesid_repo.repoid for optional_pesid_repo in optional_pesid_repos] + + # Gather all optional repositories on the source system that are not enabled + for repofile in repos_on_system.repositories: + for repository in repofile.data: + if repository.repoid in optional_repoids and repository.enabled: + return False + return True + + +def process(): + """ + Exclude target repositories provided by Red Hat without support. + + Conditions to exclude: + - there are not such repositories already enabled on the source system + (e.g. "Optional" repositories) + - such repositories are not required for the upgrade explicitly by the user + (e.g. via the --enablerepo option or via the /etc/leapp/files/leapp_upgrade_repositories.repo file) + + E.g. CRB repository is provided by Red Hat but it is without the support. + """ + + repo_mapping = next(api.consume(RepositoriesMapping), None) + repos_facts = next(api.consume(RepositoriesFacts), None) + + # Handle required messages not received + missing_messages = [] + if not repo_mapping: + missing_messages.append('RepositoriesMapping') + if not repos_facts: + missing_messages.append('RepositoriesFacts') + if missing_messages: + raise StopActorExecutionError('Actor didn\'t receive required messages: {0}'.format( + ', '.join(missing_messages) + )) + + if not _are_optional_repos_disabled(repo_mapping, repos_facts): + # nothing to do - an optional repository is enabled + return + + # Optional repos are either not present or they are present, but disabled -> blacklist them on target system + repos_to_exclude = _get_repoids_to_exclude(repo_mapping) + + # Do not exclude repos manually enabled from the CLI + manually_enabled_repos = _get_manually_enabled_repos() & repos_to_exclude + filtered_repos_to_exclude = repos_to_exclude - manually_enabled_repos + + if manually_enabled_repos: + _report_using_unsupported_repos(manually_enabled_repos) + if filtered_repos_to_exclude: + _report_excluded_repos(filtered_repos_to_exclude) + api.produce(RepositoriesBlacklisted(repoids=list(filtered_repos_to_exclude))) diff --git a/repos/system_upgrade/common/actors/repositoriesblacklist/tests/test_repositoriesblacklist.py b/repos/system_upgrade/common/actors/repositoriesblacklist/tests/test_repositoriesblacklist.py new file mode 100644 index 0000000..28da781 --- /dev/null +++ b/repos/system_upgrade/common/actors/repositoriesblacklist/tests/test_repositoriesblacklist.py @@ -0,0 +1,215 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import repositoriesblacklist +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import ( + CustomTargetRepository, + EnvVar, + PESIDRepositoryEntry, + RepoMapEntry, + RepositoriesBlacklisted, + RepositoriesFacts, + RepositoriesMapping, + RepositoryData, + RepositoryFile +) + + +@pytest.fixture +def repofacts_opts_disabled(): + repos_data = [ + RepositoryData( + repoid="rhel-7-server-optional-rpms", + name="RHEL 7 Server", + enabled=False, + ) + ] + repos_files = [ + RepositoryFile(file="/etc/yum.repos.d/redhat.repo", data=repos_data) + ] + return RepositoriesFacts(repositories=repos_files) + + +@pytest.fixture +def rhel7_optional_pesidrepo(): + return PESIDRepositoryEntry( + pesid='rhel7-optional', + major_version='7', + repoid='rhel-7-server-optional-rpms', + rhui='', + arch='x86_64', + channel='ga', + repo_type='rpm', + ) + + +@pytest.fixture +def rhel8_crb_pesidrepo(): + return PESIDRepositoryEntry( + pesid='rhel8-CRB', + major_version='8', + repoid='codeready-builder-for-rhel-8-x86_64-rpms', + rhui='', + arch='x86_64', + channel='ga', + repo_type='rpm') + + +@pytest.fixture +def repomap_opts_only(rhel7_optional_pesidrepo, rhel8_crb_pesidrepo): + return RepositoriesMapping( + mapping=[RepoMapEntry(source='rhel7-optional', target=['rhel8-CRB'])], + repositories=[rhel7_optional_pesidrepo, rhel8_crb_pesidrepo] + ) + + +def test_all_target_optionals_blacklisted_when_no_optional_on_source(monkeypatch, repomap_opts_only): + """ + Tests whether every target optional repository gets blacklisted + if no optional repositories are used on the source system. + """ + + repos_data = [ + RepositoryData( + repoid="rhel-7-server-rpms", + name="RHEL 7 Server", + enabled=True, + ) + ] + repos_files = [ + RepositoryFile(file="/etc/yum.repos.d/redhat.repo", data=repos_data) + ] + repo_facts = RepositoriesFacts(repositories=repos_files) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[repo_facts, repomap_opts_only])) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(reporting, 'create_report', produce_mocked()) + + repositoriesblacklist.process() + + assert api.produce.called + assert 'codeready-builder-for-rhel-8-x86_64-rpms' in api.produce.model_instances[0].repoids + + +def test_with_no_mapping_for_optional_repos(monkeypatch, repomap_opts_only, repofacts_opts_disabled): + """ + Tests whether nothing gets produced if no valid target is found for an optional repository in mapping data. + """ + + repomap_opts_only.repositories[1].pesid = 'test_pesid' + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[repofacts_opts_disabled, repomap_opts_only])) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + repositoriesblacklist.process() + + assert not api.produce.called + + +def test_blacklist_produced_when_optional_repo_disabled(monkeypatch, repofacts_opts_disabled, repomap_opts_only): + """ + Tests whether a correct blacklist is generated when there is disabled optional repo on the system. + """ + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[repofacts_opts_disabled, repomap_opts_only])) + monkeypatch.setattr(api, "produce", produce_mocked()) + monkeypatch.setattr(reporting, "create_report", produce_mocked()) + + repositoriesblacklist.process() + + assert api.produce.model_instances, 'A blacklist should get generated.' + + expected_blacklisted_repoid = 'codeready-builder-for-rhel-8-x86_64-rpms' + err_msg = 'Blacklist does not contain expected repoid.' + assert expected_blacklisted_repoid in api.produce.model_instances[0].repoids, err_msg + + +def test_no_blacklist_produced_when_optional_repo_enabled(monkeypatch, repofacts_opts_disabled, repomap_opts_only): + """ + Tests whether nothing is produced when an optional repository is enabled. + + Data are set up in such a fashion so that the determined blacklist would not be empty. + """ + + repofacts_opts_disabled.repositories[0].data[0].enabled = True + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[repofacts_opts_disabled, repomap_opts_only])) + monkeypatch.setattr(api, "produce", produce_mocked()) + monkeypatch.setattr(reporting, "create_report", produce_mocked()) + + repositoriesblacklist.process() + + assert not api.produce.called + + +def test_repositoriesblacklist_not_empty(monkeypatch, repofacts_opts_disabled, repomap_opts_only): + """ + Tests whether a message containing correct packages from the determined blacklist is produced. + """ + + blacklisted_repoid = 'test' + monkeypatch.setattr(repositoriesblacklist, "_get_repoids_to_exclude", lambda dummy_mapping: {blacklisted_repoid}) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[repofacts_opts_disabled, repomap_opts_only])) + monkeypatch.setattr(api, "produce", produce_mocked()) + monkeypatch.setattr(reporting, "create_report", produce_mocked()) + + repositoriesblacklist.process() + assert api.produce.called == 1 + assert isinstance(api.produce.model_instances[0], RepositoriesBlacklisted) + assert api.produce.model_instances[0].repoids[0] == blacklisted_repoid + assert reporting.create_report.called == 1 + + +def test_repositoriesblacklist_empty(monkeypatch, repofacts_opts_disabled, repomap_opts_only): + """ + Tests whether nothing is produced if there are some disabled optional repos, but an empty blacklist is determined + from the repo mapping data. + """ + + msgs_to_feed = [repofacts_opts_disabled, repomap_opts_only] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs_to_feed)) + monkeypatch.setattr( + repositoriesblacklist, + "_get_repoids_to_exclude", + lambda dummy_mapping: set() + ) # pylint:disable=W0108 + monkeypatch.setattr(api, "produce", produce_mocked()) + + repositoriesblacklist.process() + assert api.produce.called == 0 + + +@pytest.mark.parametrize( + ("enabled_repo", "exp_report_title", "message_produced"), + [ + ("codeready-builder-for-rhel-8-x86_64-rpms", "Using repository not supported by Red Hat", False), + ("some_other_enabled_repo", "Excluded target system repositories", True), + (None, "Excluded target system repositories", True), + ], +) +def test_enablerepo_option(monkeypatch, + repofacts_opts_disabled, + repomap_opts_only, + enabled_repo, + exp_report_title, + message_produced): + """ + Tests whether the actor respects CustomTargetRepository messages when constructing the blacklist. + """ + + msgs_to_feed = [repomap_opts_only, repofacts_opts_disabled] + + if enabled_repo: + msgs_to_feed.append(CustomTargetRepository(repoid=enabled_repo)) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs_to_feed)) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + repositoriesblacklist.process() + assert reporting.create_report.report_fields["title"] == exp_report_title + if message_produced: + assert isinstance(api.produce.model_instances[0], RepositoriesBlacklisted) + else: + assert not api.produce.model_instances diff --git a/repos/system_upgrade/common/actors/repositoriesmapping/actor.py b/repos/system_upgrade/common/actors/repositoriesmapping/actor.py new file mode 100644 index 0000000..3ed4ff7 --- /dev/null +++ b/repos/system_upgrade/common/actors/repositoriesmapping/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.repositoriesmapping import scan_repositories +from leapp.models import ConsumedDataAsset, RepositoriesMapping +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RepositoriesMappingScanner(Actor): + """ + Produces message containing repository mapping based on provided file. + + The actor filters out data irrelevant to the current IPU (data with different + source/target major versions) from the raw repository mapping data. + """ + + name = 'repository_mapping' + consumes = () + produces = (ConsumedDataAsset, RepositoriesMapping,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scan_repositories() diff --git a/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py b/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py new file mode 100644 index 0000000..416034a --- /dev/null +++ b/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py @@ -0,0 +1,198 @@ +import os +from collections import defaultdict + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config.version import get_source_major_version, get_target_major_version +from leapp.libraries.common.fetch import load_data_asset +from leapp.libraries.stdlib import api +from leapp.models import PESIDRepositoryEntry, RepoMapEntry, RepositoriesMapping +from leapp.models.fields import ModelViolationError + +OLD_REPOMAP_FILE = 'repomap.csv' +"""The name of the old, deprecated repository mapping file (no longer used).""" + +REPOMAP_FILE = 'repomap.json' +"""The name of the new repository mapping file.""" + + +class RepoMapData(object): + VERSION_FORMAT = '1.2.0' + + def __init__(self): + self.repositories = [] + self.mapping = {} + + def add_repository(self, data, pesid): + """ + Add new PESIDRepositoryEntry with given pesid from the provided dictionary. + + :param data: A dict containing the data of the added repository. The dictionary structure corresponds + to the repositories entries in the repository mapping JSON schema. + :type data: Dict[str, str] + :param pesid: PES id of the repository family that the newly added repository belongs to. + :type pesid: str + """ + self.repositories.append(PESIDRepositoryEntry( + repoid=data['repoid'], + channel=data['channel'], + rhui=data.get('rhui', ''), + repo_type=data['repo_type'], + arch=data['arch'], + major_version=data['major_version'], + pesid=pesid + )) + + def get_repositories(self, valid_major_versions): + """ + Return the list of PESIDRepositoryEntry object matching the specified major versions. + """ + return [repo for repo in self.repositories if repo.major_version in valid_major_versions] + + def add_mapping(self, source_major_version, target_major_version, source_pesid, target_pesid): + """ + Add a new mapping entry that is mapping the source pesid to the destination pesid(s), + relevant in an IPU from the supplied source major version to the supplied target + major version. + + :param str source_major_version: Specifies the major version of the source system + for which the added mapping applies. + :param str target_major_version: Specifies the major version of the target system + for which the added mapping applies. + :param str source_pesid: PESID of the source repository. + :param Union[str|List[str]] target_pesid: A single target PESID or a list of target + PESIDs of the added mapping. + """ + # NOTE: it could be more simple, but I prefer to be sure the input data + # contains just one map per source PESID. + key = '{}:{}'.format(source_major_version, target_major_version) + rmap = self.mapping.get(key, defaultdict(set)) + self.mapping[key] = rmap + if isinstance(target_pesid, list): + rmap[source_pesid].update(target_pesid) + else: + rmap[source_pesid].add(target_pesid) + + def get_mappings(self, src_major_version, dst_major_version): + """ + Return the list of RepoMapEntry objects for the specified upgrade path. + + IOW, the whole mapping for specified IPU. + """ + key = '{}:{}'.format(src_major_version, dst_major_version) + rmap = self.mapping.get(key, None) + if not rmap: + return None + map_list = [] + for src_pesid in sorted(rmap.keys()): + map_list.append(RepoMapEntry(source=src_pesid, target=sorted(rmap[src_pesid]))) + return map_list + + @staticmethod + def load_from_dict(data): + if data['version_format'] != RepoMapData.VERSION_FORMAT: + raise ValueError( + 'The obtained repomap data has unsupported version of format.' + ' Get {} required {}' + .format(data['version_format'], RepoMapData.VERSION_FORMAT) + ) + + repomap = RepoMapData() + + # Load reposiories + existing_pesids = set() + for repo_family in data['repositories']: + existing_pesids.add(repo_family['pesid']) + for repo in repo_family['entries']: + repomap.add_repository(repo, repo_family['pesid']) + + # Load mappings + for mapping in data['mapping']: + for entry in mapping['entries']: + if not isinstance(entry['target'], list): + raise ValueError( + 'The target field of a mapping entry is not a list: {}' + .format(entry) + ) + + for pesid in [entry['source']] + entry['target']: + if pesid not in existing_pesids: + raise ValueError( + 'The {} pesid is not related to any repository.' + .format(pesid) + ) + repomap.add_mapping( + source_major_version=mapping['source_major_version'], + target_major_version=mapping['target_major_version'], + source_pesid=entry['source'], + target_pesid=entry['target'], + ) + return repomap + + +def _inhibit_upgrade(msg): + rpmname = 'leapp-upgrade-el{}toel{}'.format(get_source_major_version(), get_target_major_version()) + hint = ( + 'All official data files are nowadays part of the installed rpms.' + ' This issue is usually encountered when the data files are incorrectly customized, replaced, or removed' + ' (e.g. by custom scripts).' + ' In case you want to recover the original file, remove it (if still exists)' + ' and reinstall the {} rpm.' + .format(rpmname) + ) + raise StopActorExecutionError(msg, details={'hint': hint}) + + +def _read_repofile(repofile): + # NOTE: what about catch StopActorExecution error when the file cannot be + # obtained -> then check whether old_repomap file exists and in such a case + # inform user they have to provde the new repomap.json file (we have the + # warning now only which could be potentially overlooked) + repofile_data = load_data_asset(api.current_actor(), + repofile, + asset_fulltext_name='Repositories mapping', + docs_url='', + docs_title='') + return repofile_data # If the file does not contain a valid json then load_asset will do a stop actor execution + + +def scan_repositories(read_repofile_func=_read_repofile): + """ + Scan the repository mapping file and produce RepositoriesMap msg. + + See the description of the actor for more details. + """ + # TODO: add filter based on the current arch + # TODO: deprecate the product type and introduce the "channels" ?.. more or less + # NOTE: product type is changed, now it's channel: eus,e4s,aus,tus,ga,beta + + if os.path.exists(os.path.join('/etc/leapp/files', OLD_REPOMAP_FILE)): + # NOTE: what about creating the report (instead of warning) + api.current_logger().warning( + 'The old repomap file /etc/leapp/files/repomap.csv is present.' + ' The file has been replaced by the repomap.json file and it is' + ' not used anymore.' + ) + + json_data = read_repofile_func(REPOMAP_FILE) + try: + repomap_data = RepoMapData.load_from_dict(json_data) + mapping = repomap_data.get_mappings(get_source_major_version(), get_target_major_version()) + + valid_major_versions = [get_source_major_version(), get_target_major_version()] + api.produce(RepositoriesMapping( + mapping=mapping, + repositories=repomap_data.get_repositories(valid_major_versions) + )) + except ModelViolationError as err: + err_message = ( + 'The repository mapping file is invalid: ' + 'the JSON does not match required schema (wrong field type/value): {}' + .format(err) + ) + _inhibit_upgrade(err_message) + except KeyError as err: + _inhibit_upgrade( + 'The repository mapping file is invalid: the JSON is missing a required field: {}'.format(err)) + except ValueError as err: + # The error should contain enough information, so we do not need to clarify it further + _inhibit_upgrade('The repository mapping file is invalid: {}'.format(err)) diff --git a/repos/system_upgrade/common/actors/repositoriesmapping/tests/files/repomap_example.json b/repos/system_upgrade/common/actors/repositoriesmapping/tests/files/repomap_example.json new file mode 100644 index 0000000..5e95f5f --- /dev/null +++ b/repos/system_upgrade/common/actors/repositoriesmapping/tests/files/repomap_example.json @@ -0,0 +1,94 @@ +{ + "datetime": "202107141655Z", + "version_format": "1.2.0", + "mapping": [ + { + "source_major_version": "7", + "target_major_version": "8", + "entries": [ + { + "source": "pesid1", + "target": [ + "pesid2", + "pesid3" + ] + } + ] + }, + { + "source_major_version": "8", + "target_major_version": "9", + "entries": [ + { + "source": "pesid3", + "target": [ + "pesid4", + "pesid5" + ] + } + ] + } + ], + "repositories": [ + { + "pesid": "pesid1", + "entries": [ + { + "major_version": "7", + "repoid": "some-rhel-7-repoid", + "arch": "x86_64", + "repo_type": "rpm", + "channel": "eus" + } + ] + }, + { + "pesid": "pesid2", + "entries": [ + { + "major_version": "8", + "repoid": "some-rhel-8-repoid1", + "arch": "x86_64", + "repo_type": "rpm", + "channel": "eus" + } + ] + }, + { + "pesid": "pesid3", + "entries": [ + { + "major_version": "8", + "repoid": "some-rhel-8-repoid2", + "arch": "x86_64", + "repo_type": "rpm", + "channel": "eus" + } + ] + }, + { + "pesid": "pesid4", + "entries": [ + { + "major_version": "9", + "repoid": "some-rhel-9-repo1", + "arch": "x86_64", + "repo_type": "rpm", + "channel": "eus" + } + ] + }, + { + "pesid": "pesid5", + "entries": [ + { + "major_version": "9", + "repoid": "some-rhel-9-repo2", + "arch": "x86_64", + "repo_type": "rpm", + "channel": "eus" + } + ] + } + ] +} diff --git a/repos/system_upgrade/common/actors/repositoriesmapping/tests/unit_test_repositoriesmapping.py b/repos/system_upgrade/common/actors/repositoriesmapping/tests/unit_test_repositoriesmapping.py new file mode 100644 index 0000000..243b880 --- /dev/null +++ b/repos/system_upgrade/common/actors/repositoriesmapping/tests/unit_test_repositoriesmapping.py @@ -0,0 +1,301 @@ +import json +import os + +import pytest +import requests + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import repositoriesmapping +from leapp.libraries.common import fetch +from leapp.libraries.common.config import architecture, version +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import ConsumedDataAsset, PESIDRepositoryEntry, RPM + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +@pytest.fixture +def adjust_cwd(): + previous_cwd = os.getcwd() + os.chdir(os.path.join(CUR_DIR, "./")) + yield + os.chdir(previous_cwd) + + +def test_scan_existing_valid_data(monkeypatch, adjust_cwd): + """ + Tests whether an existing valid repomap file is loaded correctly. + """ + + with open('files/repomap_example.json') as repomap_file: + data = json.load(repomap_file) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.9', dst_ver='8.4')) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + repositoriesmapping.scan_repositories(lambda dummy: data) + + assert api.produce.called, 'Actor did not produce any message when deserializing valid repomap data.' + + fail_description = 'Actor produced multiple messages, but only one was expected.' + assert len(api.produce.model_instances) == 1, fail_description + + repo_mapping = api.produce.model_instances[0] + + # Verify that the loaded JSON data is matching the repomap file content + # 1. Verify src_pesid -> target_pesids mappings are loaded and filtered correctly + fail_description = 'Actor produced more mappings than there are source system relevant mappings in the test file.' + assert len(repo_mapping.mapping) == 1, fail_description + fail_description = 'Actor failed to load IPU-relevant mapping data correctly.' + assert repo_mapping.mapping[0].source == 'pesid1', fail_description + assert set(repo_mapping.mapping[0].target) == {'pesid2', 'pesid3'}, fail_description + + # 2. Verify that only repositories valid for the current IPU are produced + pesid_repos = repo_mapping.repositories + fail_description = 'Actor produced incorrect number of IPU-relevant pesid repos.' + assert len(pesid_repos) == 3, fail_description + + expected_pesid_repos = [ + PESIDRepositoryEntry( + pesid='pesid1', + major_version='7', + repoid='some-rhel-7-repoid', + arch='x86_64', + repo_type='rpm', + channel='eus', + rhui='' + ), + PESIDRepositoryEntry( + pesid='pesid2', + major_version='8', + repoid='some-rhel-8-repoid1', + arch='x86_64', + repo_type='rpm', + channel='eus', + rhui='' + ), + PESIDRepositoryEntry( + pesid='pesid3', + major_version='8', + repoid='some-rhel-8-repoid2', + arch='x86_64', + repo_type='rpm', + channel='eus', + rhui='' + ), + ] + + fail_description = 'Expected pesid repo is not present in the deserialization output.' + for expected_pesid_repo in expected_pesid_repos: + assert expected_pesid_repo in pesid_repos, fail_description + + +def test_scan_repositories_with_missing_data(monkeypatch): + """ + Tests whether the scanning process fails gracefully when no data are read. + """ + mocked_actor = CurrentActorMocked(src_ver='7.9', dst_ver='8.4', msgs=[]) + + # Patch the mocked actor as the library will verify caller/callee contract + mocked_actor.produces = (ConsumedDataAsset, ) + + monkeypatch.setattr(api, 'current_actor', mocked_actor) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + def read_or_fetch_mocked(*args, **kwargs): + return '' + + monkeypatch.setattr(fetch, 'read_or_fetch', read_or_fetch_mocked) + + with pytest.raises(StopActorExecutionError) as missing_data_error: + repositoriesmapping.scan_repositories() + assert 'does not contain a valid JSON object' in str(missing_data_error) + + +def test_scan_repositories_with_empty_data(monkeypatch): + """ + Tests whether the scanning process fails gracefully when empty json data received. + """ + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.9', dst_ver='8.4')) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + with pytest.raises(StopActorExecutionError) as empty_data_error: + repositoriesmapping.scan_repositories(lambda dummy: {}) + assert 'the JSON is missing a required field' in str(empty_data_error) + + +@pytest.mark.parametrize('version_format', ('0.0.0', '1.0.1', '1.1.0', '2.0.0')) +def test_scan_repositories_with_bad_json_data_version(monkeypatch, version_format): + """ + Tests whether the json data is checked for the version field and error is raised if the version + does not match the latest one. + """ + + json_data = { + 'datetime': '202107141655Z', + 'version_format': version_format, + 'mapping': [], + 'repositories': [] + } + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.9', dst_ver='8.4')) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + with pytest.raises(StopActorExecutionError) as bad_version_error: + repositoriesmapping.scan_repositories(lambda dummy: json_data) + + assert 'mapping file is invalid' in str(bad_version_error) + + +def test_scan_repositories_with_mapping_to_pesid_without_repos(monkeypatch): + """ + Tests that the loading of repositories mapping recognizes when there is a mapping with target pesid that does + not have any repositories and inhibits the upgrade. + """ + json_data = { + 'datetime': '202107141655Z', + 'version_format': repositoriesmapping.RepoMapData.VERSION_FORMAT, + 'mapping': [ + { + 'source_major_version': '7', + 'target_major_version': '8', + 'entries': [ + { + 'source': 'source_pesid', + 'target': ['nonexisting_pesid'] + } + ] + } + ], + 'repositories': [ + { + 'pesid': 'source_pesid', + 'entries': [ + { + 'major_version': '7', + 'repoid': 'some-rhel-7-repo', + 'arch': 'x86_64', + 'repo_type': 'rpm', + 'channel': 'eus' + } + ] + } + ] + } + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.9', dst_ver='8.4')) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + with pytest.raises(StopActorExecutionError) as error_info: + repositoriesmapping.scan_repositories(lambda dummy: json_data) + + assert 'pesid is not related to any repository' in error_info.value.message + + +def test_scan_repositories_with_repo_entry_missing_required_fields(monkeypatch): + """ + Tests whether deserialization of pesid repo entries missing some of the required fields + is handled internally and StopActorExecutionError is propagated to the user. + """ + + json_data = { + 'datetime': '202107141655Z', + 'version_format': repositoriesmapping.RepoMapData.VERSION_FORMAT, + 'mapping': [ + { + 'source_major_version': '7', + 'target_major_version': '8', + 'entries': [ + { + 'source': 'source_pesid', + 'target': ['target_pesid'] + } + ] + } + ], + 'repositories': [ + { + 'pesid': 'source_pesid', + 'entries': [ + { + 'major_version': '7', + 'repoid': 'some-rhel-9-repo1', + 'arch': 'x86_64', + } + ] + }, + { + 'pesid': 'target_pesid', + 'entries': [ + { + 'major_version': '7', + 'repoid': 'some-rhel-9-repo1', + 'arch': 'x86_64', + } + ] + } + ] + } + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.9', dst_ver='8.4')) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + with pytest.raises(StopActorExecutionError) as error_info: + repositoriesmapping.scan_repositories(lambda dummy: json_data) + + assert 'the JSON is missing a required field' in error_info.value.message + + +def test_scan_repositories_with_repo_entry_mapping_target_not_a_list(monkeypatch): + """ + Tests whether deserialization of a mapping entry that has its target field set to a string + is handled internally and StopActorExecutionError is propagated to the user. + """ + + json_data = { + 'datetime': '202107141655Z', + 'version_format': repositoriesmapping.RepoMapData.VERSION_FORMAT, + 'mapping': [ + { + 'source_major_version': '7', + 'target_major_version': '8', + 'entries': [ + { + 'source': 'source_pesid', + 'target': 'target_pesid' + } + ] + } + ], + 'repositories': [ + { + 'pesid': 'source_pesid', + 'entries': [ + { + 'major_version': '7', + 'repoid': 'some-rhel-9-repo1', + 'arch': 'x86_64', + } + ] + }, + { + 'pesid': 'target_pesid', + 'entries': [ + { + 'major_version': '7', + 'repoid': 'some-rhel-9-repo1', + 'arch': 'x86_64', + } + ] + } + ] + } + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.9', dst_ver='8.4')) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + with pytest.raises(StopActorExecutionError) as error_info: + repositoriesmapping.scan_repositories(lambda dummy: json_data) + + assert 'repository mapping file is invalid' in error_info.value.message diff --git a/repos/system_upgrade/common/actors/rootscanner/actor.py b/repos/system_upgrade/common/actors/rootscanner/actor.py new file mode 100644 index 0000000..a3fbb55 --- /dev/null +++ b/repos/system_upgrade/common/actors/rootscanner/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor.rootscanner import scan_dir +from leapp.models import RootDirectory +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RootScanner(Actor): + """ + Scan the system root directory and produce a message containing + information about its subdirectories. + """ + + name = 'root_scanner' + consumes = () + produces = (RootDirectory,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + self.produce(scan_dir(b'/')) diff --git a/repos/system_upgrade/common/actors/rootscanner/libraries/rootscanner.py b/repos/system_upgrade/common/actors/rootscanner/libraries/rootscanner.py new file mode 100644 index 0000000..3f29c06 --- /dev/null +++ b/repos/system_upgrade/common/actors/rootscanner/libraries/rootscanner.py @@ -0,0 +1,34 @@ +import os + +import six + +from leapp.models import InvalidRootSubdirectory, RootDirectory, RootSubdirectory + + +def scan_dir(root_dir=b'/'): + """ + Scan root directory and return a RootDirectory(subdirs, invalid_subdirs) model object + """ + subdirs = [] + invalid_subdirs = [] + + def _create_a_subdir(subdir_cls, name, path): + if os.path.islink(path): + return subdir_cls(name=name, target=os.readlink(path)) + return subdir_cls(name=name) + + for subdir in os.listdir(root_dir): + # Note(ivasilev) in py3 env non-utf encoded string will appear as byte strings + # However in py2 env subdir will be always of str type, so verification if this is a valid utf-8 string + # should be done differently than formerly suggested plain six.binary_type check + decoded = True + if isinstance(subdir, six.binary_type): + try: + subdir = subdir.decode('utf-8') + except (AttributeError, UnicodeDecodeError): + decoded = False + if not decoded: + invalid_subdirs.append(_create_a_subdir(InvalidRootSubdirectory, subdir, os.path.join(b'/', subdir))) + else: + subdirs.append(_create_a_subdir(RootSubdirectory, subdir, os.path.join('/', subdir))) + return RootDirectory(items=subdirs, invalid_items=invalid_subdirs) diff --git a/repos/system_upgrade/common/actors/rootscanner/tests/test_rootscanner.py b/repos/system_upgrade/common/actors/rootscanner/tests/test_rootscanner.py new file mode 100644 index 0000000..659a301 --- /dev/null +++ b/repos/system_upgrade/common/actors/rootscanner/tests/test_rootscanner.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +import os +import shutil +import tempfile + +import pytest + +from leapp.libraries.actor.rootscanner import scan_dir + + +@pytest.mark.parametrize("filename,symlink,count_invalid", + [(u'a_utf_file'.encode('utf-8'), u"utf8_symlink".encode('utf-8'), 0), + (u'простофайл'.encode('koi8-r'), u"этонеутф8".encode('koi8-r'), 2), + (u'a_utf_file'.encode('utf-8'), u"этонеутф8".encode('koi8-r'), 1)]) +def test_invalid_symlinks(filename, symlink, count_invalid): + # Let's create a directory with both valid utf-8 and non-utf symlinks + # NOTE(ivasilev) As this has to run for python2 as well can't use the nice tempfile.TemporaryDirectory way + tmpdirname = tempfile.mkdtemp() + # create the file in the temp directory + path_to_file = os.path.join(tmpdirname.encode('utf-8'), filename) + path_to_symlink = os.path.join(tmpdirname.encode('utf-8'), symlink) + with open(path_to_file, 'w') as f: + f.write('Some data here') + # create a symlink + os.symlink(path_to_file, path_to_symlink) + # run scan_dir + model = scan_dir(tmpdirname.encode('utf-8')) + # verify the results + assert len(model.items) == 2 - count_invalid + assert len(model.invalid_items) == count_invalid + # cleanup + shutil.rmtree(tmpdirname) diff --git a/repos/system_upgrade/common/actors/rpmscanner/actor.py b/repos/system_upgrade/common/actors/rpmscanner/actor.py new file mode 100644 index 0000000..5e299c0 --- /dev/null +++ b/repos/system_upgrade/common/actors/rpmscanner/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import rpmscanner +from leapp.models import InstalledRPM +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RpmScanner(Actor): + """ + Provides data about installed RPM Packages. + + After collecting data from RPM query, a message with relevant data will be produced. + """ + + name = 'rpm_scanner' + consumes = () + produces = (InstalledRPM,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + rpmscanner.process() diff --git a/repos/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py b/repos/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py new file mode 100644 index 0000000..dbe5619 --- /dev/null +++ b/repos/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py @@ -0,0 +1,133 @@ +import warnings + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import module as module_lib +from leapp.libraries.common import rpms +from leapp.libraries.stdlib import api +from leapp.models import InstalledRPM, RPM + +no_yum = False +no_yum_warning_msg = "package `yum` is unavailable" +try: + import yum +except ImportError: + no_yum = True + warnings.warn(no_yum_warning_msg, ImportWarning) + +no_dnf = False +no_dnf_warning_msg = "package `dnf` is unavailable" +try: + import dnf +except ImportError: + no_dnf = True + warnings.warn(no_dnf_warning_msg, ImportWarning) + + +def _get_package_repository_data_yum(): + yum_base = yum.YumBase() + pkg_repos = {} + + try: + for pkg in yum_base.doPackageLists().installed: + pkg_repos[pkg.name] = pkg.ui_from_repo.lstrip('@') + except ValueError as e: + if 'locale' not in str(e): # reraise if error is not related to locales + raise e + raise StopActorExecutionError( + message='Failed to get installed RPM packages because of an invalid locale', + details={ + 'hint': 'Please run leapp with a valid locale. ' + + 'You can get a list of installed locales by running `locale -a`.' + }) + + return pkg_repos + + +def _get_package_repository_data_dnf(): + dnf_base = dnf.Base() + pkg_repos = {} + + try: + # NOTE: currently we do not initialize/load DNF plugins here as we are + # working just with the local stuff (load_system_repo=True) + dnf_base.fill_sack(load_system_repo=True, load_available_repos=False) + for pkg in dnf_base.sack.query(): + pkg_repos[pkg.name] = pkg._from_repo.lstrip('@') + except ValueError as e: + if 'locale' not in str(e): # reraise if error is not related to locales + raise e + raise StopActorExecutionError( + message='Failed to get installed RPM packages because of an invalid locale', + details={ + 'hint': 'Please run leapp with a valid locale. ' + + 'You can get a list of installed locales by running `locale -a`.' + }) + + return pkg_repos + + +def get_package_repository_data(): + """ Return dictionary mapping package name with repository from which it was installed. + Note: + There's no yum module for py3. The dnf module can be used only on RHEL 8+, + on RHEL 7 there's a bug in dnf preventing us to do so: + https://bugzilla.redhat.com/show_bug.cgi?id=1789840 + """ + if not no_yum: + return _get_package_repository_data_yum() + if not no_dnf: + return _get_package_repository_data_dnf() + raise StopActorExecutionError(message=no_yum_warning_msg) + + +def map_modular_rpms_to_modules(): + """ + Map modular packages to the module streams they come from. + """ + modules = module_lib.get_modules() + # empty on RHEL 7 because of no modules + if not modules: + return {} + # create a reverse mapping from the RPMS to module streams + # key: tuple of 4 strings representing a NVRA (name, version, release, arch) of an RPM + # value: tuple of 2 strings representing a module and its stream + rpm_streams = {} + for module in modules: + for rpm in module.getArtifacts(): + # we transform the NEVRA string into a tuple + name, epoch_version, release_arch = rpm.rsplit('-', 2) + epoch, version = epoch_version.split(':', 1) + release, arch = release_arch.rsplit('.', 1) + rpm_key = (name, epoch, version, release, arch) + # stream could be int or float, convert it to str just in case + rpm_streams[rpm_key] = (module.getName(), str(module.getStream())) + return rpm_streams + + +# TODO(drehak) unit tests +def process(): + output = rpms.get_installed_rpms() + pkg_repos = get_package_repository_data() + rpm_streams = map_modular_rpms_to_modules() + + result = InstalledRPM() + for entry in output: + entry = entry.strip() + if not entry: + continue + name, version, release, epoch, packager, arch, pgpsig = entry.split('|') + repository = pkg_repos.get(name, '') + rpm_key = (name, epoch, version, release, arch) + module, stream = rpm_streams.get(rpm_key, (None, None)) + result.items.append(RPM( + name=name, + version=version, + epoch=epoch, + packager=packager, + arch=arch, + release=release, + pgpsig=pgpsig, + repository=repository, + module=module, + stream=stream)) + api.produce(result) diff --git a/repos/system_upgrade/common/actors/rpmscanner/tests/test_rpmscanner.py b/repos/system_upgrade/common/actors/rpmscanner/tests/test_rpmscanner.py new file mode 100644 index 0000000..3a59535 --- /dev/null +++ b/repos/system_upgrade/common/actors/rpmscanner/tests/test_rpmscanner.py @@ -0,0 +1,194 @@ +import sys + +import pytest + +from leapp.libraries.actor import rpmscanner +from leapp.libraries.common import module as module_lib +from leapp.libraries.common import rpms, testutils +from leapp.libraries.stdlib import api +from leapp.models import InstalledRPM, RPM +from leapp.snactor.fixture import current_actor_context + +no_yum = False +try: + import yum +except ImportError: + no_yum = True + +no_dnf = False +try: + import dnf +except ImportError: + no_dnf = True + + +# real module streams taken from Fedora 31 +ARTIFACTS_AFTERBURN = [ + 'afterburn-0:4.2.0-1.module_f31+6825+8330d585.x86_64', + 'afterburn-debuginfo-0:4.2.0-1.module_f31+6825+8330d585.x86_64', + 'rust-afterburn-0:4.2.0-1.module_f31+6825+8330d585.src', + 'rust-afterburn-debugsource-0:4.2.0-1.module_f31+6825+8330d585.x86_64' +] +ARTIFACTS_SUBVERSION_110 = [ + 'mod_dav_svn-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'mod_dav_svn-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'python2-subversion-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'python2-subversion-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-0:1.10.6-1.module_f31+5204+aeb0fc0d.src', + 'subversion-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-debugsource-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-devel-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-devel-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-gnome-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-gnome-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-javahl-0:1.10.6-1.module_f31+5204+aeb0fc0d.noarch', + 'subversion-kde-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-kde-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-libs-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-libs-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-perl-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-perl-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-tools-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64', + 'subversion-tools-debuginfo-0:1.10.6-1.module_f31+5204+aeb0fc0d.x86_64' +] +ARTIFACTS_SUBVERSION_113 = [ + 'mod_dav_svn-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'mod_dav_svn-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'python2-subversion-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'python2-subversion-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-0:1.13.0-1.module_f31+6955+7c448939.src', + 'subversion-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-debugsource-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-devel-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-devel-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-gnome-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-gnome-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-javahl-0:1.13.0-1.module_f31+6955+7c448939.noarch', + 'subversion-kde-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-kde-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-libs-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-libs-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-perl-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-perl-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-tools-0:1.13.0-1.module_f31+6955+7c448939.x86_64', + 'subversion-tools-debuginfo-0:1.13.0-1.module_f31+6955+7c448939.x86_64' +] + + +class ModuleMocked(object): + def __init__(self, name, stream, artifacts): + self.name = name + self.stream = stream + self.artifacts = artifacts + + def getName(self): + return self.name + + def getStream(self): + return self.stream + + def getArtifacts(self): + return self.artifacts + + +MODULES = [ + ModuleMocked('afterburn', 'rolling', ARTIFACTS_AFTERBURN), + ModuleMocked('subversion', '1.10', ARTIFACTS_SUBVERSION_110), + ModuleMocked('subversion', '1.13', ARTIFACTS_SUBVERSION_113) +] + + +@pytest.mark.skipif(no_yum and no_dnf, reason='yum/dnf is unavailable') +def test_actor_execution(monkeypatch, current_actor_context): + monkeypatch.setattr(rpmscanner.module_lib, 'get_modules', lambda: []) + current_actor_context.run() + assert current_actor_context.consume(InstalledRPM) + assert current_actor_context.consume(InstalledRPM)[0].items + + +def test_map_modular_rpms_to_modules_empty(monkeypatch): + monkeypatch.setattr(module_lib, 'get_modules', lambda: []) + mapping = rpmscanner.map_modular_rpms_to_modules() + assert not mapping + + +def test_map_modular_rpms_to_modules(monkeypatch): + monkeypatch.setattr(module_lib, 'get_modules', lambda: MODULES) + mapping = rpmscanner.map_modular_rpms_to_modules() + assert mapping[ + ('afterburn', '0', '4.2.0', '1.module_f31+6825+8330d585', 'x86_64') + ] == ('afterburn', 'rolling') + assert mapping[ + ('subversion', '0', '1.10.6', '1.module_f31+5204+aeb0fc0d', 'x86_64') + ] == ('subversion', '1.10') + assert mapping[ + ('subversion', '0', '1.13.0', '1.module_f31+6955+7c448939', 'x86_64') + ] == ('subversion', '1.13') + assert not mapping.get(('subversion', '0', '1.13.0', '1.module_f31+6955+7c448939', 'noarch')) + assert not mapping.get(('subversion', '0', '1.13.1', '1.module_f31+6955+7c448939', 'x86_64')) + assert not mapping.get(('subversion', '1', '1.13.0', '1.module_f31+6955+7c448939', 'x86_64')) + + +INSTALLED_RPMS = [ + ('afterburn|4.2.0|1.module_f31+6825+8330d585|0|Fedora Project|x86_64|' + 'RSA/SHA256, Wed 16 Oct 2019 12:49:08 AM CEST, Key ID 50cb390b3c3359c4'), + ('subversion|1.10.6|1.module_f31+5204+aeb0fc0d|0|Fedora Project|x86_64|' + 'RSA/SHA256, Thu 25 Jul 2019 01:41:52 PM CEST, Key ID 50cb390b3c3359c4'), + # non-modular, epoch + ('tcpdump|4.9.3|2.fc31|14|Fedora Project|x86_64|' + 'RSA/SHA256, Wed 22 Jul 2020 12:25:15 PM CEST, Key ID 50cb390b3c3359c4'), + # non-modular, no epoch + ('passwd|0.80|7.fc31|0|Fedora Project|x86_64|' + 'RSA/SHA256, Wed 04 Dec 2019 08:48:43 PM CET, Key ID 50cb390b3c3359c4') +] + + +PACKAGE_REPOS = { + 'afterburn': 'repo1', + 'subversion': 'repo2', + 'tcpdump': 'repo2' +} + + +def test_process(monkeypatch): + monkeypatch.setattr(module_lib, 'get_modules', lambda: MODULES) + monkeypatch.setattr(rpmscanner, 'get_package_repository_data', lambda: PACKAGE_REPOS) + monkeypatch.setattr(rpms, 'get_installed_rpms', lambda: INSTALLED_RPMS) + monkeypatch.setattr(api, 'produce', testutils.produce_mocked()) + + rpmscanner.process() + assert api.produce.called + assert len(api.produce.model_instances) == 1 + assert isinstance(api.produce.model_instances[0], InstalledRPM) + items = {i.name: i for i in api.produce.model_instances[0].items} + assert len(items) == 4 + + assert items['afterburn'].epoch == '0' + assert items['afterburn'].version == '4.2.0' + assert items['afterburn'].release == '1.module_f31+6825+8330d585' + assert items['afterburn'].arch == 'x86_64' + assert items['afterburn'].module == 'afterburn' + assert items['afterburn'].stream == 'rolling' + + assert items['subversion'].epoch == '0' + assert items['subversion'].version == '1.10.6' + assert items['subversion'].release == '1.module_f31+5204+aeb0fc0d' + assert items['subversion'].arch == 'x86_64' + assert items['subversion'].module == 'subversion' + assert items['subversion'].stream == '1.10' + + assert items['tcpdump'].epoch == '14' + assert items['tcpdump'].version == '4.9.3' + assert items['tcpdump'].release == '2.fc31' + assert items['tcpdump'].arch == 'x86_64' + assert not items['tcpdump'].module + assert not items['tcpdump'].stream + + assert items['passwd'].epoch == '0' + assert items['passwd'].version == '0.80' + assert items['passwd'].release == '7.fc31' + assert items['passwd'].arch == 'x86_64' + assert not items['passwd'].module + assert not items['passwd'].stream diff --git a/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/actor.py b/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/actor.py new file mode 100644 index 0000000..4ef726f --- /dev/null +++ b/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor.rpmtransactionconfigtaskscollector import load_tasks +from leapp.models import InstalledRedHatSignedRPM, RpmTransactionTasks +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + +CONFIGURATION_BASE_PATH = '/etc/leapp/transaction' + + +class RpmTransactionConfigTasksCollector(Actor): + """ + Provides additional RPM transaction tasks from /etc/leapp/transaction. + + After collecting task data from /etc/leapp/transaction directory, a message with relevant data + will be produced. + """ + + name = 'rpm_transaction_config_tasks_collector' + consumes = (InstalledRedHatSignedRPM,) + produces = (RpmTransactionTasks,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + self.produce(load_tasks(CONFIGURATION_BASE_PATH, self.log)) diff --git a/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/libraries/rpmtransactionconfigtaskscollector.py b/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/libraries/rpmtransactionconfigtaskscollector.py new file mode 100644 index 0000000..fb6ae8f --- /dev/null +++ b/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/libraries/rpmtransactionconfigtaskscollector.py @@ -0,0 +1,38 @@ +import os.path + +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, RpmTransactionTasks + + +def load_tasks_file(path, logger): + # Loads the given file and converts it to a deduplicated list of strings that are stripped + if os.path.isfile(path): + try: + with open(path, 'r') as f: + return list( + {entry.strip() for entry in f.read().split('\n') if entry.strip() and + not entry.strip().startswith('#')} + ) + except IOError as e: + logger.warning('Failed to open %s to load additional transaction data. Error: %s', path, str(e)) + return [] + + +def load_tasks(base_dir, logger): + # Loads configuration files to_install, to_keep, and to_remove from the given base directory + rpms = next(api.consume(InstalledRedHatSignedRPM)) + rpm_names = [rpm.name for rpm in rpms.items] + to_install = load_tasks_file(os.path.join(base_dir, 'to_install'), logger) + # we do not want to put into rpm transaction what is already installed (it will go to "to_upgrade" bucket) + to_install_filtered = [pkg for pkg in to_install if pkg not in rpm_names] + + filtered = set(to_install) - set(to_install_filtered) + if filtered: + api.current_logger().debug( + 'The following packages from "to_install" file will be ignored as they are already installed:' + '\n- ' + '\n- '.join(filtered)) + + return RpmTransactionTasks( + to_install=to_install_filtered, + to_keep=load_tasks_file(os.path.join(base_dir, 'to_keep'), logger), + to_remove=load_tasks_file(os.path.join(base_dir, 'to_remove'), logger)) diff --git a/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/tests/test_load_tasks_rpmtransactionconfigtaskscollector.py b/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/tests/test_load_tasks_rpmtransactionconfigtaskscollector.py new file mode 100644 index 0000000..5c62d28 --- /dev/null +++ b/repos/system_upgrade/common/actors/rpmtransactionconfigtaskscollector/tests/test_load_tasks_rpmtransactionconfigtaskscollector.py @@ -0,0 +1,37 @@ +import logging + +from leapp.libraries.actor.rpmtransactionconfigtaskscollector import load_tasks, load_tasks_file +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, RPM + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def test_load_tasks(tmpdir, monkeypatch): + + def consume_signed_rpms_mocked(*models): + installed = [ + RPM(name='c', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') + ] + yield InstalledRedHatSignedRPM(items=installed) + + monkeypatch.setattr(api, "consume", consume_signed_rpms_mocked) + + tmpdir.join('to_install').write('a\n b\n c \n\n\nc\na\nc\nb') + tmpdir.join('to_keep').write('a\n b\n c \n\n\nc\na\nc\nb') + tmpdir.join('to_remove').write('a\n b\n c \n\n\nc\na\nc\nb') + m = load_tasks(tmpdir.strpath, logging) + # c is not going to be in "to_install" as it is already installed + assert set(m.to_install) == set(['a', 'b']) + assert set(m.to_keep) == set(['a', 'b', 'c']) + assert set(m.to_remove) == set(['a', 'b', 'c']) + + +def test_load_tasks_file(tmpdir): + f = tmpdir.join('to_install') + f.write('a\n b\n c \n\n\nc\na\nc\nb') + assert set(load_tasks_file(f.strpath, logging)) == set(['a', 'b', 'c']) + f = tmpdir.join('to_keep') + f.write(' ') + assert set(load_tasks_file(f.strpath, logging)) == set([]) diff --git a/repos/system_upgrade/common/actors/scanclienablerepo/actor.py b/repos/system_upgrade/common/actors/scanclienablerepo/actor.py new file mode 100644 index 0000000..081f34b --- /dev/null +++ b/repos/system_upgrade/common/actors/scanclienablerepo/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scanclienablerepo +from leapp.models import CustomTargetRepository +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanCLIenablrepo(Actor): + """ + Produce CustomTargetRepository based on the LEAPP_ENABLE_REPOS in config. + """ + + name = 'scanclienablerepo' + consumes = () + produces = (CustomTargetRepository,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + scanclienablerepo.process() diff --git a/repos/system_upgrade/common/actors/scanclienablerepo/libraries/scanclienablerepo.py b/repos/system_upgrade/common/actors/scanclienablerepo/libraries/scanclienablerepo.py new file mode 100644 index 0000000..57ab38b --- /dev/null +++ b/repos/system_upgrade/common/actors/scanclienablerepo/libraries/scanclienablerepo.py @@ -0,0 +1,11 @@ +from leapp.libraries.common import config +from leapp.libraries.stdlib import api +from leapp.models import CustomTargetRepository + + +def process(): + if not config.get_env('LEAPP_ENABLE_REPOS'): + return + api.current_logger().info('The --enablerepo option has been used,') + for repoid in config.get_env('LEAPP_ENABLE_REPOS').split(','): + api.produce(CustomTargetRepository(repoid=repoid)) diff --git a/repos/system_upgrade/common/actors/scanclienablerepo/tests/test_unit_scanclienablerepo.py b/repos/system_upgrade/common/actors/scanclienablerepo/tests/test_unit_scanclienablerepo.py new file mode 100644 index 0000000..1f437c4 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanclienablerepo/tests/test_unit_scanclienablerepo.py @@ -0,0 +1,46 @@ +import pytest + +from leapp.libraries.actor import scanclienablerepo +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import CustomTargetRepository + + +class LoggerMocked(object): + def __init__(self): + self.infomsg = None + self.debugmsg = None + + def info(self, msg): + self.infomsg = msg + + def debug(self, msg): + self.debugmsg = msg + + def __call__(self): + return self + + +def test_no_enabledrepos(monkeypatch): + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', LoggerMocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + scanclienablerepo.process() + assert not api.current_logger.infomsg + assert not api.produce.called + + +@pytest.mark.parametrize('envars,result', [ + ({'LEAPP_ENABLE_REPOS': 'repo1'}, [CustomTargetRepository(repoid='repo1')]), + ({'LEAPP_ENABLE_REPOS': 'repo1,repo2'}, [CustomTargetRepository(repoid='repo1'), + CustomTargetRepository(repoid='repo2')]), +]) +def test_enabledrepos(monkeypatch, envars, result): + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', LoggerMocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars=envars)) + scanclienablerepo.process() + assert api.current_logger.infomsg + assert api.produce.called == len(result) + for i in result: + assert i in api.produce.model_instances diff --git a/repos/system_upgrade/common/actors/scancpu/actor.py b/repos/system_upgrade/common/actors/scancpu/actor.py new file mode 100644 index 0000000..2d7bb57 --- /dev/null +++ b/repos/system_upgrade/common/actors/scancpu/actor.py @@ -0,0 +1,16 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scancpu +from leapp.models import CPUInfo, DetectedDeviceOrDriver, DeviceDriverDeprecationData +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanCPU(Actor): + """Scan CPUs of the machine.""" + + name = 'scancpu' + consumes = (DeviceDriverDeprecationData,) + produces = (CPUInfo, DetectedDeviceOrDriver) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self, *args, **kwargs): + scancpu.process() diff --git a/repos/system_upgrade/common/actors/scancpu/libraries/scancpu.py b/repos/system_upgrade/common/actors/scancpu/libraries/scancpu.py new file mode 100644 index 0000000..e5555f9 --- /dev/null +++ b/repos/system_upgrade/common/actors/scancpu/libraries/scancpu.py @@ -0,0 +1,151 @@ +import re + +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import CPUInfo, DetectedDeviceOrDriver, DeviceDriverDeprecationData + +LSCPU_NAME_VALUE = re.compile(r'(?P[^:]+):\s+(?P.+)\n?') +PPC64LE_MODEL = re.compile(r'\d+\.\d+ \(pvr (?P[0-9a-fA-F]+) 0*[0-9a-fA-F]+\)') + + +def _get_lscpu_output(): + try: + result = run(['lscpu']) + return result.get('stdout', '') + except (OSError, CalledProcessError): + api.current_logger().debug('Executing `lscpu` failed', exc_info=True) + return '' + + +def _get_cpu_flags(lscpu): + flags = lscpu.get('Flags', '') + return flags.split() + + +def _get_cpu_entries_for(arch_prefix): + result = [] + for message in api.consume(DeviceDriverDeprecationData): + result.extend([ + entry for entry in message.entries + if entry.device_type == 'cpu' and entry.device_id.startswith(arch_prefix) + ]) + return result + + +def _is_detected_aarch64(lscpu, entry): + # Currently not applicable - We don't have a way to correctly detect this + # But we should find a way to properly do so in future. + + # Shut up warnings: + entry = lscpu + lscpu = entry + return False + + +def _is_detected_s390x(lscpu, entry): + try: + _, _, machine_type, _ = entry.device_id.split(':', 4) + return machine_type == lscpu.get('Machine type') + except ValueError: + return False + + +def _is_detected_ppc64le(lscpu, entry): + try: + _, _, machine_type, _ = entry.device_id.split(':', 4) + match = PPC64LE_MODEL.match(lscpu.get('Model')) + if not match: + return False + family = match.group('family') + return family and machine_type.lstrip('0').lower() == family.lstrip('0').lower() + except ValueError: + return False + + +def _make_set(value): + """ + Converts range/set specification to a concrete set of numbers + + '[1-3]' => {1, 2, 3} + '{1,2,3}' => {1, 2, 3} + '{[1-3]} => {1, 2, 3} + '{[1-3],[5-7]} => {1, 2, 3, 5, 6, 7} + """ + result = set() + for vrange in value.strip('{} ').split(','): + if '[' not in vrange: + try: + result.add(int(vrange)) + except ValueError: + pass + else: + try: + start, end = vrange.strip('[] ').split('-') + result.update(range(int(start.strip()), int(end.strip()) + 1)) + except ValueError: + pass + return result + + +def _match_model(needle, hay): + try: + ineedle = int(needle) + except ValueError: + return False + if not hay or hay == '*': + # Match all + return True + if '[' not in hay and '{' not in hay: + return hay == needle + return ineedle in _make_set(hay) + + +def _is_detected_x86_64(lscpu, entry): + vendors = {'amd': 'AuthenticAMD', 'intel': 'GenuineIntel'} + try: + _, vendor, family, model = entry.device_id.split(':', 4) + if vendor in vendors and vendors[vendor] == lscpu.get('Vendor ID'): + if family == lscpu.get('CPU family'): + return _match_model(lscpu.get('Model'), model) + return False + except ValueError: + return False + + +def _to_detected_device(entry): + return DetectedDeviceOrDriver(**entry.dump()) + + +def _find_deprecation_data_entries(lscpu): + arch_prefix, is_detected = None, None + if architecture.matches_architecture(architecture.ARCH_X86_64): + arch_prefix, is_detected = architecture.ARCH_X86_64, _is_detected_x86_64 + elif architecture.matches_architecture(architecture.ARCH_PPC64LE): + arch_prefix, is_detected = architecture.ARCH_PPC64LE, _is_detected_ppc64le + elif architecture.matches_architecture(architecture.ARCH_S390X): + arch_prefix, is_detected = architecture.ARCH_S390X, _is_detected_s390x + elif architecture.matches_architecture(architecture.ARCH_ARM64): + arch_prefix, is_detected = architecture.ARCH_ARM64, _is_detected_aarch64 + + if arch_prefix and is_detected: + return [ + _to_detected_device(entry) for entry in _get_cpu_entries_for(arch_prefix) + if is_detected(lscpu, entry) + ] + + api.current_logger().warn('Unsupported platform could not detect relevant CPU information') + return [] + + +def process(): + lscpu = dict(LSCPU_NAME_VALUE.findall(_get_lscpu_output())) + api.produce(*_find_deprecation_data_entries(lscpu)) + # Backwards compatibility + machine_type = lscpu.get('Machine type') + flags = _get_cpu_flags(lscpu) + api.produce( + CPUInfo( + machine_type=int(machine_type) if machine_type else None, + flags=flags + ) + ) diff --git a/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_aarch64 b/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_aarch64 new file mode 100644 index 0000000..5b6c347 --- /dev/null +++ b/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_aarch64 @@ -0,0 +1,26 @@ +Architecture: aarch64 +CPU op-mode(s): 32-bit, 64-bit +Byte Order: Little Endian +CPU(s): 5 +On-line CPU(s) list: 0-4 +Vendor ID: APM +Model name: - +Model: 2 +Thread(s) per core: 1 +Core(s) per cluster: 5 +Socket(s): - +Cluster(s): 1 +Stepping: 0x3 +BogoMIPS: 80.00 +Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid +NUMA node(s): 1 +NUMA node0 CPU(s): 0-4 +Vulnerability Itlb multihit: Not affected +Vulnerability L1tf: Not affected +Vulnerability Mds: Not affected +Vulnerability Meltdown: Mitigation; PTI +Vulnerability Spec store bypass: Vulnerable +Vulnerability Spectre v1: Mitigation; __user pointer sanitization +Vulnerability Spectre v2: Vulnerable +Vulnerability Srbds: Not affected +Vulnerability Tsx async abort: Not affected diff --git a/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_ppc64le b/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_ppc64le new file mode 100644 index 0000000..259dd19 --- /dev/null +++ b/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_ppc64le @@ -0,0 +1,24 @@ +Architecture: ppc64le +Byte Order: Little Endian +CPU(s): 8 +On-line CPU(s) list: 0-7 +Model name: POWER9 (architected), altivec supported +Model: 2.2 (pvr 004e 1202) +Thread(s) per core: 1 +Core(s) per socket: 1 +Socket(s): 8 +Hypervisor vendor: KVM +Virtualization type: para +L1d cache: 256 KiB (8 instances) +L1i cache: 256 KiB (8 instances) +NUMA node(s): 1 +NUMA node0 CPU(s): 0-7 +Vulnerability Itlb multihit: Not affected +Vulnerability L1tf: Mitigation; RFI Flush, L1D private per thread +Vulnerability Mds: Not affected +Vulnerability Meltdown: Mitigation; RFI Flush, L1D private per thread +Vulnerability Spec store bypass: Mitigation; Kernel entry/exit barrier (eieio) +Vulnerability Spectre v1: Mitigation; __user pointer sanitization, ori31 speculation barrier enabled +Vulnerability Spectre v2: Mitigation; Software count cache flush (hardware accelerated), Software link stack flush +Vulnerability Srbds: Not affected +Vulnerability Tsx async abort: Not affected diff --git a/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_s390x b/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_s390x new file mode 100644 index 0000000..3c0a0ac --- /dev/null +++ b/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_s390x @@ -0,0 +1,38 @@ +Architecture: s390x +CPU op-mode(s): 32-bit, 64-bit +Byte Order: Big Endian +CPU(s): 2 +On-line CPU(s) list: 0,1 +Vendor ID: IBM/S390 +Model name: - +Machine type: 2827 +Thread(s) per core: 1 +Core(s) per socket: 1 +Socket(s) per book: 1 +Book(s) per drawer: 1 +Drawer(s): 2 +CPU dynamic MHz: 5200 +CPU static MHz: 5200 +BogoMIPS: 3241.00 +Dispatching mode: horizontal +Flags: esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te vx vxd vxe gs vxe2 vxp sort dflt sie +Hypervisor: z/VM 7.2.0 +Hypervisor vendor: IBM +Virtualization type: full +L1d cache: 256 KiB (2 instances) +L1i cache: 256 KiB (2 instances) +L2d cache: 8 MiB (2 instances) +L2i cache: 8 MiB (2 instances) +L3 cache: 256 MiB +L4 cache: 960 MiB +NUMA node(s): 1 +NUMA node0 CPU(s): 0,1 +Vulnerability Itlb multihit: Not affected +Vulnerability L1tf: Not affected +Vulnerability Mds: Not affected +Vulnerability Meltdown: Not affected +Vulnerability Spec store bypass: Not affected +Vulnerability Spectre v1: Mitigation; __user pointer sanitization +Vulnerability Spectre v2: Mitigation; etokens +Vulnerability Srbds: Not affected +Vulnerability Tsx async abort: Not affected diff --git a/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_x86_64 b/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_x86_64 new file mode 100644 index 0000000..a1dc103 --- /dev/null +++ b/repos/system_upgrade/common/actors/scancpu/tests/files/lscpu_x86_64 @@ -0,0 +1,36 @@ +Architecture: x86_64 +CPU op-mode(s): 32-bit, 64-bit +Address sizes: 46 bits physical, 48 bits virtual +Byte Order: Little Endian +CPU(s): 48 +On-line CPU(s) list: 0-47 +Vendor ID: GenuineIntel +Model name: Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz +CPU family: 6 +Model: 63 +Thread(s) per core: 2 +Core(s) per socket: 12 +Socket(s): 2 +Stepping: 2 +CPU(s) scaling MHz: 44% +CPU max MHz: 3100.0000 +CPU min MHz: 1200.0000 +BogoMIPS: 4599.83 +Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d +Virtualization: VT-x +L1d cache: 768 KiB (24 instances) +L1i cache: 768 KiB (24 instances) +L2 cache: 6 MiB (24 instances) +L3 cache: 60 MiB (2 instances) +NUMA node(s): 2 +NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46 +NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47 +Vulnerability Itlb multihit: KVM: Mitigation: VMX disabled +Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable +Vulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerable +Vulnerability Meltdown: Mitigation; PTI +Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp +Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization +Vulnerability Spectre v2: Mitigation; Full generic retpoline, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling +Vulnerability Srbds: Not affected +Vulnerability Tsx async abort: Not affected diff --git a/repos/system_upgrade/common/actors/scancpu/tests/test_scancpu.py b/repos/system_upgrade/common/actors/scancpu/tests/test_scancpu.py new file mode 100644 index 0000000..894fae0 --- /dev/null +++ b/repos/system_upgrade/common/actors/scancpu/tests/test_scancpu.py @@ -0,0 +1,91 @@ +import os + +import pytest + +from leapp.libraries.actor import scancpu +from leapp.libraries.common import testutils +from leapp.libraries.common.config.architecture import ( + ARCH_ARM64, + ARCH_PPC64LE, + ARCH_S390X, + ARCH_SUPPORTED, + ARCH_X86_64 +) +from leapp.libraries.stdlib import api +from leapp.models import CPUInfo + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + +LSCPU = { + ARCH_ARM64: { + "machine_type": None, + "flags": ['fp', 'asimd', 'evtstrm', 'aes', 'pmull', 'sha1', 'sha2', 'crc32', 'cpuid'], + }, + ARCH_PPC64LE: { + "machine_type": None, + "flags": [] + }, + ARCH_S390X: { + "machine_type": + 2827, + "flags": [ + 'esan3', 'zarch', 'stfle', 'msa', 'ldisp', 'eimm', 'dfp', 'edat', 'etf3eh', 'highgprs', 'te', 'vx', 'vxd', + 'vxe', 'gs', 'vxe2', 'vxp', 'sort', 'dflt', 'sie' + ] + }, + ARCH_X86_64: { + "machine_type": + None, + "flags": [ + 'fpu', 'vme', 'de', 'pse', 'tsc', 'msr', 'pae', 'mce', 'cx8', 'apic', 'sep', 'mtrr', 'pge', 'mca', 'cmov', + 'pat', 'pse36', 'clflush', 'dts', 'acpi', 'mmx', 'fxsr', 'sse', 'sse2', 'ss', 'ht', 'tm', 'pbe', 'syscall', + 'nx', 'pdpe1gb', 'rdtscp', 'lm', 'constant_tsc', 'arch_perfmon', 'pebs', 'bts', 'rep_good', 'nopl', + 'xtopology', 'nonstop_tsc', 'cpuid', 'aperfmperf', 'pni', 'pclmulqdq', 'dtes64', 'monitor', 'ds_cpl', + 'vmx', 'smx', 'est', 'tm2', 'ssse3', 'sdbg', 'fma', 'cx16', 'xtpr', 'pdcm', 'pcid', 'dca', 'sse4_1', + 'sse4_2', 'x2apic', 'movbe', 'popcnt', 'tsc_deadline_timer', 'aes', 'xsave', 'avx', 'f16c', 'rdrand', + 'lahf_lm', 'abm', 'cpuid_fault', 'epb', 'invpcid_single', 'pti', 'ssbd', 'ibrs', 'ibpb', 'stibp', + 'tpr_shadow', 'vnmi', 'flexpriority', 'ept', 'vpid', 'ept_ad', 'fsgsbase', 'tsc_adjust', 'bmi1', 'avx2', + 'smep', 'bmi2', 'erms', 'invpcid', 'cqm', 'xsaveopt', 'cqm_llc', 'cqm_occup_llc', 'dtherm', 'ida', 'arat', + 'pln', 'pts', 'md_clear', 'flush_l1d' + ] + }, +} + + +class mocked_get_cpuinfo(object): + + def __init__(self, filename): + self.filename = filename + + def __call__(self): + """ + Return lines of the self.filename test file located in the files directory. + + Those files contain /proc/cpuinfo content from several machines. + """ + with open(os.path.join(CUR_DIR, 'files', self.filename), 'r') as fp: + return '\n'.join(fp.read().splitlines()) + + +@pytest.mark.parametrize("arch", ARCH_SUPPORTED) +def test_scancpu(monkeypatch, arch): + + mocked_cpuinfo = mocked_get_cpuinfo('lscpu_' + arch) + monkeypatch.setattr(scancpu, '_get_lscpu_output', mocked_cpuinfo) + monkeypatch.setattr(api, 'produce', testutils.produce_mocked()) + current_actor = testutils.CurrentActorMocked(arch=arch) + monkeypatch.setattr(api, 'current_actor', current_actor) + + scancpu.process() + + expected = CPUInfo(machine_type=LSCPU[arch]["machine_type"], flags=LSCPU[arch]["flags"]) + produced = api.produce.model_instances[0] + + assert api.produce.called == 1 + + # Produced what was expected + assert expected.machine_type == produced.machine_type + assert sorted(expected.flags) == sorted(produced.flags) + + # Did not produce anything extra + assert expected == produced diff --git a/repos/system_upgrade/common/actors/scancustomrepofile/actor.py b/repos/system_upgrade/common/actors/scancustomrepofile/actor.py new file mode 100644 index 0000000..d46018f --- /dev/null +++ b/repos/system_upgrade/common/actors/scancustomrepofile/actor.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scancustomrepofile +from leapp.models import CustomTargetRepository, CustomTargetRepositoryFile +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanCustomRepofile(Actor): + """ + Scan the custom /etc/leapp/files/leapp_upgrade_repositories.repo repo file. + + This is the official path where to put the YUM/DNF repository file with + custom repositories for the target system. These repositories will be used + automatically for the in-place upgrade despite the enable/disable settings. + + Additionally the CustomTargetRepositoryFile message is produced if the file + exists to let the other actors know they should handle the file as well. + + If the file doesn't exist, nothing happens. + """ + + name = 'scan_custom_repofile' + consumes = () + produces = (CustomTargetRepository, CustomTargetRepositoryFile) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + scancustomrepofile.process() diff --git a/repos/system_upgrade/common/actors/scancustomrepofile/libraries/scancustomrepofile.py b/repos/system_upgrade/common/actors/scancustomrepofile/libraries/scancustomrepofile.py new file mode 100644 index 0000000..1b48689 --- /dev/null +++ b/repos/system_upgrade/common/actors/scancustomrepofile/libraries/scancustomrepofile.py @@ -0,0 +1,34 @@ +import os + +from leapp.libraries.common import repofileutils +from leapp.libraries.stdlib import api +from leapp.models import CustomTargetRepository, CustomTargetRepositoryFile + +CUSTOM_REPO_PATH = "/etc/leapp/files/leapp_upgrade_repositories.repo" + + +def process(): + """ + Produce CustomTargetRepository msgs for the custom repo file if the file + exists. + + The CustomTargetRepository msg is produced for every repository inside + the file. + """ + if not os.path.isfile(CUSTOM_REPO_PATH): + api.current_logger().debug( + "The {} file doesn't exist. Nothing to do." + .format(CUSTOM_REPO_PATH)) + return + api.current_logger().info("The {} file exists.".format(CUSTOM_REPO_PATH)) + repofile = repofileutils.parse_repofile(CUSTOM_REPO_PATH) + if not repofile.data: + return + api.produce(CustomTargetRepositoryFile(file=CUSTOM_REPO_PATH)) + for repo in repofile.data: + api.produce(CustomTargetRepository( + repoid=repo.repoid, + name=repo.name, + baseurl=repo.baseurl, + enabled=repo.enabled, + )) diff --git a/repos/system_upgrade/common/actors/scancustomrepofile/tests/test_scancustomrepofile.py b/repos/system_upgrade/common/actors/scancustomrepofile/tests/test_scancustomrepofile.py new file mode 100644 index 0000000..27dec8c --- /dev/null +++ b/repos/system_upgrade/common/actors/scancustomrepofile/tests/test_scancustomrepofile.py @@ -0,0 +1,77 @@ +import os + +from leapp.libraries.actor import scancustomrepofile +from leapp.libraries.common import repofileutils +from leapp.libraries.common.testutils import produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import CustomTargetRepository, CustomTargetRepositoryFile, RepositoryData, RepositoryFile + +_REPODATA = [ + RepositoryData(repoid="repo1", name="repo1name", baseurl="repo1url", enabled=True), + RepositoryData(repoid="repo2", name="repo2name", baseurl="repo2url", enabled=False), + RepositoryData(repoid="repo3", name="repo3name", enabled=True), + RepositoryData(repoid="repo4", name="repo4name", mirrorlist="mirror4list", enabled=True), +] + +_CUSTOM_REPOS = [ + CustomTargetRepository(repoid="repo1", name="repo1name", baseurl="repo1url", enabled=True), + CustomTargetRepository(repoid="repo2", name="repo2name", baseurl="repo2url", enabled=False), + CustomTargetRepository(repoid="repo3", name="repo3name", baseurl=None, enabled=True), + CustomTargetRepository(repoid="repo4", name="repo4name", baseurl=None, enabled=True), +] + +_CUSTOM_REPO_FILE_MSG = CustomTargetRepositoryFile(file=scancustomrepofile.CUSTOM_REPO_PATH) + + +class LoggerMocked(object): + def __init__(self): + self.infomsg = None + self.debugmsg = None + + def info(self, msg): + self.infomsg = msg + + def debug(self, msg): + self.debugmsg = msg + + def __call__(self): + return self + + +def test_no_repofile(monkeypatch): + monkeypatch.setattr(os.path, 'isfile', lambda dummy: False) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(api, 'current_logger', LoggerMocked()) + scancustomrepofile.process() + msg = "The {} file doesn't exist. Nothing to do.".format(scancustomrepofile.CUSTOM_REPO_PATH) + assert api.current_logger.debugmsg == msg + assert not api.produce.called + + +def test_valid_repofile_exists(monkeypatch): + def _mocked_parse_repofile(fpath): + return RepositoryFile(file=fpath, data=_REPODATA) + monkeypatch.setattr(os.path, 'isfile', lambda dummy: True) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(repofileutils, 'parse_repofile', _mocked_parse_repofile) + monkeypatch.setattr(api, 'current_logger', LoggerMocked()) + scancustomrepofile.process() + msg = "The {} file exists.".format(scancustomrepofile.CUSTOM_REPO_PATH) + assert api.current_logger.infomsg == msg + assert api.produce.called == len(_CUSTOM_REPOS) + 1 + assert _CUSTOM_REPO_FILE_MSG in api.produce.model_instances + for crepo in _CUSTOM_REPOS: + assert crepo in api.produce.model_instances + + +def test_empty_repofile_exists(monkeypatch): + def _mocked_parse_repofile(fpath): + return RepositoryFile(file=fpath, data=[]) + monkeypatch.setattr(os.path, 'isfile', lambda dummy: True) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(repofileutils, 'parse_repofile', _mocked_parse_repofile) + monkeypatch.setattr(api, 'current_logger', LoggerMocked()) + scancustomrepofile.process() + msg = "The {} file exists.".format(scancustomrepofile.CUSTOM_REPO_PATH) + assert api.current_logger.infomsg == msg + assert not api.produce.called diff --git a/repos/system_upgrade/common/actors/scandasd/actor.py b/repos/system_upgrade/common/actors/scandasd/actor.py new file mode 100644 index 0000000..2ce81fe --- /dev/null +++ b/repos/system_upgrade/common/actors/scandasd/actor.py @@ -0,0 +1,24 @@ + +from leapp.actors import Actor +from leapp.libraries.actor import scandasd +from leapp.models import TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanDASD(Actor): + """ + In case of s390x architecture, check whether DASD is used. + + The current check is based just on existence of the /etc/dasd.conf file. + If it exists, produce UpgradeInitramfsTasks msg to ensure the file + is available inside the target userspace to be able to generate the + upgrade init ramdisk correctly. + """ + + name = 'scandasd' + consumes = () + produces = (TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scandasd.process() diff --git a/repos/system_upgrade/common/actors/scandasd/libraries/scandasd.py b/repos/system_upgrade/common/actors/scandasd/libraries/scandasd.py new file mode 100644 index 0000000..ff3104d --- /dev/null +++ b/repos/system_upgrade/common/actors/scandasd/libraries/scandasd.py @@ -0,0 +1,25 @@ +import os + +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api +from leapp.models import CopyFile, TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks + +DASD_CONF = '/etc/dasd.conf' + + +def process(): + if not architecture.matches_architecture(architecture.ARCH_S390X): + return + copy_files = [] + if os.path.isfile(DASD_CONF): + # the file has to be copied into the targetuserspace container first, + # then it can be included into the initramfs ==> both messages are + # needed to be produced + copy_files = [CopyFile(src=DASD_CONF)] + api.produce(UpgradeInitramfsTasks(include_files=[DASD_CONF])) + else: + api.current_logger().info( + "The {} file has not been discovered. DASD not used." + .format(DASD_CONF) + ) + api.produce(TargetUserSpaceUpgradeTasks(copy_files=copy_files, install_rpms=['s390utils-core'])) diff --git a/repos/system_upgrade/common/actors/scandasd/tests/unit_test_scandasd.py b/repos/system_upgrade/common/actors/scandasd/tests/unit_test_scandasd.py new file mode 100644 index 0000000..af8f951 --- /dev/null +++ b/repos/system_upgrade/common/actors/scandasd/tests/unit_test_scandasd.py @@ -0,0 +1,59 @@ +import os + +import pytest + +from leapp.libraries.actor import scandasd +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked, produce_mocked +from leapp.models import CopyFile, TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks + + +def test_dasd_exists(monkeypatch): + monkeypatch.setattr(scandasd.api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_S390X)) + monkeypatch.setattr(scandasd.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(scandasd.api, 'produce', produce_mocked()) + monkeypatch.setattr(os.path, 'isfile', lambda dummy: True) + scandasd.process() + assert not scandasd.api.current_logger.infomsg + assert scandasd.api.produce.called == 2 + tusut_flag = False + uit_flag = False + for msg in scandasd.api.produce.model_instances: + if isinstance(msg, TargetUserSpaceUpgradeTasks): + assert [CopyFile(src=scandasd.DASD_CONF)] == msg.copy_files + assert msg.install_rpms == ['s390utils-core'] + tusut_flag = True + elif isinstance(msg, UpgradeInitramfsTasks): + assert [scandasd.DASD_CONF] == msg.include_files + uit_flag = True + assert tusut_flag and uit_flag + + +def test_dasd_not_found(monkeypatch): + monkeypatch.setattr(scandasd.api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_S390X)) + monkeypatch.setattr(scandasd.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(os.path, 'isfile', lambda dummy: False) + monkeypatch.setattr(scandasd.api, 'produce', produce_mocked()) + scandasd.process() + assert scandasd.api.current_logger.infomsg + assert scandasd.api.produce.called == 1 + assert len(scandasd.api.produce.model_instances) == 1 + assert isinstance(scandasd.api.produce.model_instances[0], TargetUserSpaceUpgradeTasks) + assert scandasd.api.produce.model_instances[0].install_rpms == ['s390utils-core'] + assert not scandasd.api.produce.model_instances[0].copy_files + + +@pytest.mark.parametrize('isfile', [True, False]) +@pytest.mark.parametrize('arch', [ + architecture.ARCH_X86_64, + architecture.ARCH_ARM64, + architecture.ARCH_PPC64LE, +]) +def test_non_ibmz_arch(monkeypatch, isfile, arch): + monkeypatch.setattr(scandasd.api, 'current_actor', CurrentActorMocked(arch=arch)) + monkeypatch.setattr(scandasd.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(scandasd.api, 'produce', produce_mocked()) + monkeypatch.setattr(os.path, 'isfile', lambda dummy: isfile) + scandasd.process() + assert not scandasd.api.current_logger.infomsg + assert not scandasd.api.produce.called diff --git a/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/actor.py b/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/actor.py new file mode 100644 index 0000000..c7f91d3 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor.scanfilesfortargetuserspace import scan_files_to_copy +from leapp.models import TargetUserSpacePreupgradeTasks +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanFilesForTargetUserspace(Actor): + """ + Scan the source system and identify files that will be copied into the target userspace when it is created. + """ + + name = 'scan_files_for_target_userspace' + consumes = () + produces = (TargetUserSpacePreupgradeTasks,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + scan_files_to_copy() diff --git a/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/libraries/scanfilesfortargetuserspace.py b/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/libraries/scanfilesfortargetuserspace.py new file mode 100644 index 0000000..184e5e6 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/libraries/scanfilesfortargetuserspace.py @@ -0,0 +1,26 @@ +import os + +from leapp.libraries.stdlib import api +from leapp.models import CopyFile, TargetUserSpacePreupgradeTasks + +# Maps src location in the source system to the destination within the target system +FILES_TO_COPY_IF_PRESENT = { + '/etc/hosts': '/etc/hosts' +} + + +def scan_files_to_copy(): + """ + Scans the source system and identifies files that should be copied into target userspace. + + When an item to be copied is identified a message :class:`CopyFile` is produced. + """ + files_to_copy = [] + for src_path in FILES_TO_COPY_IF_PRESENT: + if os.path.isfile(src_path): + dst_path = FILES_TO_COPY_IF_PRESENT[src_path] + files_to_copy.append(CopyFile(src=src_path, dst=dst_path)) + + preupgrade_task = TargetUserSpacePreupgradeTasks(copy_files=files_to_copy) + + api.produce(preupgrade_task) diff --git a/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/tests/test_scanfilesfortargetuserspace.py b/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/tests/test_scanfilesfortargetuserspace.py new file mode 100644 index 0000000..afe1a44 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanfilesfortargetuserspace/tests/test_scanfilesfortargetuserspace.py @@ -0,0 +1,89 @@ +import os + +import pytest + +from leapp.libraries.actor.scanfilesfortargetuserspace import scan_files_to_copy +from leapp.libraries.common.testutils import produce_mocked +from leapp.libraries.stdlib import api + + +@pytest.fixture +def isfile_default_config(): + config = { + '/etc/hosts': True + } + return config + + +def do_files_to_copy_contain_entry_with_src(files_to_copy, src): + """Searches the files to be copied for an entry with src field that matches the given src.""" + is_present = False + for file_to_copy in files_to_copy: + if file_to_copy.src == src: + is_present = True + break + return is_present + + +def make_mocked_isfile(configuration): + """ + Creates mocked isfile function that returns values according the given configuration. + + The created function raises :class:`ValueError` should the unit under test try to "isfile" + a path that is not present in the configuration. + + One global mocked function with configuration is error prone as individual test would + have to return the configuration into the original state after execution. + """ + + def mocked_isfile(path): + if path in configuration: + return configuration[path] + error_msg = 'The actor tried to isfile a path that it should not. (path `{0}`)' + raise ValueError(error_msg.format(path)) + return mocked_isfile + + +def test_etc_hosts_present(monkeypatch, isfile_default_config): + """Tests whether /etc/hosts is identified as "to be copied" into target userspace when it is present.""" + mocked_isfile = make_mocked_isfile(isfile_default_config) + actor_produces = produce_mocked() + monkeypatch.setattr(os.path, 'isfile', mocked_isfile) + monkeypatch.setattr(api, 'produce', actor_produces) + + scan_files_to_copy() + + fail_msg = 'Produced unexpected number of messages.' + assert len(actor_produces.model_instances) == 1, fail_msg + + preupgrade_task_msg = actor_produces.model_instances[0] + + fail_msg = 'Didn\'t identify any files to copy into target userspace (at least /etc/hosts should be).' + assert preupgrade_task_msg.copy_files, fail_msg + + should_copy_hostsfile = do_files_to_copy_contain_entry_with_src(preupgrade_task_msg.copy_files, '/etc/hosts') + assert should_copy_hostsfile, 'Failed to identify /etc/hosts as a file to be copied into target userspace.' + + fail_msg = 'Produced message contains rpms to be installed, however only copy files field should be populated.' + assert not preupgrade_task_msg.install_rpms, fail_msg + + +def test_etc_hosts_missing(monkeypatch, isfile_default_config): + """Tests whether /etc/hosts is not identified as "to be copied" into target userspace when it is missing.""" + isfile_default_config['/etc/hosts'] = False # The file is not present or is a directory (-> should not be copied) + mocked_isfile = make_mocked_isfile(isfile_default_config) + actor_produces = produce_mocked() + + monkeypatch.setattr(os.path, 'isfile', mocked_isfile) + monkeypatch.setattr(api, 'produce', actor_produces) + + scan_files_to_copy() + + assert len(actor_produces.model_instances) == 1, 'Produced unexpected number of messages.' + + preupgrade_task_msg = actor_produces.model_instances[0] + should_copy_hostsfile = do_files_to_copy_contain_entry_with_src(preupgrade_task_msg.copy_files, '/etc/hosts') + assert not should_copy_hostsfile, 'Identified /etc/hosts as a file to be copied even if it doesn\'t exists' + + fail_msg = 'Produced message contains rpms to be installed, however only copy files field should be populated.' + assert not preupgrade_task_msg.install_rpms, fail_msg diff --git a/repos/system_upgrade/common/actors/scanfips/actor.py b/repos/system_upgrade/common/actors/scanfips/actor.py new file mode 100644 index 0000000..f369b79 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanfips/actor.py @@ -0,0 +1,28 @@ +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.models import FIPSInfo, KernelCmdline +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanFIPS(Actor): + """ + Determine whether the source system has FIPS enabled. + """ + + name = 'scan_fips' + consumes = (KernelCmdline,) + produces = (FIPSInfo,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + cmdline = next(self.consume(KernelCmdline), None) + if not cmdline: + raise StopActorExecutionError('Cannot check FIPS state due to missing command line parameters', + details={'Problem': 'Did not receive a message with kernel command ' + 'line parameters (KernelCmdline)'}) + + for parameter in cmdline.parameters: + if parameter.key == 'fips' and parameter.value == '1': + self.produce(FIPSInfo(is_enabled=True)) + return + self.produce(FIPSInfo(is_enabled=False)) diff --git a/repos/system_upgrade/common/actors/scanfips/tests/test_scanfips.py b/repos/system_upgrade/common/actors/scanfips/tests/test_scanfips.py new file mode 100644 index 0000000..c5f6ac6 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanfips/tests/test_scanfips.py @@ -0,0 +1,36 @@ +import pytest + +from leapp.models import FIPSInfo, KernelCmdline, KernelCmdlineArg +from leapp.snactor.fixture import current_actor_context + +ballast1 = [KernelCmdlineArg(key=k, value=v) for k, v in [ + ('BOOT_IMAGE', '/vmlinuz-3.10.0-1127.el7.x86_64'), + ('root', '/dev/mapper/rhel_ibm--p8--kvm--03--guest--02-root'), + ('ro', ''), + ('console', 'tty0'), + ('console', 'ttyS0,115200'), + ('rd_NO_PLYMOUTH', '')]] +ballast2 = [KernelCmdlineArg(key=k, value=v) for k, v in [ + ('crashkernel', 'auto'), + ('rd.lvm.lv', 'rhel_ibm-p8-kvm-03-guest-02/root'), + ('rd.lvm.lv', 'rhel_ibm-p8-kvm-03-guest-02/swap'), + ('rhgb', ''), + ('quiet', ''), + ('LANG', 'en_US.UTF-8')]] + + +@pytest.mark.parametrize(('parameters', 'should_detect_enabled_fips'), [ + ([], False), + ([KernelCmdlineArg(key='fips', value='')], False), + ([KernelCmdlineArg(key='fips', value='0')], False), + ([KernelCmdlineArg(key='fips', value='1')], True), + ([KernelCmdlineArg(key='fips', value='11')], False), + ([KernelCmdlineArg(key='fips', value='yes')], False) +]) +def test_check_fips(current_actor_context, parameters, should_detect_enabled_fips): + cmdline = KernelCmdline(parameters=ballast1+parameters+ballast2) + current_actor_context.feed(cmdline) + current_actor_context.run() + produced_msgs = current_actor_context.consume(FIPSInfo) + + assert (FIPSInfo(is_enabled=should_detect_enabled_fips),) == produced_msgs diff --git a/repos/system_upgrade/common/actors/scangrubconfig/actor.py b/repos/system_upgrade/common/actors/scangrubconfig/actor.py new file mode 100644 index 0000000..22815f5 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scanner +from leapp.models import GrubConfigError +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanGrubConfig(Actor): + """ + Scan grub configuration files for errors. + """ + + name = 'scan_grub_config' + consumes = () + produces = (GrubConfigError,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + errors = scanner.scan() + if errors: + for error in errors: + self.produce(error) diff --git a/repos/system_upgrade/common/actors/scangrubconfig/libraries/scanner.py b/repos/system_upgrade/common/actors/scangrubconfig/libraries/scanner.py new file mode 100644 index 0000000..86bba22 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/libraries/scanner.py @@ -0,0 +1,73 @@ +import os +import re + +from leapp.libraries.common.config import architecture, version +from leapp.models import GrubConfigError + + +def is_grubenv_corrupted(conf_file): + # grubenv can be missing + if not os.path.exists(conf_file): + return False + # ignore when /boot/grub2/grubenv is a symlink to its EFI counterpart + if os.path.islink(conf_file) and os.readlink(conf_file) == '../efi/EFI/redhat/grubenv': + return False + with open(conf_file, 'r') as config: + config_contents = config.read() + return len(config_contents) != 1024 or config_contents[-1] == '\n' + + +def _get_config_contents(config_path): + if os.path.isfile(config_path): + with open(config_path, 'r') as config: + return config.read() + return '' + + +def is_grub_config_missing_final_newline(conf_file): + config_contents = _get_config_contents(conf_file) + return config_contents and config_contents[-1] != '\n' + + +def detect_config_error(conf_file): + """ + Check grub configuration for syntax error in GRUB_CMDLINE_LINUX value. + + :return: Function returns True if error was detected, otherwise False. + """ + with open(conf_file, 'r') as f: + config = f.read() + + pattern = r'GRUB_CMDLINE_LINUX="[^"]+"(?!(\s*$)|(\s+(GRUB|#)))' + return re.search(pattern, config) is not None + + +def scan(): + errors = [] + # Check for corrupted grubenv + if not architecture.matches_architecture(architecture.ARCH_S390X): + configs = ['/boot/grub2/grubenv', '/boot/efi/EFI/redhat/grubenv'] + corrupted = [] + for cfg in configs: + if is_grubenv_corrupted(cfg): + corrupted.append(cfg) + if corrupted: + errors.append(GrubConfigError(error_type=GrubConfigError.ERROR_CORRUPTED_GRUBENV, files=corrupted)) + + config = '/etc/default/grub' + # Check for GRUB_CMDLINE_LINUX syntax errors + # XXX FIXME(ivasilev) Can we make this check a common one? For now let's limit it to rhel7->rhel8 only + if version.get_source_major_version() == '7': + if not architecture.matches_architecture(architecture.ARCH_S390X): + # For now, skip just s390x, that's only one that is failing now + # because ZIPL is used there + if detect_config_error(config): + errors.append(GrubConfigError(error_detected=True, files=[config], + error_type=GrubConfigError.ERROR_GRUB_CMDLINE_LINUX_SYNTAX)) + + # Check for missing newline errors + if is_grub_config_missing_final_newline(config): + errors.append(GrubConfigError(error_detected=True, error_type=GrubConfigError.ERROR_MISSING_NEWLINE, + files=[config])) + + return errors diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.correct b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.correct new file mode 100644 index 0000000..6190c66 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.correct @@ -0,0 +1,3 @@ +# GRUB Environment Block +saved_entry=Red Hat Enterprise Linux Server (3.10.0-1160.80.1.el7.x86_64) 7.9 (Maipo) +################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################# \ No newline at end of file diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.wrong1 b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.wrong1 new file mode 100644 index 0000000..41dc4a9 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.wrong1 @@ -0,0 +1,4 @@ +# GRUB Environment Block +saved_entry=Red Hat Enterprise Linux Server (3.10.0-1160.80.1.el7.x86_64) 7.9 (Maipo) +############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### + diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.wrong2 b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.wrong2 new file mode 100644 index 0000000..22f95aa --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/corrupted_grubenv/grubenv.wrong2 @@ -0,0 +1,2 @@ +saved_entry=Red Hat Enterprise Linux Server (3.10.0-1160.80.1.el7.x86_64) 7.9 (Maipo) +################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################# diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct new file mode 100644 index 0000000..5fc1622 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct @@ -0,0 +1,7 @@ +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" +GRUB_DEFAULT=saved +GRUB_DISABLE_SUBMENU=true +GRUB_TERMINAL_OUTPUT="console" +GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200n8 no_timer_check net.ifnames=0" +GRUB_DISABLE_RECOVERY="true" diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_comment b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_comment new file mode 100644 index 0000000..4145f65 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_comment @@ -0,0 +1,8 @@ +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" +GRUB_DEFAULT=saved +GRUB_DISABLE_SUBMENU=true +GRUB_TERMINAL_OUTPUT="console" +GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200n8 no_timer_check net.ifnames=0" +# hi, I'm a comment +GRUB_DISABLE_RECOVERY="true" diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_puppet b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_puppet new file mode 100644 index 0000000..f198b03 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_puppet @@ -0,0 +1,27 @@ +# WARNING: This file maintained by Puppet. +# Editing is no use unless you avoid running the Puppet agent + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +##GRUB_HIDDEN_TIMEOUT=0 +## +GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" + +GRUB_CMDLINE_LINUX_RECOVERY="true" + +GRUB_CMDLINE_LINUX="elevator=noop" + +# Uncomment to disable graphical terminal (grub-pc only) + +#GRUB_TERMINAL="console" + +GRUB_GFXMODE=640x480 +GRUB_DISABLE_RECOVERY="true" + + +# Set a background image +# Image must respect various specifications +GRUB_BACKGROUND="(hd0,0)/grub/splash.xpm.gz" + +# Disable OS prober +GRUB_DISABLE_OS_PROBER="true" diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_trailing_space b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_trailing_space new file mode 100644 index 0000000..20f4ad3 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.correct_trailing_space @@ -0,0 +1,3 @@ +GRUB_TERMINAL_OUTPUT="console" +GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200n8 no_timer_check net.ifnames=0" +GRUB_DISABLE_RECOVERY="true" \ No newline at end of file diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.wrong b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.wrong new file mode 100644 index 0000000..2d9c24f --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.wrong @@ -0,0 +1,7 @@ +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" +GRUB_DEFAULT=saved +GRUB_DISABLE_SUBMENU=true +GRUB_TERMINAL_OUTPUT="console" +GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto" console=ttyS0,115200n8 no_timer_check net.ifnames=0 +GRUB_DISABLE_RECOVERY="true" diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.wrong1 b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.wrong1 new file mode 100644 index 0000000..c1bee28 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/files/error_detection/grub.wrong1 @@ -0,0 +1 @@ +GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 vconsole.keymap=us "rhgb quiet GRUB_DISABLE_RECOVERY="true" \ No newline at end of file diff --git a/repos/system_upgrade/common/actors/scangrubconfig/tests/test_scangrubconfig.py b/repos/system_upgrade/common/actors/scangrubconfig/tests/test_scangrubconfig.py new file mode 100644 index 0000000..926f0f2 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubconfig/tests/test_scangrubconfig.py @@ -0,0 +1,69 @@ +import os + +import pytest + +from leapp.libraries.actor import scanner +from leapp.libraries.common.config import architecture, version +from leapp.models import GrubConfigError, Report + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def test_correct_config_error_detection(): + assert not scanner.detect_config_error(os.path.join(CUR_DIR, 'files/error_detection/grub.correct')) + assert not scanner.detect_config_error(os.path.join(CUR_DIR, 'files/error_detection/grub.correct_trailing_space')) + assert not scanner.detect_config_error(os.path.join(CUR_DIR, 'files/error_detection/grub.correct_comment')) + assert not scanner.detect_config_error(os.path.join(CUR_DIR, 'files/error_detection/grub.correct_puppet')) + + +def test_wrong_config_error_detection(): + assert scanner.detect_config_error(os.path.join(CUR_DIR, 'files/error_detection/grub.wrong')) + assert scanner.detect_config_error(os.path.join(CUR_DIR, 'files/error_detection/grub.wrong1')) + + +def test_all_errors_produced(current_actor_context, monkeypatch): + # Tell the actor we are not running on s390x + monkeypatch.setattr(architecture, 'matches_architecture', lambda _: False) + monkeypatch.setattr(version, 'get_source_version', lambda: '7.9') + # Set that all checks failed + monkeypatch.setattr(scanner, 'is_grub_config_missing_final_newline', lambda _: True) + monkeypatch.setattr(scanner, 'is_grubenv_corrupted', lambda _: True) + monkeypatch.setattr(scanner, 'detect_config_error', lambda _: True) + # Run the actor + current_actor_context.run() + # Check that exactly 3 messages of different types are produced + errors = current_actor_context.consume(GrubConfigError) + assert len(errors) == 3 + for err_type in [GrubConfigError.ERROR_MISSING_NEWLINE, GrubConfigError.ERROR_CORRUPTED_GRUBENV, + GrubConfigError.ERROR_GRUB_CMDLINE_LINUX_SYNTAX]: + distinct_error = next((e for e in errors if e.error_type == err_type), None) + assert distinct_error + assert distinct_error.files + + +@pytest.mark.parametrize( + ('config_contents', 'error_detected'), + [ + ('GRUB_DEFAULT=saved\nGRUB_DISABLE_SUBMENU=true\n', False), + ('GRUB_DEFAULT=saved\nGRUB_DISABLE_SUBMENU=true', True) + ] +) +def test_is_grub_config_missing_final_newline(monkeypatch, config_contents, error_detected): + + config_path = '/etc/default/grub' + + def mocked_get_config_contents(path): + assert path == config_path + return config_contents + + monkeypatch.setattr(scanner, '_get_config_contents', mocked_get_config_contents) + assert scanner.is_grub_config_missing_final_newline(config_path) == error_detected + + +def test_correct_config_corrupted_grubenv(): + assert not scanner.is_grubenv_corrupted(os.path.join(CUR_DIR, 'files/corrupted_grubenv/grubenv.correct')) + + +def test_wrong_config_corrupted_grubenv(): + assert scanner.is_grubenv_corrupted(os.path.join(CUR_DIR, 'files/corrupted_grubenv/grubenv.wrong1')) + assert scanner.is_grubenv_corrupted(os.path.join(CUR_DIR, 'files/corrupted_grubenv/grubenv.wrong2')) diff --git a/repos/system_upgrade/common/actors/scangrubdevice/actor.py b/repos/system_upgrade/common/actors/scangrubdevice/actor.py new file mode 100644 index 0000000..cb6be7e --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubdevice/actor.py @@ -0,0 +1,25 @@ +from leapp.actors import Actor +from leapp.libraries.common import grub +from leapp.libraries.common.config import architecture +from leapp.models import GrubInfo +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanGrubDeviceName(Actor): + """ + Find the name of the block devices where GRUB is located + """ + + name = 'scan_grub_device_name' + consumes = () + produces = (GrubInfo,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + if architecture.matches_architecture(architecture.ARCH_S390X): + return + + devices = grub.get_grub_devices() + grub_info = GrubInfo(orig_devices=devices) + grub_info.orig_device_name = devices[0] if len(devices) == 1 else None + self.produce(grub_info) diff --git a/repos/system_upgrade/common/actors/scangrubdevice/tests/test_scangrubdevice.py b/repos/system_upgrade/common/actors/scangrubdevice/tests/test_scangrubdevice.py new file mode 100644 index 0000000..0114d71 --- /dev/null +++ b/repos/system_upgrade/common/actors/scangrubdevice/tests/test_scangrubdevice.py @@ -0,0 +1,35 @@ +from leapp.libraries.common import grub +from leapp.libraries.common.config import mock_configs +from leapp.models import GrubInfo + + +def _get_grub_devices_mocked(): + return ['/dev/vda', '/dev/vdb'] + + +def test_actor_scan_grub_device(current_actor_context, monkeypatch): + monkeypatch.setattr(grub, 'get_grub_devices', _get_grub_devices_mocked) + current_actor_context.run(config_model=mock_configs.CONFIG) + info = current_actor_context.consume(GrubInfo) + assert info and info[0].orig_devices == ['/dev/vda', '/dev/vdb'] + assert len(info) == 1, 'Expected just one GrubInfo message' + assert not info[0].orig_device_name + + +def test_actor_scan_grub_device_one(current_actor_context, monkeypatch): + + def _get_grub_devices_mocked(): + return ['/dev/vda'] + + monkeypatch.setattr(grub, 'get_grub_devices', _get_grub_devices_mocked) + current_actor_context.run(config_model=mock_configs.CONFIG) + info = current_actor_context.consume(GrubInfo) + assert info and info[0].orig_devices == ['/dev/vda'] + assert len(info) == 1, 'Expected just one GrubInfo message' + assert info[0].orig_device_name == '/dev/vda' + + +def test_actor_scan_grub_device_s390x(current_actor_context, monkeypatch): + monkeypatch.setattr(grub, 'get_grub_devices', _get_grub_devices_mocked) + current_actor_context.run(config_model=mock_configs.CONFIG_S390X) + assert not current_actor_context.consume(GrubInfo) diff --git a/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/actor.py b/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/actor.py new file mode 100644 index 0000000..8b71d2d --- /dev/null +++ b/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scankernel +from leapp.models import InstalledTargetKernelInfo, InstalledTargetKernelVersion, KernelInfo, TransactionCompleted +from leapp.tags import IPUWorkflowTag, RPMUpgradePhaseTag + + +class ScanInstalledTargetKernelVersion(Actor): + """ + Scan for the version of the newly installed kernel + + This actor will query rpm for all kernel-core packages and reports the + first matching target system kernel RPM. In case the RHEL Real Time has + been detected on the original system, the kernel-rt-core rpm is searched. + If the rpm is missing, fallback for standard kernel RPM. + """ + + name = 'scan_installed_target_kernel_version' + consumes = (TransactionCompleted, KernelInfo) + produces = (InstalledTargetKernelInfo, InstalledTargetKernelVersion) + tags = (RPMUpgradePhaseTag, IPUWorkflowTag) + + def process(self): + scankernel.process() diff --git a/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/libraries/scankernel.py b/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/libraries/scankernel.py new file mode 100644 index 0000000..c1cc69e --- /dev/null +++ b/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/libraries/scankernel.py @@ -0,0 +1,110 @@ +import os +from collections import namedtuple + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import kernel as kernel_lib +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import InstalledTargetKernelInfo, InstalledTargetKernelVersion, KernelInfo +from leapp.utils.deprecation import suppress_deprecation + +KernelBootFiles = namedtuple('KernelBootFiles', ('vmlinuz_path', 'initramfs_path')) + + +def get_kernel_pkg_name(rhel_major_version, kernel_type): + """ + Get the name of the package providing kernel binaries. + + :param str rhel_major_version: RHEL major version + :param KernelType kernel_type: Type of the kernel + :returns: Kernel package name + :rtype: str + """ + if rhel_major_version == '7': + kernel_pkg_name_table = { + kernel_lib.KernelType.ORDINARY: 'kernel', + kernel_lib.KernelType.REALTIME: 'kernel-rt' + } + else: + kernel_pkg_name_table = { + kernel_lib.KernelType.ORDINARY: 'kernel-core', + kernel_lib.KernelType.REALTIME: 'kernel-rt-core' + } + return kernel_pkg_name_table[kernel_type] + + +def get_target_kernel_package_nevra(kernel_pkg_name): + try: + kernel_nevras = run(['rpm', '-q', kernel_pkg_name], split=True)['stdout'] + except CalledProcessError: + return '' + + target_kernel_el = 'el{}'.format(get_target_major_version()) + for kernel_nevra in kernel_nevras: + if target_kernel_el in kernel_nevra: + return kernel_nevra + return '' + + +def get_boot_files_provided_by_kernel_pkg(kernel_nevra): + initramfs_path = '' + vmlinuz_path = '' + err_msg = 'Cannot determine location of the target kernel boot image and corresponding initramfs .' + try: + kernel_pkg_files = run(['rpm', '-q', '-l', kernel_nevra], split=True)['stdout'] + for kernel_file_path in kernel_pkg_files: + dirname = os.path.dirname(kernel_file_path) + if dirname != '/boot': + continue + basename = os.path.basename(kernel_file_path) + if basename.startswith('vmlinuz'): + vmlinuz_path = kernel_file_path + elif basename.startswith('initramfs'): + initramfs_path = kernel_file_path + except CalledProcessError: + raise StopActorExecutionError(err_msg) + if not vmlinuz_path or not initramfs_path: + raise StopActorExecutionError(err_msg) + return KernelBootFiles(vmlinuz_path=vmlinuz_path, initramfs_path=initramfs_path) + + +@suppress_deprecation(InstalledTargetKernelVersion) +def process(): + # pylint: disable=no-else-return - false positive + # TODO: should we take care about stuff of kernel-rt and kernel in the same + # time when both are present? or just one? currently, handle only one + # of these during the upgrade. kernel-rt has higher prio when original sys + # was realtime + src_kernel_info = next(api.consume(KernelInfo), None) + if not src_kernel_info: + return # Will not happen, other actors would inhibit the upgrade + + target_ver = get_target_major_version() + target_kernel_pkg_name = get_kernel_pkg_name(target_ver, src_kernel_info.type) + target_kernel_nevra = get_target_kernel_package_nevra(target_kernel_pkg_name) + + if src_kernel_info.type != kernel_lib.KernelType.ORDINARY and not target_kernel_nevra: + api.current_logger().warning('The kernel-rt-core rpm from the target RHEL has not been detected. Switching ' + 'to non-preemptive kernel.') + target_kernel_pkg_name = get_kernel_pkg_name(target_ver, kernel_lib.KernelType.ORDINARY) + target_kernel_nevra = get_target_kernel_package_nevra(target_kernel_pkg_name) + + if target_kernel_nevra: + boot_files = get_boot_files_provided_by_kernel_pkg(target_kernel_nevra) + target_kernel_version = kernel_lib.get_uname_r_provided_by_kernel_pkg(target_kernel_nevra) + installed_kernel_info = InstalledTargetKernelInfo(pkg_nevra=target_kernel_nevra, + uname_r=target_kernel_version, + kernel_img_path=boot_files.vmlinuz_path, + initramfs_path=boot_files.initramfs_path) + + api.produce(installed_kernel_info) + + # Backwards compatibility + # Expects that the kernel nevra has the following format: --. + version = '-'.join(target_kernel_nevra.split('-')[-2:]) # (-2)-th is ; take -... + api.produce(InstalledTargetKernelVersion(version=version)) + else: + # This is not expected, however, we are past the point that raising an exception would do any good. + # It is better to finish the upgrade with 80% things done rather than falling into emergency mode + api.current_logger().warning('Failed to identify package providing the target kernel.') + pass diff --git a/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/tests/test_scaninstalledkernel_scaninstalledtargetkernelversion.py b/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/tests/test_scaninstalledkernel_scaninstalledtargetkernelversion.py new file mode 100644 index 0000000..570b678 --- /dev/null +++ b/repos/system_upgrade/common/actors/scaninstalledtargetkernelversion/tests/test_scaninstalledkernel_scaninstalledtargetkernelversion.py @@ -0,0 +1,165 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries import stdlib +from leapp.libraries.actor import scankernel +from leapp.libraries.common import kernel as kernel_lib +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledTargetKernelInfo, InstalledTargetKernelVersion, KernelInfo, RPM +from leapp.utils.deprecation import suppress_deprecation + +TARGET_KERNEL_NEVRA = 'kernel-core-1.2.3-4.el9.x86_64' +TARGET_RT_KERNEL_NEVRA = 'kernel-rt-core-1.2.3-4.rt56.7.el9.x86_64' +OLD_KERNEL_NEVRA = 'kernel-core-0.1.2-3.el8.x86_64' +OLD_RT_KERNEL_NEVRA = 'kernel-rt-core-0.1.2-3.rt4.5.el8.x86_64' + + +class MockedRun(object): + + def __init__(self, stdouts): + # stdouts should be dict of list of strings: { str: [str1,str2,...]} + self._stdouts = stdouts + + def __call__(self, *args, **kwargs): + for key in ('kernel-core', 'kernel-rt-core'): + if key in args[0]: + return {'stdout': self._stdouts.get(key, [])} + return {'stdout': []} + + +@suppress_deprecation(InstalledTargetKernelVersion) +def assert_produced_messages_are_correct(produced_messages, expected_target_nevra, initramfs_path, kernel_img_path): + target_evra = expected_target_nevra.replace('kernel-core-', '').replace('kernel-rt-core-', '') + installed_kernel_ver = [msg for msg in produced_messages if isinstance(msg, InstalledTargetKernelVersion)] + assert len(installed_kernel_ver) == 1, 'Actor should produce InstalledTargetKernelVersion (backwards compat.)' + assert installed_kernel_ver[0].version == target_evra + + installed_kernel_info = [msg for msg in produced_messages if isinstance(msg, InstalledTargetKernelInfo)] + assert len(installed_kernel_info) == 1 + assert installed_kernel_info[0].pkg_nevra == expected_target_nevra + + assert installed_kernel_info[0].initramfs_path == initramfs_path + assert installed_kernel_info[0].kernel_img_path == kernel_img_path + + +@pytest.mark.parametrize( + ('is_rt', 'expected_target_nevra', 'stdouts'), + [ + (False, TARGET_KERNEL_NEVRA, {'kernel-core': [OLD_KERNEL_NEVRA, TARGET_KERNEL_NEVRA]}), + (False, TARGET_KERNEL_NEVRA, {'kernel-core': [TARGET_KERNEL_NEVRA, OLD_KERNEL_NEVRA]}), + (False, TARGET_KERNEL_NEVRA, { + 'kernel-core': [TARGET_KERNEL_NEVRA, OLD_KERNEL_NEVRA], + 'kernel-rt-core': [TARGET_RT_KERNEL_NEVRA, OLD_RT_KERNEL_NEVRA], + }), + (True, TARGET_RT_KERNEL_NEVRA, { + 'kernel-rt-core': [OLD_RT_KERNEL_NEVRA, TARGET_RT_KERNEL_NEVRA] + }), + (True, TARGET_RT_KERNEL_NEVRA, { + 'kernel-rt-core': [TARGET_RT_KERNEL_NEVRA, OLD_RT_KERNEL_NEVRA] + }), + (True, TARGET_RT_KERNEL_NEVRA, { + 'kernel-core': [TARGET_KERNEL_NEVRA, OLD_KERNEL_NEVRA], + 'kernel-rt-core': [TARGET_RT_KERNEL_NEVRA, OLD_RT_KERNEL_NEVRA], + }), + ] +) +def test_scaninstalledkernel(monkeypatch, is_rt, expected_target_nevra, stdouts): + src_kernel_pkg = RPM(name='kernel-core', arch='x86_64', version='0.1.2', release='3', + epoch='0', packager='', pgpsig='SOME_OTHER_SIG_X') + src_kernel_type = kernel_lib.KernelType.REALTIME if is_rt else kernel_lib.KernelType.ORDINARY + src_kernel_info = KernelInfo(pkg=src_kernel_pkg, type=src_kernel_type, uname_r='X') + + def patched_get_boot_files(nevra): + assert nevra == expected_target_nevra + return scankernel.KernelBootFiles(vmlinuz_path='/boot/vmlinuz-X', initramfs_path='/boot/initramfs-X') + + result = [] + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='9.0', msgs=[src_kernel_info])) + monkeypatch.setattr(api, 'produce', result.append) + monkeypatch.setattr(scankernel, 'run', MockedRun(stdouts)) + monkeypatch.setattr(scankernel, 'get_boot_files_provided_by_kernel_pkg', patched_get_boot_files) + monkeypatch.setattr(kernel_lib, 'get_uname_r_provided_by_kernel_pkg', lambda nevra: 'uname-r') + + scankernel.process() + + assert_produced_messages_are_correct(result, expected_target_nevra, '/boot/initramfs-X', '/boot/vmlinuz-X') + + +@pytest.mark.parametrize( + ('vmlinuz_path', 'initramfs_path', 'extra_kernel_rpm_files'), + ( + ('/boot/vmlinuz-x', '/boot/initramfs-x', []), + ('/boot/vmlinuz-x', '/boot/initramfs-x', ['/lib/modules/6.4.10-100.fc37.x86_64/vmlinuz']), + (None, '/boot/initramfs-x', ['/lib/modules/6.4.10-100.fc37.x86_64/vmlinuz']), + ('/boot/vmlinuz-x', None, ['/lib/modules/6.4.10-100.fc37.x86_64/vmlinuz']), + ) +) +def test_get_boot_files_provided_by_kernel_pkg(monkeypatch, vmlinuz_path, initramfs_path, extra_kernel_rpm_files): + def mocked_run(cmd, *args, **kwargs): + assert cmd == ['rpm', '-q', '-l', TARGET_KERNEL_NEVRA] + + output = list(extra_kernel_rpm_files) + if vmlinuz_path: + output.append(vmlinuz_path) + if initramfs_path: + output.append(initramfs_path) + + return { + 'stdout': output + } + + monkeypatch.setattr(scankernel, 'run', mocked_run) + + if not vmlinuz_path or not initramfs_path: + with pytest.raises(StopActorExecutionError): + scankernel.get_boot_files_provided_by_kernel_pkg(TARGET_KERNEL_NEVRA) + else: + result = scankernel.get_boot_files_provided_by_kernel_pkg(TARGET_KERNEL_NEVRA) + assert result.vmlinuz_path == vmlinuz_path + assert result.initramfs_path == initramfs_path + + +def test_scaninstalledkernel_missing_rt(monkeypatch): + src_kernel_pkg = RPM(name='kernel-rt-core', arch='x86_64', version='0.1.2', release='3', + epoch='0', packager='', pgpsig='SOME_OTHER_SIG_X') + src_kernel_type = kernel_lib.KernelType.REALTIME + src_kernel_info = KernelInfo(pkg=src_kernel_pkg, type=src_kernel_type, uname_r='X') + + result = [] + stdouts = {'kernel-core': [TARGET_KERNEL_NEVRA], 'kernel-rt-core': [OLD_RT_KERNEL_NEVRA]} + + def patched_get_boot_content(target_nevra): + return scankernel.KernelBootFiles(vmlinuz_path='/boot/vmlinuz-X', initramfs_path='/boot/initramfs-X') + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='9.0', msgs=[src_kernel_info])) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(api, 'produce', result.append) + monkeypatch.setattr(scankernel, 'run', MockedRun(stdouts)) + monkeypatch.setattr(scankernel, 'get_boot_files_provided_by_kernel_pkg', patched_get_boot_content) + monkeypatch.setattr(kernel_lib, 'get_uname_r_provided_by_kernel_pkg', lambda nevra: 'uname-r') + + scankernel.process() + + assert api.current_logger.warnmsg + + assert_produced_messages_are_correct(result, TARGET_KERNEL_NEVRA, '/boot/initramfs-X', '/boot/vmlinuz-X') + + +def test_scaninstalledkernel_missing(monkeypatch): + src_kernel_pkg = RPM(name='kernel-rt-core', arch='x86_64', version='0.1.2', release='3', + epoch='0', packager='', pgpsig='SOME_OTHER_SIG_X') + src_kernel_type = kernel_lib.KernelType.REALTIME + src_kernel_info = KernelInfo(pkg=src_kernel_pkg, type=src_kernel_type, uname_r='X') + + result = [] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[src_kernel_info])) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(api, 'produce', result.append) + monkeypatch.setattr(scankernel, 'run', MockedRun({})) + monkeypatch.setattr(kernel_lib, 'get_uname_r_provided_by_kernel_pkg', lambda nevra: 'uname-r') + + scankernel.process() + + assert not result diff --git a/repos/system_upgrade/common/actors/scankernelcmdline/actor.py b/repos/system_upgrade/common/actors/scankernelcmdline/actor.py new file mode 100644 index 0000000..9f8fef3 --- /dev/null +++ b/repos/system_upgrade/common/actors/scankernelcmdline/actor.py @@ -0,0 +1,26 @@ +from leapp.actors import Actor +from leapp.libraries.stdlib import run +from leapp.models import KernelCmdline, KernelCmdlineArg +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanKernelCmdline(Actor): + """ + No documentation has been provided for the scan_kernel_cmdline actor. + """ + + name = 'scan_kernel_cmdline' + consumes = () + produces = (KernelCmdline,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + cmdline = run(['cat', '/proc/cmdline'])['stdout'].strip() + parameters = [] + for parameter in cmdline.split(' '): + if '=' in parameter: + kv = parameter.split('=') + parameters.append(KernelCmdlineArg(key=kv[0], value=kv[1])) + else: + parameters.append(KernelCmdlineArg(key=parameter)) + self.produce(KernelCmdline(parameters=parameters)) diff --git a/repos/system_upgrade/common/actors/scanmemory/actor.py b/repos/system_upgrade/common/actors/scanmemory/actor.py new file mode 100644 index 0000000..5d35af9 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanmemory/actor.py @@ -0,0 +1,16 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scanmemory +from leapp.models import MemoryInfo +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanMemory(Actor): + """Scan Memory of the machine.""" + + name = 'scanmemory' + consumes = () + produces = (MemoryInfo,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scanmemory.process() diff --git a/repos/system_upgrade/common/actors/scanmemory/libraries/scanmemory.py b/repos/system_upgrade/common/actors/scanmemory/libraries/scanmemory.py new file mode 100644 index 0000000..caa1599 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanmemory/libraries/scanmemory.py @@ -0,0 +1,24 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.models import MemoryInfo + + +def _get_memoryinfo(filename='/proc/meminfo'): + """ Returns dict of all memory information from /proc/meminfo file """ + + try: + with open(filename) as fp: + # format of the lines: Key: value unit + # e.g.: MemTotal: 1024 kB + return dict((i.split()[0].rstrip(':'), int(i.split()[1])) for i in fp.readlines()) + except IOError: + raise StopActorExecutionError( + 'Could not read memory values', + details={'details': 'Error opening file {}'.format(filename)}, + ) + + +def process(): + mem_info = _get_memoryinfo() + if mem_info: + api.produce(MemoryInfo(mem_total=mem_info['MemTotal'])) diff --git a/repos/system_upgrade/common/actors/scanmemory/tests/test_scanmemory.py b/repos/system_upgrade/common/actors/scanmemory/tests/test_scanmemory.py new file mode 100644 index 0000000..13e4e72 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanmemory/tests/test_scanmemory.py @@ -0,0 +1,44 @@ +import mock +import six + +from leapp.libraries.actor import scanmemory +from leapp.libraries.common import testutils +from leapp.libraries.stdlib import api +from leapp.models import MemoryInfo + + +def test_with_low_memory(monkeypatch): + if six.PY3: + with mock.patch("builtins.open", mock.mock_open(read_data="MemTotal: 42 kB")) as mock_proc_meminfo: + monkeypatch.setattr(api, 'produce', testutils.produce_mocked()) + scanmemory.process() + mock_proc_meminfo.assert_called_once_with('/proc/meminfo') + assert api.produce.called == 1 + assert MemoryInfo(mem_total=42) == api.produce.model_instances[0] + else: + with mock.patch("__builtin__.open", mock.mock_open(read_data="MemTotal: 42 kB")) as mock_proc_meminfo: + monkeypatch.setattr(api, 'produce', testutils.produce_mocked()) + scanmemory.process() + mock_proc_meminfo.assert_called_once_with('/proc/meminfo') + assert api.produce.called == 1 + assert MemoryInfo(mem_total=42) == api.produce.model_instances[0] + + +def test_with_high_memory(monkeypatch): + if six.PY3: + with mock.patch("builtins.open", mock.mock_open(read_data="MemTotal: 424242424242 kB")) as mock_proc_meminfo: + monkeypatch.setattr(api, 'produce', testutils.produce_mocked()) + scanmemory.process() + mock_proc_meminfo.assert_called_once_with('/proc/meminfo') + assert api.produce.called == 1 + assert MemoryInfo(mem_total=424242424242) == api.produce.model_instances[0] + else: + with mock.patch( + "__builtin__.open", + mock.mock_open(read_data="MemTotal: 424242424242 kB"), + ) as mock_proc_meminfo: + monkeypatch.setattr(api, 'produce', testutils.produce_mocked()) + scanmemory.process() + mock_proc_meminfo.assert_called_once_with('/proc/meminfo') + assert api.produce.called == 1 + assert MemoryInfo(mem_total=424242424242) == api.produce.model_instances[0] diff --git a/repos/system_upgrade/common/actors/scanpkgmanager/actor.py b/repos/system_upgrade/common/actors/scanpkgmanager/actor.py new file mode 100644 index 0000000..0436d1b --- /dev/null +++ b/repos/system_upgrade/common/actors/scanpkgmanager/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scanpkgmanager +from leapp.models import PkgManagerInfo +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanPkgManager(Actor): + """ + Provides data about package manager (yum/dnf) + """ + + name = 'scan_pkg_manager' + consumes = () + produces = (PkgManagerInfo,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scanpkgmanager.process() diff --git a/repos/system_upgrade/common/actors/scanpkgmanager/libraries/pluginscanner.py b/repos/system_upgrade/common/actors/scanpkgmanager/libraries/pluginscanner.py new file mode 100644 index 0000000..7bb0399 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanpkgmanager/libraries/pluginscanner.py @@ -0,0 +1,75 @@ +import re + +from leapp.libraries.common.config.version import get_source_major_version +from leapp.libraries.stdlib import run + +# When the output spans multiple lines, each of the lines after the first one +# start with a ' : ' +LOADED_PLUGINS_NEXT_LINE_START = ' +: ' + + +def _parse_loaded_plugins(package_manager_output): + """ + Retrieves a list of plugins that are being loaded when calling dnf/yum. + + :param dict package_manager_output: The result of running the package manager command. + :rtype: list + :returns: A list of plugins that are being loaded by the package manager. + """ + # Package manager might break the information about loaded plugins into multiple lines, + # we need to concaternate the list ourselves + loaded_plugins_str = '' + for line in package_manager_output['stdout']: + if line.startswith('Loaded plugins:'): + # We have found the first line that contains the plugins + plugins_on_this_line = line[16:] # Remove the `Loaded plugins: ` part + + if plugins_on_this_line[-1] == ',': + plugins_on_this_line += ' ' + + loaded_plugins_str += plugins_on_this_line + continue + + if loaded_plugins_str: + if re.match(LOADED_PLUGINS_NEXT_LINE_START, line): + # The list of plugins continues on this line + plugins_on_this_line = line.lstrip(' :') # Remove the leading spaces and semicolon + + # Plugins are separated by ', ', however the space at the end of line might get dropped, add it + # so we can split it by ', ' later + if plugins_on_this_line[-1] == ',': + plugins_on_this_line += ' ' + + loaded_plugins_str += plugins_on_this_line + else: + # The list of loaded plugins ended + break + + return loaded_plugins_str.split(', ') + + +def scan_enabled_package_manager_plugins(): + """ + Runs package manager (yum/dnf) command and parses its output for enabled/loaded plugins. + + :return: A list of enabled plugins. + :rtype: List + """ + + # We rely on package manager itself to report what plugins are used when it is invoked. + # An alternative approach would be to check the install path for package manager plugins + # and parse corresponding plugin configuration files. + + if get_source_major_version() == '7': + # in case of yum, set debuglevel=2 to be sure the output is always + # same. The format of data is different for various debuglevels + cmd = ['yum', '--setopt=debuglevel=2'] + else: + # the verbose mode in dnf always set particular debuglevel, so the + # output is not affected by the default debug level set on the + # system + cmd = ['dnf', '-v'] # On RHEL8 we need to supply an extra switch + + pkg_manager_output = run(cmd, split=True, checked=False) # The command will certainly fail (does not matter). + + return _parse_loaded_plugins(pkg_manager_output) diff --git a/repos/system_upgrade/common/actors/scanpkgmanager/libraries/scanpkgmanager.py b/repos/system_upgrade/common/actors/scanpkgmanager/libraries/scanpkgmanager.py new file mode 100644 index 0000000..bf7ec0b --- /dev/null +++ b/repos/system_upgrade/common/actors/scanpkgmanager/libraries/scanpkgmanager.py @@ -0,0 +1,85 @@ +import os +import re + +from leapp.libraries.actor import pluginscanner +from leapp.libraries.common.config.version import get_source_major_version +from leapp.libraries.stdlib import api +from leapp.models import PkgManagerInfo + +YUM_CONFIG_PATH = '/etc/yum.conf' +DNF_CONFIG_PATH = '/etc/dnf/dnf.conf' + + +def _get_releasever_path(): + default_manager = 'yum' if get_source_major_version() == '7' else 'dnf' + return '/etc/{}/vars/releasever'.format(default_manager) + + +def _releasever_exists(releasever_path): + return os.path.isfile(releasever_path) + + +def get_etc_releasever(): + """ Get release version from "/etc/{yum,dnf}/vars/releasever" file """ + + releasever_path = _get_releasever_path() + if not _releasever_exists(releasever_path): + return None + + with open(releasever_path, 'r') as fo: + # we care about the first line only + releasever = fo.readline().strip() + + return releasever + + +def _get_config_contents(config_path): + if os.path.isfile(config_path): + with open(config_path, 'r') as config: + return config.read() + return '' + + +def _get_proxy_if_set(manager_config_path): + """ + Get proxy address from specified package manager config. + + :param str manager_config_path: path to a package manager config + :returns: proxy address or None when not set + :rtype: str + """ + + config = _get_config_contents(manager_config_path) + + for line in config.split('\n'): + if re.match('^proxy[ \t]*=', line): + proxy_address = line.split('=', 1)[1] + return proxy_address.strip() + + return None + + +def get_configured_proxies(): + """ + Get a list of proxies used in dnf and yum configuration files. + + :returns: sorted list of unique proxies + :rtype: List + """ + + configured_proxies = set() + for config_path in (DNF_CONFIG_PATH, YUM_CONFIG_PATH): + proxy = _get_proxy_if_set(config_path) + if proxy: + configured_proxies.add(proxy) + + return sorted(configured_proxies) + + +def process(): + pkg_manager_info = PkgManagerInfo() + pkg_manager_info.etc_releasever = get_etc_releasever() + pkg_manager_info.configured_proxies = get_configured_proxies() + pkg_manager_info.enabled_plugins = pluginscanner.scan_enabled_package_manager_plugins() + + api.produce(pkg_manager_info) diff --git a/repos/system_upgrade/common/actors/scanpkgmanager/tests/files/releasever b/repos/system_upgrade/common/actors/scanpkgmanager/tests/files/releasever new file mode 100644 index 0000000..c23330d --- /dev/null +++ b/repos/system_upgrade/common/actors/scanpkgmanager/tests/files/releasever @@ -0,0 +1,2 @@ +7.7 + diff --git a/repos/system_upgrade/common/actors/scanpkgmanager/tests/test_pluginscanner.py b/repos/system_upgrade/common/actors/scanpkgmanager/tests/test_pluginscanner.py new file mode 100644 index 0000000..f0260e5 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanpkgmanager/tests/test_pluginscanner.py @@ -0,0 +1,83 @@ +import pytest + +from leapp.libraries.actor import pluginscanner + +CMD_YUM_OUTPUT = '''Loaded plugins: langpacks, my plugin, subscription-manager, product-id +Usage: yum [options] COMMAND +''' +CMD_YUM_OUTPUT_MULTILINE_BREAK_ON_HYPHEN = '''Loaded plugins: langpacks, my plugin, subscription- + : manager, product-id +Usage: yum [options] COMMAND +''' +CMD_YUM_OUTPUT_MULTILINE_BREAK_ON_WHITESPACE = '''Loaded plugins: langpacks, my plugin, + : subscription-manager, product-id +Usage: yum [options] COMMAND +''' + + +def assert_plugins_identified_as_enabled(expected_plugins, identified_plugins): + fail_description = 'Failed to parse a plugin from the package manager output.' + for expected_enabled_plugin in expected_plugins: + assert expected_enabled_plugin in identified_plugins, fail_description + + +@pytest.mark.parametrize( + ('source_major_version', 'command'), + [ + ('7', ['yum', '--setopt=debuglevel=2']), + ('8', ['dnf', '-v']), + ] +) +def test_scan_enabled_plugins(monkeypatch, source_major_version, command): + """Tests whether the enabled plugins are correctly retrieved from the package manager output.""" + + def run_mocked(cmd, **kwargs): + if cmd == command: + return { + 'stdout': CMD_YUM_OUTPUT.split('\n'), + 'stderr': 'You need to give some command', + 'exit_code': 1 + } + raise ValueError('Tried to run an unexpected command.') + + def get_source_major_version_mocked(): + return source_major_version + + # The library imports `run` all the way into its namespace (from ...stdlib import run), + # we must overwrite it there then: + monkeypatch.setattr(pluginscanner, 'run', run_mocked) + monkeypatch.setattr(pluginscanner, 'get_source_major_version', get_source_major_version_mocked) + + enabled_plugins = pluginscanner.scan_enabled_package_manager_plugins() + assert_plugins_identified_as_enabled( + ['langpacks', 'my plugin', 'subscription-manager', 'product-id'], + enabled_plugins + ) + + +@pytest.mark.parametrize( + ('yum_output',), + [ + (CMD_YUM_OUTPUT,), + (CMD_YUM_OUTPUT_MULTILINE_BREAK_ON_HYPHEN,), + (CMD_YUM_OUTPUT_MULTILINE_BREAK_ON_WHITESPACE,) + ]) +def test_yum_loaded_plugins_multiline_output(yum_output, monkeypatch): + """Tests whether the library correctly handles plugins getting reported on multiple lines.""" + def run_mocked(cmd, **kwargs): + return { + 'stdout': yum_output.split('\n'), + 'stderr': 'You need to give some command', + 'exit_code': 1 + } + + monkeypatch.setattr(pluginscanner, 'run', run_mocked) + monkeypatch.setattr(pluginscanner, 'get_source_major_version', lambda: '7') + + enabled_plugins = pluginscanner.scan_enabled_package_manager_plugins() + + assert len(enabled_plugins) == 4, 'Identified more yum plugins than available in the mocked yum output.' + assert_plugins_identified_as_enabled( + ['langpacks', 'my plugin', 'subscription-manager', 'product-id'], + enabled_plugins + ) diff --git a/repos/system_upgrade/common/actors/scanpkgmanager/tests/test_scanpkgmanager.py b/repos/system_upgrade/common/actors/scanpkgmanager/tests/test_scanpkgmanager.py new file mode 100644 index 0000000..75c5c5b --- /dev/null +++ b/repos/system_upgrade/common/actors/scanpkgmanager/tests/test_scanpkgmanager.py @@ -0,0 +1,95 @@ +import os + +import pytest + +from leapp.libraries import stdlib +from leapp.libraries.actor import pluginscanner, scanpkgmanager +from leapp.libraries.common import testutils +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) +PROXY_ADDRESS = 'https://192.168.121.123:3128' +YUM_CONFIG_PATH = '/etc/yum.conf' +DNF_CONFIG_PATH = '/etc/dnf/dnf.conf' + + +def mock_releasever_exists(overrides): + def mocked_releasever_exists(name): + if name in overrides: + return overrides[name] + raise ValueError + return mocked_releasever_exists + + +def mocked_get_releasever_path(): + return os.path.join(CUR_DIR, 'files/releasever') + + +@pytest.mark.parametrize('etcrelease_exists', [True, False]) +def test_get_etcreleasever(monkeypatch, etcrelease_exists): + monkeypatch.setattr( + scanpkgmanager, + '_releasever_exists', mock_releasever_exists( + { + os.path.join(CUR_DIR, 'files/releasever'): etcrelease_exists, + } + ) + ) + monkeypatch.setattr(scanpkgmanager.api, 'produce', produce_mocked()) + monkeypatch.setattr(scanpkgmanager.api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(scanpkgmanager, '_get_releasever_path', mocked_get_releasever_path) + monkeypatch.setattr(scanpkgmanager, '_get_proxy_if_set', lambda x: None) + monkeypatch.setattr(pluginscanner, 'scan_enabled_package_manager_plugins', lambda: []) + + scanpkgmanager.process() + + assert scanpkgmanager.api.produce.called + if etcrelease_exists: + assert api.produce.model_instances[0].etc_releasever + else: + assert not api.produce.model_instances[0].etc_releasever + + +@pytest.mark.parametrize('proxy_set', [True, False]) +def test_get_proxy_if_set(monkeypatch, proxy_set): + + config_path = '/path/to/config.conf' + config_contents = '[main]\n' + if proxy_set: + config_contents += 'proxy = \t{} '.format(PROXY_ADDRESS) + + def mocked_get_config_contents(path): + assert path == config_path + return config_contents + + monkeypatch.setattr(scanpkgmanager, '_get_config_contents', mocked_get_config_contents) + + proxy = scanpkgmanager._get_proxy_if_set(config_path) + + if proxy_set: + assert proxy == PROXY_ADDRESS + + assert proxy_set == bool(proxy) + + +@pytest.mark.parametrize( + ('proxy_set_in_dnf_config', 'proxy_set_in_yum_config', 'expected_output'), + [ + (True, True, [PROXY_ADDRESS]), + (True, False, [PROXY_ADDRESS]), + (False, False, []) + ] +) +def test_get_configured_proxies(monkeypatch, proxy_set_in_dnf_config, proxy_set_in_yum_config, expected_output): + + def mocked_get_proxy_if_set(path): + proxy = PROXY_ADDRESS if proxy_set_in_yum_config else None + if path == DNF_CONFIG_PATH: + proxy = PROXY_ADDRESS if proxy_set_in_dnf_config else None + return proxy + + monkeypatch.setattr(scanpkgmanager, '_get_proxy_if_set', mocked_get_proxy_if_set) + + configured_proxies = scanpkgmanager.get_configured_proxies() + assert configured_proxies == expected_output diff --git a/repos/system_upgrade/common/actors/scansaphana/actor.py b/repos/system_upgrade/common/actors/scansaphana/actor.py new file mode 100644 index 0000000..ad76369 --- /dev/null +++ b/repos/system_upgrade/common/actors/scansaphana/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.scansaphana import perform_sap_hana_scan +from leapp.models import SapHanaInfo +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanSapHana(Actor): + """ + Gathers information related to SAP HANA instances on the system. + + This actor collects information from SAP HANA installations and produces a message containing the details. + The actor will determine whether SAP HANA is installed, running and which version is present on the system. + """ + + name = 'scan_sap_hana' + consumes = () + produces = (SapHanaInfo,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + perform_sap_hana_scan() diff --git a/repos/system_upgrade/common/actors/scansaphana/libraries/scansaphana.py b/repos/system_upgrade/common/actors/scansaphana/libraries/scansaphana.py new file mode 100644 index 0000000..04195b5 --- /dev/null +++ b/repos/system_upgrade/common/actors/scansaphana/libraries/scansaphana.py @@ -0,0 +1,133 @@ +from os import listdir, path + +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SapHanaInfo, SapHanaInstanceInfo, SapHanaManifestEntry + +HANA_BASE_PATH = '/hana/shared' +HANA_MANIFEST_PATH = 'exe/linuxx86_64/hdb/manifest' +HANA_SAPCONTROL_PATH = 'exe/linuxx86_64/hdb/sapcontrol' + + +def perform_sap_hana_scan(): + """ + Produces a message with details collected around SAP HANA. + """ + + api.produce(search_sap_hana_instances()) + + +def parse_manifest(path): + """ Parses a SAP HANA manifest into a dictionary """ + def _decoded(s): + """ + Compatibility between Python2 and 3 - Python 2 has no str.decode but we can process str directly. + Python3 needs the byte data to be decoded so we can process the string data. + """ + if hasattr(s, 'decode'): + return s.decode('utf-8') + return s + + data = [] + try: + with open(path, 'r') as f: + for line in _decoded(f.read()).split('\n'): + try: + key, value = line.split(':', 1) + except ValueError: + # Most likely an empty line, but we're being permissive here and ignore failures. + # In the end it's all about having the right values available. + if line: + api.current_logger().warn( + 'Failed to parse line in manifest: {file}. Line was: `{line}`'.format(file=path, + line=line), + exc_info=True) + continue + data.append(SapHanaManifestEntry(key=key, value=value.strip())) + except OSError: + return None + return data + + +def search_sap_hana_instances(): + """ + Searches for all instances of SAP HANA on the system and gets the information for it + + This code will go through all entries in /hana/shared and checks for all instances within. + For each instance it will check the status and record the location. + + :return: SapHanaInfo + """ + # Keeps track of found instances + result = [] + # Keeps track if any instance is running + any_running = False + # Keeps track if any SAP HANA installation was found. In theory it could be also derived from len(result) != 0 + installed = False + if path.isdir(HANA_BASE_PATH): + for entry in listdir(HANA_BASE_PATH): + + entry_path = path.join(HANA_BASE_PATH, entry) + sapcontrol_path = path.join(entry_path, HANA_SAPCONTROL_PATH) + entry_manifest_path = path.join(entry_path, HANA_MANIFEST_PATH) + if path.isfile(entry_manifest_path): + # We found the manifest file in the expected relative path. + # Now we are going to look for instance directories. + for instance in listdir(entry_path): + instance_number = None + if 'HDB' in instance: + # We found an instance. Instance directories follow HDB[0-9][0-9] naming pattern, + # where the numbers represent the instance number. + instance_number = instance[-2:] + if not instance_number: + # This is not a folder we are interested in + continue + # Now obviously SAP HANA is installed + installed = True + # We can derive the admin name from `entry` directory name + admin_name = '{}adm'.format(entry.lower()) + # Retrieving the status of this instance + running = get_instance_status(instance_number, sapcontrol_path, admin_name) + # Update the variable that tracks all instances if any is running. + # This makes the inhibitor code easier later. + any_running = any_running or running + # Append the found instance to the list + result.append( + SapHanaInstanceInfo( + name=entry, + manifest=parse_manifest(entry_manifest_path), + path=entry_path, + instance_number=instance_number, + running=running, + admin=admin_name + ) + ) + # Return the results + return SapHanaInfo(instances=result, running=any_running, installed=installed) + + +def get_instance_status(instance_number, sapcontrol_path, admin_name): + """ Gets the status for the instance given """ + try: + # Executes sapcontrol in the context of the instance admin user to retrieve the process list for the given + # SAP HANA instance. + # GetProcessList has some oddities, like returning non zero exit codes with special meanings. + # Exit code 3 = All processes are running correctly + # Exit code 4 = All processes stopped + # Other exit codes aren't handled at this time and it's assumed that SAP HANA is possibly in some unusual + # state. Such as starting/stopping but also that it is in some kind of failure state. + output = run([ + 'sudo', '-u', admin_name, sapcontrol_path, '-nr', instance_number, '-function', 'GetProcessList'], + checked=False) + if output['exit_code'] == 3: + # GetProcessList succeeded, all processes running correctly + return True + if output['exit_code'] == 4: + # GetProcessList succeeded, all processes stopped + return False + # SAP HANA might be somewhere in between (Starting/Stopping) + # In that case there are always more than 7 lines. + return len(output['stdout'].split('\n')) > 7 + except CalledProcessError: + api.current_logger().warn( + 'Failed to retrieve SAP HANA instance status from sapcontrol - Considering it as not running.') + return False diff --git a/repos/system_upgrade/common/actors/scansaphana/tests/test_scansaphana.py b/repos/system_upgrade/common/actors/scansaphana/tests/test_scansaphana.py new file mode 100644 index 0000000..0b55c9f --- /dev/null +++ b/repos/system_upgrade/common/actors/scansaphana/tests/test_scansaphana.py @@ -0,0 +1,187 @@ +import subprocess +from io import BytesIO + +from leapp.compat import IS_PYTHON3, unicode_type +from leapp.libraries.actor import scansaphana + +SAPHANA_TEST_INSTANCES = ('00', '10', '23', '34', '66') +SAPHANA2_MANIFEST = ''.join(('''compversion-id: 73554900100200005327 +comptype: HDB +keyname: HDB +keycaption: SAP HANA DATABASE +supported-phases: prepare,offline,configure,online +requires-restart: system +keyvendor: sap.com +release: 2.00 +rev-number: 053 +rev-patchlevel: 00 +rev-changelist: 1605092543 +max_sps12_rev-number: 122 +max_sps12_patchlevel: 33 +max_rel2.0_sps0_rev-number: 02 +max_rel2.0_sps0_patchlevel: 02 +max_rel2.0_sps1_rev-number: 12 +max_rel2.0_sps1_patchlevel: 05 +max_rel2.0_sps2_rev-number: 24 +max_rel2.0_sps2_patchlevel: 10 +max_rel2.0_sps3_rev-number: 37 +max_rel2.0_sps3_patchlevel: 07 +max_rel2.0_sps4_rev-number: 48 +max_rel2.0_sps4_patchlevel: 02 +upgrade-restriction: sourceVersion="[1.00.000.00,1.00.69.07)"; message="You must first upgrade your system to the ''', + '''latest HANA 1.0 SPS6 Revision (69.07), then to HANA 1.0 SPS12 if you want to ''', + '''upgrade to HANA 2.0" +upgrade-restriction: sourceVersion="[1.00.69.07,1.00.120.00)"; message="You must first make an intermediate update ''', + '''to HANA SPS12 if you want to upgrade to HANA 2.0. Please see SAP Note 2372809." +restrict-supported-components: name="REMOTE_DATA_SYNC"; vendor="sap.com"; version="[2.0.010.00,3.00.000.00)" +sp-number: 053 +sp-patchlevel: 00 +makeid: 7694334 +date: 2020-11-11 12:12:22 +platform: linuxx86_64 +hdb-state: RAMP +fullversion: 2.00.053.00 Build 1605092543-1530 +auxversion: 0000.00.0 +cloud_edition: 0000.00.00 +changeinfo: CONT 49fd3e766fbee9a5c22dd609397d2fa640b9df09 (fa/hana2sp05) +compiletype: rel +compilebranch: fa/hana2sp05 +git-hash: 49fd3e766fbee9a5c22dd609397d2fa640b9df09 +git-headcount: 500015 +git-mergetime: 2020-11-11 12:02:23 +git-mergeepoch: 1605092543 +sapexe-version: 753 +sapexe-branch: 753_REL +sapexe-changelist: 2007209 +compiler-version-full: gcc (SAP release 20200227, based on SUSE gcc9-9.2.1+r275327-1.3.7) 9.2.1 20190903 ''', + '''[gcc-9-branch revision 275330] +compiler-version: GCC 9 +lcmserver-artifact-version: 2.5.46''')) + + +class CallMock(object): + def __init__(self, ret): + self.args = None + self.ret = ret + + def __call__(self, *args, **kwargs): + self.args = args + return self.ret + + +class SubprocessCall(object): + def __init__(self, admusername): + self.admusername = admusername + + def __call__(self, *args, **kwargs): + assert args[0][0:3] == ['sudo', '-u', self.admusername] + cmd = args[0][3:] + kwargs.pop('checked', None) + p = subprocess.Popen(cmd, stdout=subprocess.PIPE) + p.wait() + return {'exit_code': p.returncode, 'stdout': p.stdout.read()} + + +def test_scansaphana_get_instance_status(monkeypatch): + call = CallMock(ret={}) + monkeypatch.setattr(scansaphana, 'run', call) + + call.ret = {'exit_code': 3, 'stdout': ''} + assert scansaphana.get_instance_status('00', 'fake/control/path', 'tstadm') + assert call.args[0] == ['sudo', '-u', 'tstadm', 'fake/control/path', '-nr', '00', '-function', 'GetProcessList'] + + call.ret = {'exit_code': 4, 'stdout': ''} + assert not scansaphana.get_instance_status('00', 'fake/control/path', 'tstadm') + assert call.args[0] == ['sudo', '-u', 'tstadm', 'fake/control/path', '-nr', '00', '-function', 'GetProcessList'] + + call.ret = {'exit_code': 0, 'stdout': '\n'} + assert not scansaphana.get_instance_status('00', 'fake/control/path', 'tstadm') + assert call.args[0] == ['sudo', '-u', 'tstadm', 'fake/control/path', '-nr', '00', '-function', 'GetProcessList'] + + call.ret = {'exit_code': 0, 'stdout': ' \n' * 6} + assert not scansaphana.get_instance_status('00', 'fake/control/path', 'tstadm') + assert call.args[0] == ['sudo', '-u', 'tstadm', 'fake/control/path', '-nr', '00', '-function', 'GetProcessList'] + + call.ret = {'exit_code': 0, 'stdout': '\n' * 7} + assert scansaphana.get_instance_status('00', 'fake/control/path', 'tstadm') + assert call.args[0] == ['sudo', '-u', 'tstadm', 'fake/control/path', '-nr', '00', '-function', 'GetProcessList'] + + +def test_scansaphana_parse_manifest(monkeypatch): + class _mock_open(object): + def __init__(self, path, mode): + self._fp = BytesIO(SAPHANA2_MANIFEST.encode('utf-8')) + + def __enter__(self): + return self._fp + + def __exit__(self, *args, **kwargs): + return None + + monkeypatch.setattr(scansaphana, 'open', _mock_open, False) + data = scansaphana.parse_manifest('yadda') + + def _get_manifest_entry(key): + for entry in data: + if entry.key == key: + return entry.value + return None + assert _get_manifest_entry('sapexe-version') == '753' + assert _get_manifest_entry('keycaption') == 'SAP HANA DATABASE' + + +def test_scansaphana_search_saphana_databases(monkeypatch, tmpdir): + base_path = tmpdir + monkeypatch.setattr(scansaphana, 'HANA_BASE_PATH', str(base_path)) + cur_path = base_path + manifest_path_parts = scansaphana.HANA_MANIFEST_PATH.split('/') + for part in manifest_path_parts[0:-1]: + cur_path = cur_path.join(part) + cur_path.mkdir() + + linkpath = base_path.join(manifest_path_parts[0]) + + manifest = cur_path.join(manifest_path_parts[-1]) + manifest.write_text(unicode_type(SAPHANA2_MANIFEST), encoding='utf-8') + + sapcontrol = cur_path.join(scansaphana.HANA_SAPCONTROL_PATH.split('/')[-1]) + sapcontrol.write_text(unicode_type('''#!/bin/bash +echo '' +echo '26.01.2021 17:55:17' +echo 'GetProcessList' +echo 'OK' +echo 'name, description, dispstatus, textstatus, starttime, elapsedtime, pid' +echo 'hdbdaemon, HDB Daemon, GREEN, Running, 2020 05 08 21:56:28, 6307:58:49, 16043' +echo 'hdbcompileserver, HDB Compileserver, GREEN, Running, 2020 05 08 21:57:00, 6307:58:17, 16365' +echo 'hdbdiserver, HDB Deployment Infrastructure Server, GREEN, Running, 2020 05 08 21:57:37, 6307:57:40, 16546' +echo 'hdbindexserver, HDB Indexserver-HXE, GREEN, Running, 2020 05 08 21:57:01, 6307:58:16, 16391' +echo 'hdbnameserver, HDB Nameserver, GREEN, Running, 2020 05 08 21:56:29, 6307:58:48, 16061' +echo 'hdbwebdispatcher, HDB Web Dispatcher, GREEN, Running, 2020 05 08 21:57:38, 6307:57:39, 16549' +exit 3 + '''), encoding='utf-8') + sapcontrol.chmod(0o755) + + result = scansaphana.search_sap_hana_instances() + assert not result.instances + assert not result.running + assert not result.installed + + monkeypatch.setattr(scansaphana, 'run', SubprocessCall('lppadm')) + admin = base_path.join('LPP') + admin.mkdir() + admin.join(manifest_path_parts[0]).mksymlinkto(str(linkpath)) + + for instance in SAPHANA_TEST_INSTANCES: + instance_path = admin.join(('HDB' + instance)) + instance_path.mkdir() + + result = scansaphana.search_sap_hana_instances() + assert result.instances + assert len(result.instances) == len(SAPHANA_TEST_INSTANCES) + check_instance_numbers = set(SAPHANA_TEST_INSTANCES) + for instance in result.instances: + assert instance.instance_number in check_instance_numbers + check_instance_numbers.remove(instance.instance_number) + assert not check_instance_numbers + assert result.running + assert result.installed diff --git a/repos/system_upgrade/common/actors/scansourcekernel/actor.py b/repos/system_upgrade/common/actors/scansourcekernel/actor.py new file mode 100644 index 0000000..8e3fa27 --- /dev/null +++ b/repos/system_upgrade/common/actors/scansourcekernel/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scan_source_kernel as scan_source_kernel_lib +from leapp.models import InstalledRedHatSignedRPM, KernelInfo +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanSourceKernel(Actor): + """ + Scan the source system kernel. + """ + + name = 'scan_source_kernel' + consumes = (InstalledRedHatSignedRPM,) + produces = (KernelInfo,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scan_source_kernel_lib.scan_source_kernel() diff --git a/repos/system_upgrade/common/actors/scansourcekernel/libraries/scan_source_kernel.py b/repos/system_upgrade/common/actors/scansourcekernel/libraries/scan_source_kernel.py new file mode 100644 index 0000000..b596ccc --- /dev/null +++ b/repos/system_upgrade/common/actors/scansourcekernel/libraries/scan_source_kernel.py @@ -0,0 +1,30 @@ +import itertools + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import kernel as kernel_lib +from leapp.libraries.common.config.version import get_source_version +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, KernelInfo + + +def scan_source_kernel(): + uname_r = api.current_actor().configuration.kernel + installed_rpms = [msg.items for msg in api.consume(InstalledRedHatSignedRPM)] + installed_rpms = list(itertools.chain(*installed_rpms)) + + kernel_type = kernel_lib.determine_kernel_type_from_uname(get_source_version(), uname_r) + kernel_pkg_info = kernel_lib.get_kernel_pkg_info_for_uname_r(uname_r) + + kernel_pkg_id = (kernel_pkg_info.name, kernel_pkg_info.version, kernel_pkg_info.release, kernel_pkg_info.arch) + kernel_pkg = None + for pkg in installed_rpms: + pkg_id = (pkg.name, pkg.version, pkg.release, pkg.arch) + if kernel_pkg_id == pkg_id: + kernel_pkg = pkg + break + + if not kernel_pkg: + raise StopActorExecutionError(message='Unable to identify package providing the booted kernel.') + + kernel_info = KernelInfo(pkg=kernel_pkg, type=kernel_type, uname_r=uname_r) + api.produce(kernel_info) diff --git a/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/actor.py b/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/actor.py new file mode 100644 index 0000000..50a7cd0 --- /dev/null +++ b/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scanrhsm +from leapp.models import RHSMInfo +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanSubscriptionManagerInfo(Actor): + """ + Scans the current system for subscription manager information + + Retrieves information about enabled and available repositories, attached SKUs, product certificates and release + from the current system without modifying it. + """ + + name = 'scan_subscription_manager_info' + consumes = () + produces = (RHSMInfo,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scanrhsm.scan() diff --git a/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/libraries/scanrhsm.py b/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/libraries/scanrhsm.py new file mode 100644 index 0000000..effbc83 --- /dev/null +++ b/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/libraries/scanrhsm.py @@ -0,0 +1,10 @@ +from leapp.libraries.common import rhsm +from leapp.libraries.common.mounting import NotIsolatedActions +from leapp.libraries.stdlib import api + + +@rhsm.with_rhsm +def scan(): + context = NotIsolatedActions(base_dir='/') + info = rhsm.scan_rhsm_info(context) + api.produce(info) diff --git a/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/tests/test_scansubscriptionmanagementinfo.py b/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/tests/test_scansubscriptionmanagementinfo.py new file mode 100644 index 0000000..c80a68e --- /dev/null +++ b/repos/system_upgrade/common/actors/scansubscriptionmanagerinfo/tests/test_scansubscriptionmanagementinfo.py @@ -0,0 +1,43 @@ +import pytest + +from leapp.libraries.actor import scanrhsm +from leapp.libraries.common import rhsm +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import RepositoryData, RepositoryFile, RHSMInfo + + +def mocked_get_rhsm_info(context): + assert context, 'The actor did not provide library with valid context.' + info = RHSMInfo() + info.attached_skus = ['SKU1', 'SKU2'] + info.available_repos = ['Repo1', 'Repo2'] + info.enabled_repos = ['Repo2'] + info.release = '7.9' + info.existing_product_certificates = ['Cert1', 'Cert2', 'Cert3'] + info.sca_detected = True + return info + + +def test_scansubscriptionmanagementinfo(monkeypatch): + actor_producs = produce_mocked() + + monkeypatch.setattr(rhsm, 'scan_rhsm_info', mocked_get_rhsm_info) + monkeypatch.setattr(api, 'produce', actor_producs) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + + scanrhsm.scan() + + assert actor_producs.model_instances, 'The actor did not produce any message.' + assert len(actor_producs.model_instances) == 1, 'The actor produced more messages than expected.' + + message = actor_producs.model_instances[0] + + # The actor does not do much more than calling the `rhsm` library (which has its own tests), + # just check that the message has not changed + assert message.attached_skus == ['SKU1', 'SKU2'] + assert message.available_repos == ['Repo1', 'Repo2'] + assert message.enabled_repos == ['Repo2'] + assert message.release == '7.9' + assert message.existing_product_certificates == ['Cert1', 'Cert2', 'Cert3'] + assert message.sca_detected diff --git a/repos/system_upgrade/common/actors/scantargetiso/actor.py b/repos/system_upgrade/common/actors/scantargetiso/actor.py new file mode 100644 index 0000000..88b1b8f --- /dev/null +++ b/repos/system_upgrade/common/actors/scantargetiso/actor.py @@ -0,0 +1,16 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scan_target_os_iso +from leapp.models import CustomTargetRepository, TargetOSInstallationImage +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanTargetISO(Actor): + """Scans the provided target OS ISO image to use as a content source for the IPU, if any.""" + + name = 'scan_target_os_image' + consumes = () + produces = (CustomTargetRepository, TargetOSInstallationImage,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scan_target_os_iso.inform_ipu_about_request_to_use_target_iso() diff --git a/repos/system_upgrade/common/actors/scantargetiso/libraries/scan_target_os_iso.py b/repos/system_upgrade/common/actors/scantargetiso/libraries/scan_target_os_iso.py new file mode 100644 index 0000000..281389c --- /dev/null +++ b/repos/system_upgrade/common/actors/scantargetiso/libraries/scan_target_os_iso.py @@ -0,0 +1,96 @@ +import os + +import leapp.libraries.common.config as ipu_config +from leapp.libraries.common.mounting import LoopMount, MountError +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import CustomTargetRepository, TargetOSInstallationImage + + +def determine_rhel_version_from_iso_mountpoint(iso_mountpoint): + baseos_packages = os.path.join(iso_mountpoint, 'BaseOS/Packages') + if os.path.isdir(baseos_packages): + def is_rh_release_pkg(pkg_name): + return pkg_name.startswith('redhat-release') and 'eula' not in pkg_name + + redhat_release_pkgs = [pkg for pkg in os.listdir(baseos_packages) if is_rh_release_pkg(pkg)] + + if not redhat_release_pkgs: + return '' # We did not determine anything + + if len(redhat_release_pkgs) > 1: + api.current_logger().warn('Multiple packages with name redhat-release* found when ' + 'determining RHEL version of the supplied installation ISO.') + + redhat_release_pkg = redhat_release_pkgs[0] + + determined_rhel_ver = '' + try: + rh_release_pkg_path = os.path.join(baseos_packages, redhat_release_pkg) + # rpm2cpio is provided by rpm; cpio is a dependency of yum (rhel7) and a dependency of dracut which is + # a dependency for leapp (rhel8+) + cpio_archive = run(['rpm2cpio', rh_release_pkg_path]) + etc_rh_release_contents = run(['cpio', '--extract', '--to-stdout', './etc/redhat-release'], + stdin=cpio_archive['stdout']) + + # 'Red Hat Enterprise Linux Server release 7.9 (Maipo)' -> ['Red Hat...', '7.9 (Maipo'] + product_release_fragments = etc_rh_release_contents['stdout'].split('release') + if len(product_release_fragments) != 2: + return '' # Unlikely. Either way we failed to parse the release + + if not product_release_fragments[0].startswith('Red Hat'): + return '' + + determined_rhel_ver = product_release_fragments[1].strip().split(' ', 1)[0] # Remove release name (Maipo) + return determined_rhel_ver + except CalledProcessError: + return '' + return '' + + +def inform_ipu_about_request_to_use_target_iso(): + target_iso_path = ipu_config.get_env('LEAPP_TARGET_ISO') + if not target_iso_path: + return + + iso_mountpoint = '/iso' + + if not os.path.exists(target_iso_path): + # If the path does not exists, do not attempt to mount it and let the upgrade be inhibited by the check actor + api.produce(TargetOSInstallationImage(path=target_iso_path, + repositories=[], + mountpoint=iso_mountpoint, + was_mounted_successfully=False)) + return + + # Mount the given ISO, extract the available repositories and determine provided RHEL version + iso_scan_mountpoint = '/var/lib/leapp/iso_scan_mountpoint' + try: + with LoopMount(source=target_iso_path, target=iso_scan_mountpoint): + required_repositories = ('BaseOS', 'AppStream') + + # Check what required repositories are present in the root of the ISO + iso_contents = os.listdir(iso_scan_mountpoint) + present_repositories = [req_repo for req_repo in required_repositories if req_repo in iso_contents] + + # Create custom repository information about the repositories found in the root of the ISO + iso_repos = [] + for repo_dir in present_repositories: + baseurl = 'file://' + os.path.join(iso_mountpoint, repo_dir) + iso_repo = CustomTargetRepository(name=repo_dir, baseurl=baseurl, repoid=repo_dir) + api.produce(iso_repo) + iso_repos.append(iso_repo) + + rhel_version = determine_rhel_version_from_iso_mountpoint(iso_scan_mountpoint) + + api.produce(TargetOSInstallationImage(path=target_iso_path, + repositories=iso_repos, + mountpoint=iso_mountpoint, + rhel_version=rhel_version, + was_mounted_successfully=True)) + except MountError: + # Do not analyze the situation any further as ISO checks will be done by another actor + iso_mountpoint = '/iso' + api.produce(TargetOSInstallationImage(path=target_iso_path, + repositories=[], + mountpoint=iso_mountpoint, + was_mounted_successfully=False)) diff --git a/repos/system_upgrade/common/actors/scantargetiso/tests/test_scan_target_iso.py b/repos/system_upgrade/common/actors/scantargetiso/tests/test_scan_target_iso.py new file mode 100644 index 0000000..4dd0a12 --- /dev/null +++ b/repos/system_upgrade/common/actors/scantargetiso/tests/test_scan_target_iso.py @@ -0,0 +1,220 @@ +import contextlib +import os +from functools import partial + +import pytest + +from leapp.libraries.actor import scan_target_os_iso +from leapp.libraries.common.mounting import MountError +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import CustomTargetRepository, TargetOSInstallationImage + + +def fail_if_called(fail_reason, *args, **kwargs): + assert False, fail_reason + + +def test_determine_rhel_version_determination_unexpected_iso_structure_or_invalid_mountpoint(monkeypatch): + iso_mountpoint = '/some/mountpoint' + + run_mocked = partial(fail_if_called, + 'No commands should be called when mounted ISO mountpoint has unexpected structure.') + monkeypatch.setattr(scan_target_os_iso, 'run', run_mocked) + + def isdir_mocked(path): + assert path == '/some/mountpoint/BaseOS/Packages', 'Only the contents of BaseOS/Packages should be examined.' + return False + + monkeypatch.setattr(os.path, 'isdir', isdir_mocked) + + determined_version = scan_target_os_iso.determine_rhel_version_from_iso_mountpoint(iso_mountpoint) + assert not determined_version + + +def test_determine_rhel_version_valid_iso(monkeypatch): + iso_mountpoint = '/some/mountpoint' + + def isdir_mocked(path): + return True + + def listdir_mocked(path): + assert path == '/some/mountpoint/BaseOS/Packages', 'Only the contents of BaseOS/Packages should be examined.' + return ['xz-5.2.4-4.el8_6.x86_64.rpm', + 'libmodman-2.0.1-17.el8.i686.rpm', + 'redhat-release-8.7-0.3.el8.x86_64.rpm', + 'redhat-release-eula-8.7-0.3.el8.x86_64.rpm'] + + def run_mocked(cmd, *args, **kwargs): + rpm2cpio_output = 'rpm2cpio_output' + if cmd[0] == 'rpm2cpio': + assert cmd == ['rpm2cpio', '/some/mountpoint/BaseOS/Packages/redhat-release-8.7-0.3.el8.x86_64.rpm'] + return {'stdout': rpm2cpio_output} + if cmd[0] == 'cpio': + assert cmd == ['cpio', '--extract', '--to-stdout', './etc/redhat-release'] + assert kwargs['stdin'] == rpm2cpio_output + return {'stdout': 'Red Hat Enterprise Linux Server release 7.9 (Maipo)'} + raise ValueError('Unexpected command has been called.') + + monkeypatch.setattr(os.path, 'isdir', isdir_mocked) + monkeypatch.setattr(os, 'listdir', listdir_mocked) + monkeypatch.setattr(scan_target_os_iso, 'run', run_mocked) + + determined_version = scan_target_os_iso.determine_rhel_version_from_iso_mountpoint(iso_mountpoint) + assert determined_version == '7.9' + + +def test_determine_rhel_version_valid_iso_no_rh_release(monkeypatch): + iso_mountpoint = '/some/mountpoint' + + def isdir_mocked(path): + return True + + def listdir_mocked(path): + assert path == '/some/mountpoint/BaseOS/Packages', 'Only the contents of BaseOS/Packages should be examined.' + return ['xz-5.2.4-4.el8_6.x86_64.rpm', + 'libmodman-2.0.1-17.el8.i686.rpm', + 'redhat-release-eula-8.7-0.3.el8.x86_64.rpm'] + + run_mocked = partial(fail_if_called, 'No command should be called if the redhat-release package is not present.') + + monkeypatch.setattr(os.path, 'isdir', isdir_mocked) + monkeypatch.setattr(os, 'listdir', listdir_mocked) + monkeypatch.setattr(scan_target_os_iso, 'run', run_mocked) + + determined_version = scan_target_os_iso.determine_rhel_version_from_iso_mountpoint(iso_mountpoint) + assert determined_version == '' + + +def test_determine_rhel_version_rpm_extract_fails(monkeypatch): + iso_mountpoint = '/some/mountpoint' + + def isdir_mocked(path): + return True + + def listdir_mocked(path): + assert path == '/some/mountpoint/BaseOS/Packages', 'Only the contents of BaseOS/Packages should be examined.' + return ['redhat-release-8.7-0.3.el8.x86_64.rpm'] + + def run_mocked(cmd, *args, **kwargs): + raise CalledProcessError(message='Ooops.', command=cmd, result=2) + + monkeypatch.setattr(os.path, 'isdir', isdir_mocked) + monkeypatch.setattr(os, 'listdir', listdir_mocked) + monkeypatch.setattr(scan_target_os_iso, 'run', run_mocked) + + determined_version = scan_target_os_iso.determine_rhel_version_from_iso_mountpoint(iso_mountpoint) + assert determined_version == '' + + +@pytest.mark.parametrize('etc_rh_release_contents', ('', + 'Red Hat Enterprise Linux Server', + 'Fedora release 35 (Thirty Five)')) +def test_determine_rhel_version_unexpected_etc_rh_release_contents(monkeypatch, etc_rh_release_contents): + iso_mountpoint = '/some/mountpoint' + + def isdir_mocked(path): + return True + + def listdir_mocked(path): + assert path == '/some/mountpoint/BaseOS/Packages', 'Only the contents of BaseOS/Packages should be examined.' + return ['redhat-release-8.7-0.3.el8.x86_64.rpm'] + + def run_mocked(cmd, *args, **kwargs): + if cmd[0] == 'rpm2cpio': + return {'stdout': 'rpm2cpio_output'} + if cmd[0] == 'cpio': + return {'stdout': etc_rh_release_contents} + raise ValueError('Actor called an unexpected command: {0}'.format(cmd)) + + monkeypatch.setattr(os.path, 'isdir', isdir_mocked) + monkeypatch.setattr(os, 'listdir', listdir_mocked) + monkeypatch.setattr(scan_target_os_iso, 'run', run_mocked) + + determined_version = scan_target_os_iso.determine_rhel_version_from_iso_mountpoint(iso_mountpoint) + assert determined_version == '' + + +@pytest.mark.parametrize('iso_envar_set', (True, False)) +def test_iso_detection_with_no_iso(monkeypatch, iso_envar_set): + envars = {'LEAPP_TARGET_ISO': '/target_iso'} if iso_envar_set else {} + mocked_actor = CurrentActorMocked(envars=envars) + monkeypatch.setattr(api, 'current_actor', mocked_actor) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + scan_target_os_iso.inform_ipu_about_request_to_use_target_iso() + assert bool(api.produce.called) == iso_envar_set + + +def test_iso_mounting_failed(monkeypatch): + envars = {'LEAPP_TARGET_ISO': '/target_iso'} + mocked_actor = CurrentActorMocked(envars=envars) + monkeypatch.setattr(api, 'current_actor', mocked_actor) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + def raise_mount_error_when_called(): + raise MountError('MountError') + + monkeypatch.setattr(scan_target_os_iso, 'LoopMount', raise_mount_error_when_called) + + scan_target_os_iso.inform_ipu_about_request_to_use_target_iso() + assert api.produce.called + + assert len(api.produce.model_instances) == 1 + assert not api.produce.model_instances[0].was_mounted_successfully + + +@pytest.mark.parametrize(('repodirs_in_iso', 'expected_repoids'), + (((), ()), + (('BaseOS',), ('BaseOS',)), + (('BaseOS', 'AppStream'), ('BaseOS', 'AppStream')), + (('BaseOS', 'AppStream', 'UnknownRepo'), ('BaseOS', 'AppStream')))) +def test_iso_repository_detection(monkeypatch, repodirs_in_iso, expected_repoids): + iso_path = '/target_iso' + envars = {'LEAPP_TARGET_ISO': iso_path} + mocked_actor = CurrentActorMocked(envars=envars) + + @contextlib.contextmanager + def always_successful_loop_mount(*args, **kwargs): + yield + + def mocked_os_path_exits(path): + if path == iso_path: + return True + raise ValueError('Only the ISO path should be probed for existence.') + + def mocked_os_listdir(path): + # Add some extra files as an ISO will always have some extra files in / as the ones parametrizing this test + return list(repodirs_in_iso + ('eula.txt', 'grub', 'imgs')) + + monkeypatch.setattr(api, 'current_actor', mocked_actor) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(scan_target_os_iso, 'LoopMount', always_successful_loop_mount) + monkeypatch.setattr(os.path, 'exists', mocked_os_path_exits) + monkeypatch.setattr(os, 'listdir', mocked_os_listdir) + monkeypatch.setattr(scan_target_os_iso, 'determine_rhel_version_from_iso_mountpoint', lambda iso_mountpoint: '7.9') + + scan_target_os_iso.inform_ipu_about_request_to_use_target_iso() + + produced_msgs = api.produce.model_instances + assert len(produced_msgs) == 1 + len(expected_repoids) + + produced_custom_repo_msgs = [] + target_iso_msg = None + for produced_msg in produced_msgs: + if isinstance(produced_msg, CustomTargetRepository): + produced_custom_repo_msgs.append(produced_msg) + else: + assert not target_iso_msg, 'Actor is expected to produce only one TargetOSInstallationImage msg' + target_iso = produced_msg + + # Do not explicitly instantiate model instances of what we expect the model instance to look like. Instead check + # for expected structural properties, leaving the actor implementation flexibility (e.g. choice of the mountpoint) + iso_mountpoint = target_iso.mountpoint + + assert target_iso.was_mounted_successfully + assert target_iso.rhel_version == '7.9' + + expected_repos = {(repoid, 'file://' + os.path.join(iso_mountpoint, repoid)) for repoid in expected_repoids} + actual_repos = {(repo.repoid, repo.baseurl) for repo in produced_custom_repo_msgs} + assert expected_repos == actual_repos diff --git a/repos/system_upgrade/common/actors/scanzfcp/actor.py b/repos/system_upgrade/common/actors/scanzfcp/actor.py new file mode 100644 index 0000000..9817fdc --- /dev/null +++ b/repos/system_upgrade/common/actors/scanzfcp/actor.py @@ -0,0 +1,24 @@ + +from leapp.actors import Actor +from leapp.libraries.actor import scanzfcp +from leapp.models import TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanZFCP(Actor): + """ + In case of s390x architecture, check whether ZFCP is used. + + The current check is based just on existence of the /etc/zfcp.conf file. + If it exists, produce UpgradeInitramfsTasks msg to ensure the file + is available inside the target userspace to be able to generate the + upgrade init ramdisk correctly. + """ + + name = 'scanzfcp' + consumes = () + produces = (TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scanzfcp.process() diff --git a/repos/system_upgrade/common/actors/scanzfcp/libraries/scanzfcp.py b/repos/system_upgrade/common/actors/scanzfcp/libraries/scanzfcp.py new file mode 100644 index 0000000..72f83f8 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanzfcp/libraries/scanzfcp.py @@ -0,0 +1,25 @@ +import os + +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api +from leapp.models import CopyFile, TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks + +ZFCP_CONF = '/etc/zfcp.conf' + + +def process(): + if not architecture.matches_architecture(architecture.ARCH_S390X): + return + copy_files = [] + if os.path.isfile(ZFCP_CONF): + # the file has to be copied into the targetuserspace container first, + # then it can be included into the initramfs ==> both messages are + # needed to be produced + copy_files = [CopyFile(src=ZFCP_CONF)] + api.produce(UpgradeInitramfsTasks(include_files=[ZFCP_CONF])) + else: + api.current_logger().info( + "The {} file has not been discovered. ZFCP not used." + .format(ZFCP_CONF) + ) + api.produce(TargetUserSpaceUpgradeTasks(copy_files=copy_files, install_rpms=['s390utils-core'])) diff --git a/repos/system_upgrade/common/actors/scanzfcp/tests/unit_test_scanzfcp.py b/repos/system_upgrade/common/actors/scanzfcp/tests/unit_test_scanzfcp.py new file mode 100644 index 0000000..1b1f840 --- /dev/null +++ b/repos/system_upgrade/common/actors/scanzfcp/tests/unit_test_scanzfcp.py @@ -0,0 +1,59 @@ +import os + +import pytest + +from leapp.libraries.actor import scanzfcp +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked, produce_mocked +from leapp.models import CopyFile, TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks + + +def test_zfcp_exists(monkeypatch): + monkeypatch.setattr(scanzfcp.api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_S390X)) + monkeypatch.setattr(scanzfcp.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(scanzfcp.api, 'produce', produce_mocked()) + monkeypatch.setattr(os.path, 'isfile', lambda dummy: True) + scanzfcp.process() + assert not scanzfcp.api.current_logger.infomsg + assert scanzfcp.api.produce.called == 2 + tusut_flag = False + uit_flag = False + for msg in scanzfcp.api.produce.model_instances: + if isinstance(msg, TargetUserSpaceUpgradeTasks): + assert [CopyFile(src=scanzfcp.ZFCP_CONF)] == msg.copy_files + assert msg.install_rpms == ['s390utils-core'] + tusut_flag = True + elif isinstance(msg, UpgradeInitramfsTasks): + assert [scanzfcp.ZFCP_CONF] == msg.include_files + uit_flag = True + assert tusut_flag and uit_flag + + +def test_zfcp_not_found(monkeypatch): + monkeypatch.setattr(scanzfcp.api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_S390X)) + monkeypatch.setattr(scanzfcp.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(scanzfcp.os.path, 'isfile', lambda dummy: False) + monkeypatch.setattr(scanzfcp.api, 'produce', produce_mocked()) + scanzfcp.process() + assert scanzfcp.api.current_logger.infomsg + assert scanzfcp.api.produce.called == 1 + assert len(scanzfcp.api.produce.model_instances) == 1 + assert isinstance(scanzfcp.api.produce.model_instances[0], TargetUserSpaceUpgradeTasks) + assert scanzfcp.api.produce.model_instances[0].install_rpms == ['s390utils-core'] + assert not scanzfcp.api.produce.model_instances[0].copy_files + + +@pytest.mark.parametrize('isfile', [True, False]) +@pytest.mark.parametrize('arch', [ + architecture.ARCH_X86_64, + architecture.ARCH_ARM64, + architecture.ARCH_PPC64LE, +]) +def test_non_ibmz_arch(monkeypatch, isfile, arch): + monkeypatch.setattr(scanzfcp.api, 'current_actor', CurrentActorMocked(arch=arch)) + monkeypatch.setattr(scanzfcp.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(scanzfcp.api, 'produce', produce_mocked()) + monkeypatch.setattr(os.path, 'isfile', lambda dummy: isfile) + scanzfcp.process() + assert not scanzfcp.api.current_logger.infomsg + assert not scanzfcp.api.produce.called diff --git a/repos/system_upgrade/common/actors/scheduleselinuxrelabeling/actor.py b/repos/system_upgrade/common/actors/scheduleselinuxrelabeling/actor.py new file mode 100644 index 0000000..08a4464 --- /dev/null +++ b/repos/system_upgrade/common/actors/scheduleselinuxrelabeling/actor.py @@ -0,0 +1,50 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import SelinuxRelabelDecision +from leapp.reporting import create_report, Report +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag + +COMMON_REPORT_TAGS = [reporting.Groups.SELINUX] + +related = [reporting.RelatedResource('file', '/.autorelabel')] + + +class ScheduleSeLinuxRelabeling(Actor): + """ + Schedule SELinux relabelling. + + If SELinux status was set to permissive or enforcing, a relabelling is necessary. + """ + + name = 'schedule_se_linux_relabelling' + consumes = (SelinuxRelabelDecision,) + produces = (Report,) + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + for decision in self.consume(SelinuxRelabelDecision): + if decision.set_relabel: + try: + with open('/.autorelabel', 'w'): + pass + create_report([ + reporting.Title('SElinux scheduled for relabelling'), + reporting.Summary( + '/.autorelabel file touched on root in order to schedule SElinux relabelling.'), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups(COMMON_REPORT_TAGS), + ] + related) + + except EnvironmentError as e: + # FIXME: add an "action required" flag later + create_report([ + reporting.Title('Could not schedule SElinux for relabelling'), + reporting.Summary('/.autorelabel file could not be created: {}.'.format(e)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS), + reporting.Remediation( + hint='Please set autorelabelling manually after the upgrade.' + ), + reporting.Groups([reporting.Groups.FAILURE]) + ] + related) + self.log.critical('Could not schedule SElinux for relabelling: %s.' % e) diff --git a/repos/system_upgrade/common/actors/scheduleselinuxrelabeling/tests/test_scheduleselinuxrelabeling.py b/repos/system_upgrade/common/actors/scheduleselinuxrelabeling/tests/test_scheduleselinuxrelabeling.py new file mode 100644 index 0000000..595b998 --- /dev/null +++ b/repos/system_upgrade/common/actors/scheduleselinuxrelabeling/tests/test_scheduleselinuxrelabeling.py @@ -0,0 +1,31 @@ +import os + +import pytest + +from leapp.models import SelinuxRelabelDecision +from leapp.snactor.fixture import current_actor_context + +# TODO These tests modifies the system + + +@pytest.mark.skipif( + os.getenv("DESTRUCTIVE_TESTING", False) in [False, "0"], + reason='Test disabled by default because it would modify the system', +) +def test_schedule_no_relabel(current_actor_context): + current_actor_context.feed(SelinuxRelabelDecision(set_relabel=False)) + current_actor_context.run() + assert not os.path.isfile('/.autorelabel') + + +@pytest.mark.skipif( + os.getenv("DESTRUCTIVE_TESTING", False) in [False, "0"], + reason='Test disabled by default because it would modify the system', +) +def test_schedule_relabel(current_actor_context): + current_actor_context.feed(SelinuxRelabelDecision(set_relabel=True)) + current_actor_context.run() + assert os.path.isfile('/.autorelabel') + + # lets cleanup so we possibly not affect further testing + os.unlink('/.autorelabel') diff --git a/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/Makefile b/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/Makefile new file mode 100644 index 0000000..fba8399 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/Makefile @@ -0,0 +1,2 @@ +install-deps: + yum install -y policycoreutils /usr/sbin/semanage container-selinux diff --git a/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/actor.py b/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/actor.py new file mode 100644 index 0000000..52502e9 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/actor.py @@ -0,0 +1,181 @@ +import os +import shutil + +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.actor import selinuxapplycustom +from leapp.libraries.actor.selinuxapplycustom import BACKUP_DIRECTORY +from leapp.libraries.stdlib import CalledProcessError, run +from leapp.models import SELinuxCustom, SELinuxModules +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + +WORKING_DIRECTORY = '/tmp/selinux/' + + +class SELinuxApplyCustom(Actor): + """ + Re-apply SELinux customizations from the original RHEL installation + + Re-apply SELinux policy customizations (custom policy modules and changes + introduced by semanage). Any changes (due to incompatibility with + SELinux policy in the upgraded system) are reported to user. + """ + name = 'selinuxapplycustom' + consumes = (SELinuxCustom, SELinuxModules) + produces = (reporting.Report,) + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + # save progress for repoting purposes + failed_modules = [] + failed_custom = [] + + # clear working directory + shutil.rmtree(WORKING_DIRECTORY, ignore_errors=True) + + try: + os.mkdir(WORKING_DIRECTORY) + except OSError: + self.log.warning('Failed to create working directory! Aborting.') + return + + # get list of policy modules after the upgrade + installed_modules = set( + [module[0] for module in selinuxapplycustom.list_selinux_modules()] + ) + + # import custom SElinux modules + for semodules in self.consume(SELinuxModules): + self.log.info( + 'Processing custom SELinux policy modules. Count: {}.'.format(len(semodules.modules)) + ) + # check for presence of udica templates and make sure to install their latest versions + selinuxapplycustom.install_udica_templates(semodules.templates) + + if not semodules.modules: + continue + + command = ['semodule'] + for module in semodules.modules: + # Skip modules that are already installed. This prevents DSP modules installed with wrong + # priority (usually 400) from being overwritten by an older version + if module.name in installed_modules: + self.log.info( + 'Skipping module {} on priority {} because it is already installed.'.format( + module.name, + module.priority + ) + ) + continue + + # cil module files need to be extracted to disk in order to be installed + cil_filename = os.path.join( + WORKING_DIRECTORY, '{}.cil'.format(module.name) + ) + self.log.info( + 'Installing module {} on priority {}.'.format(module.name, module.priority) + ) + if module.removed: + self.log.warning( + '{}: The following lines where removed because of incompatibility:\n{}'.format( + module.name, + '\n'.join(module.removed) + ) + ) + # write module content to disk + try: + with open(cil_filename, 'w') as cil_file: + cil_file.write(module.content) + except OSError as e: + self.log.warning('Error writing {} : {}'.format(cil_filename, e)) + continue + + command.extend(['-X', str(module.priority), '-i', cil_filename]) + + try: + run(command) + except CalledProcessError as e: + self.log.warning( + 'Error installing modules in a single transaction:' + '{}\nRetrying -- now each module will be installed separately.'.format(e.stderr) + ) + # Retry, but install each module separately + for module in semodules.modules: + if module.name in installed_modules: + continue + cil_filename = os.path.join( + WORKING_DIRECTORY, '{}.cil'.format(module.name) + ) + self.log.info( + 'Installing module {} on priority {}.'.format(module.name, module.priority) + ) + try: + run(['semodule', + '-X', str(module.priority), + '-i', cil_filename + ] + ) + except CalledProcessError as e: + self.log.warning('Error installing module: {}'.format(e.stderr)) + failed_modules.append(module.name) + selinuxapplycustom.back_up_failed(cil_filename) + continue + + # import SELinux customizations collected by "semanage export" + for custom in self.consume(SELinuxCustom): + self.log.info( + 'Importing the following SELinux customizations collected by "semanage export":\n{}'.format( + '\n'.join(custom.commands) + ) + ) + # import customizations + try: + run(['semanage', 'import'], stdin='\n'.join(custom.commands)) + except CalledProcessError as e: + self.log.warning( + 'Error importing SELinux customizations in a single transaction:' + '{}\nRetrying -- now each command will be applied separately.'.format(e.stderr) + ) + for cmd in custom.commands: + try: + run(['semanage', 'import'], stdin='{}\n'.format(cmd)) + except CalledProcessError as e: + self.log.warning('Error applying "semanage {}": {}'.format(cmd, e.stderr)) + failed_custom.append(cmd) + continue + + # clean-up + shutil.rmtree(WORKING_DIRECTORY, ignore_errors=True) + + if failed_modules or failed_custom: + summary = '' + if failed_modules: + summary = ( + 'The following policy modules couldn\'t be installed: {}.\n' + 'You can review their content in {}.'.format( + ', '.join(failed_modules), BACKUP_DIRECTORY + ) + ) + if failed_custom: + if summary: + summary = '{}\n\n'.format(summary) + summary = '{}The following commands couldn\'t be applied:\n{}'.format( + summary, '\n'.join(['semanage {}'.format(x) for x in failed_custom]) + ) + + reporting.create_report( + [ + reporting.Title( + 'SELinux failed to reapply some customizations after the upgrade.' + ), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SECURITY, reporting.Groups.SELINUX]), + ] + + [ + reporting.RelatedResource( + 'file', os.path.join(BACKUP_DIRECTORY, '{}.cil'.format(x)) + ) + for x in failed_modules + ] + ) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/libraries/selinuxapplycustom.py b/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/libraries/selinuxapplycustom.py new file mode 100644 index 0000000..5113f71 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/libraries/selinuxapplycustom.py @@ -0,0 +1,72 @@ +import os +import re +import shutil + +from leapp.libraries.stdlib import api, CalledProcessError, run + +BACKUP_DIRECTORY = '/var/lib/selinux/leapp-backup' + + +def list_selinux_modules(): + """ + Produce list of SELinux policy modules + + Returns list of tuples (name,priority) + """ + try: + semodule = run(['semodule', '-lfull'], split=True) + except CalledProcessError: + api.current_logger().warning('Cannot get list of selinux modules') + return [] + + modules = [] + for module in semodule.get('stdout', []): + # Matching line such as "100 zebra pp" + # "400 virt_supplementary pp disabled" + # " [disabled]" + m = re.match(r'([0-9]+)\s+([\w-]+)\s+([\w-]+)(?:\s+([\w]+))?\s*\Z', module) + if not m: + # invalid output of "semodule -lfull" + api.current_logger().warning('Invalid output of "semodule -lfull": {}'.format(module)) + continue + modules.append((m.group(2), m.group(1))) + + return modules + + +# determine which (if any) udica templates where installed and install their new versions +def install_udica_templates(templates): + if not templates: + return + + command = ['semodule'] + for module in templates: + command.extend( + [ + '-X', + str(module.priority), + '-i', + '/usr/share/udica/templates/{}.cil'.format(module.name) + ] + ) + + try: + run(command) + except CalledProcessError as e: + api.current_logger().warning('Error installing udica templates: {}'.format(e.stderr)) + + +# move given file to the backup directory so that users can access it after the upgrade +def back_up_failed(module_path): + # make sure the backup dir exists + if not os.path.isdir(BACKUP_DIRECTORY): + try: + os.mkdir(BACKUP_DIRECTORY) + except OSError: + api.current_logger().warning('Failed to create backup directory!') + return + try: + shutil.move(module_path, BACKUP_DIRECTORY) + except OSError: + api.current_logger().warning('Failed to back-up: {}!'.format(module_path)) + return diff --git a/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/tests/component_test_selinuxapplycustom.py b/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/tests/component_test_selinuxapplycustom.py new file mode 100644 index 0000000..0b340da --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxapplycustom/tests/component_test_selinuxapplycustom.py @@ -0,0 +1,99 @@ +import os + +import pytest + +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SELinuxCustom, SELinuxFacts, SELinuxModule, SELinuxModules, SELinuxRequestRPMs +from leapp.reporting import Report + +TEST_MODULES = [ + ["400", "mock1"], + ["99", "mock1"], + ["200", "mock1"], + ["400", "mock2"], + ["999", "mock3"], + ["400", "permissive_abrt_t"] +] + +TEST_TEMPLATES = [ + ["200", "base_container"], + ["200", "home_container"], +] + +# [0] will be passed to the actor as "removed" +# [1] will not be passed to the actor and should not be removed +# rest are valid and should be applied by the actor +SEMANAGE_COMMANDS = [ + ['fcontext', '-t', 'cgdcbxd_var_run_t', "'/ganesha(/.*)?'"], + ['user', 'yolo', '-R', 'user_r'], + ['fcontext', '-t', 'httpd_sys_content_t', "'/web(/.*)?'"], + ['port', '-t', 'http_port_t', '-p', 'udp', '81'] +] + + +def _run_cmd(cmd, logmsg="", split=True): + try: + return run(cmd, split=split).get("stdout", "") + except CalledProcessError as e: + if logmsg: + api.current_logger().warning("{}: {}".format(logmsg, e.stderr)) + return None + + +def find_module_semodule(semodule_lfull, name, priority): + return next((line for line in semodule_lfull if (name in line and priority in line)), None) + + +def find_semanage_rule(rules, rule): + return next((r for r in rules if all(word in r for word in rule)), None) + + +@pytest.fixture(scope="function") +def destructive_selinux_env(): + # apply SEMANAGE_COMMANDS[1] so that we can test that the actor did not remove it + _run_cmd(["semanage", SEMANAGE_COMMANDS[1][0], "-a"] + SEMANAGE_COMMANDS[1][1:], + "Error applying selinux customizations before test") + + yield + + semodule_command = ["semodule"] + for priority, module in TEST_MODULES: + semodule_command.extend(["-X", priority, "-r", module]) + _run_cmd(semodule_command, "Error removing modules after testing!") + + for command in SEMANAGE_COMMANDS: + _run_cmd(["semanage", command[0], "-d"] + [x.strip('"\'') for x in command[1:]], + "Failed to remove SELinux customizations after testing") + + +@pytest.mark.skipif(os.getenv("DESTRUCTIVE_TESTING", False) in [False, "0"], + reason='Test disabled by default because it would modify the system') +def test_SELinuxApplyCustom(current_actor_context, destructive_selinux_teardown): + + semodule_list = [SELinuxModule(name=module, priority=int(prio), + content="(allow domain proc_type (file (getattr open read)))", removed=[]) + for (prio, module) in TEST_MODULES] + template_list = [SELinuxModule(name=module, priority=int(prio), + content="", removed=[]) + for (prio, module) in TEST_TEMPLATES] + + commands = [" ".join([c[0], "-a"] + c[1:]) for c in SEMANAGE_COMMANDS[2:]] + semanage_removed = [" ".join([SEMANAGE_COMMANDS[0][0], "-a"] + SEMANAGE_COMMANDS[0][1:])] + + current_actor_context.feed(SELinuxModules(modules=semodule_list, templates=template_list)) + current_actor_context.feed(SELinuxCustom(commands=commands, removed=semanage_removed)) + current_actor_context.run() + + semodule_lfull = _run_cmd(["semodule", "-lfull"], + "Error listing selinux modules") + semanage_export = _run_cmd(["semanage", "export"], + "Error listing selinux customizations") + + # check that all reported modules where introduced to the system + for priority, name in TEST_MODULES + TEST_TEMPLATES: + if priority not in ('100', '200'): + assert find_module_semodule(semodule_lfull, name, priority) + # check that all valid commands where introduced to the system (SEMANAGE_COMMANDS[2:]) + # and that SEMANAGE_COMMANDS[1] was not removed + for command in SEMANAGE_COMMANDS[1:-1]: + assert find_semanage_rule(semanage_export, command) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/Makefile b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/Makefile new file mode 100644 index 0000000..820caa7 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/Makefile @@ -0,0 +1,2 @@ +install-deps: + yum install -y policycoreutils /usr/sbin/semanage diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/actor.py b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/actor.py new file mode 100644 index 0000000..23bc9c2 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/actor.py @@ -0,0 +1,55 @@ +from leapp.actors import Actor +from leapp.libraries.actor import selinuxcontentscanner +from leapp.models import RpmTransactionTasks, SELinuxCustom, SELinuxFacts, SELinuxModules, SELinuxRequestRPMs +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class SELinuxContentScanner(Actor): + """ + Scan the system for any SELinux customizations + + Find SELinux policy customizations (custom policy modules and changes + introduced by semanage) and save them in SELinuxModules and SELinuxCustom + models. Customizations that are incompatible with SELinux policy on RHEL-8 + are removed. + """ + + name = 'selinuxcontentscanner' + consumes = (SELinuxFacts,) + produces = (SELinuxModules, SELinuxCustom, SELinuxRequestRPMs, RpmTransactionTasks) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + # exit if SELinux is disabled + for fact in self.consume(SELinuxFacts): + if not fact.enabled: + return + + (semodule_list, template_list, rpms_to_install,) = selinuxcontentscanner.get_selinux_modules() + + self.produce( + SELinuxModules( + modules=semodule_list, + templates=template_list + ) + ) + self.produce( + RpmTransactionTasks( + to_install=rpms_to_install + ) + ) + # this is produced so that we can later verify that the RPMs are present after upgrade + self.produce( + SELinuxRequestRPMs( + to_install=rpms_to_install + ) + ) + + (semanage_valid, semanage_removed,) = selinuxcontentscanner.get_selinux_customizations() + + self.produce( + SELinuxCustom( + commands=semanage_valid, + removed=semanage_removed + ) + ) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/libraries/selinuxcontentscanner.py b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/libraries/selinuxcontentscanner.py new file mode 100644 index 0000000..8f5e31a --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/libraries/selinuxcontentscanner.py @@ -0,0 +1,246 @@ +import os +import re +from shutil import rmtree + +from leapp.libraries.common.config import version +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SELinuxModule + +# types and attributes that where removed between RHEL 7 and 8 +REMOVED_TYPES_EL7 = ["base_typeattr_15", "direct_run_init", "gpgdomain", "httpd_exec_scripts", + "httpd_user_script_exec_type", "ibendport_type", "ibpkey_type", "pcmcia_typeattr_2", + "pcmcia_typeattr_3", "pcmcia_typeattr_4", "pcmcia_typeattr_5", "pcmcia_typeattr_6", + "pcmcia_typeattr_7", "sandbox_caps_domain", "sandbox_typeattr_2", "sandbox_typeattr_3", + "sandbox_typeattr_4", "server_ptynode", "systemctl_domain", "user_home_content_type", + "userhelper_type", "cgdcbxd_exec_t", "cgdcbxd_t", "cgdcbxd_unit_file_t", "cgdcbxd_var_run_t", + "ganesha_use_fusefs", "ganesha_exec_t", "ganesha_t", "ganesha_tmp_t", "ganesha_unit_file_t", + "ganesha_var_log_t", "ganesha_var_run_t", "ganesha_use_fusefs"] + +# types and attributes that where removed between RHEL 8 and 9 +REMOVED_TYPES_EL8 = ["cephfs_t", "cgdcbxd_exec_t", "cgdcbxd_t", "cgdcbxd_unit_file_t", "cgdcbxd_var_run_t", + "cloud_what_var_cache_t", "journal_remote_client_packet_t", "journal_remote_port_t", + "journal_remote_server_packet_t", "kdbusfs_t", "logging_syslogd_list_non_security_dirs", + "nvme_device_t", "pcp_pmmgr_exec_t", "pcp_pmmgr_initrc_exec_t", "pcp_pmmgr_t", + "pcp_pmwebd_exec_t", "pcp_pmwebd_initrc_exec_t", "pcp_pmwebd_t", "rpm_transition_domain", + "systemd_journal_upload_exec_t", "systemd_journal_upload_t", + "systemd_journal_upload_var_lib_t", "virt_qmf_exec_t", "virt_qmf_t"] + +# types, attributes and boolean contained in container-selinux +CONTAINER_TYPES = ["container_connect_any", "container_runtime_t", "container_runtime_exec_t", "spc_t", + "container_auth_t", "container_auth_exec_t", "spc_var_run_t", "container_var_lib_t", + "container_home_t", "container_config_t", "container_lock_t", "container_log_t", + "container_runtime_tmp_t", "container_runtime_tmpfs_t", "container_var_run_t", + "container_plugin_var_run_t", "container_unit_file_t", "container_devpts_t", "container_share_t", + "container_port_t", "container_build_t", "container_logreader_t", "docker_log_t", "docker_tmpfs_t", + "docker_share_t", "docker_t", "docker_lock_t", "docker_home_t", "docker_exec_t", + "docker_unit_file_t", "docker_devpts_t", "docker_config_t", "docker_tmp_t", "docker_auth_exec_t", + "docker_plugin_var_run_t", "docker_port_t", "docker_auth_t", "docker_var_run_t", + "docker_var_lib_t", "container_domain", "container_net_domain"] + +WORKING_DIRECTORY = "/tmp/selinux/" + +# list of policy modules used by udica +UDICA_TEMPLATES = {"base_container", "config_container", "home_container", "log_container", + "net_container", "tmp_container", "tty_container", "virt_container", "x_container"} + + +def check_module(name): + """ + Check if given module contains one of removed types and comment out corresponding lines. + + The function expects a text file "$name" containing cil policy + to be present in the current directory. + + Returns a list of invalid lines. + """ + # get removed_types list based on upgrade path + removed_types = REMOVED_TYPES_EL7 if version.get_source_major_version() == "7" else REMOVED_TYPES_EL8 + + try: + removed = run(["grep", "-w", "-E", "|".join(removed_types), name], split=True) + # Add ";" at the beginning of invalid lines (comment them out) + run(["sed", "-i", "/{}/s/^/;/g".format(r"\|".join(removed_types)), name]) + return removed.get("stdout", []) + except CalledProcessError: + return [] + + +def list_selinux_modules(): + """ + Produce list of SELinux policy modules + + Returns list of tuples (name,priority) + """ + try: + semodule = run(['semodule', '-lfull'], split=True) + except CalledProcessError as e: + api.current_logger().warning('Cannot get list of selinux modules: {}'.format(e)) + return [] + + modules = [] + for module in semodule.get("stdout", []): + # Matching line such as "100 zebra pp " + # " " + m = re.match(r'([0-9]+)\s+([\w-]+)\s+([\w-]+)\s*\Z', module) + if not m: + # invalid output of "semodule -lfull" + api.current_logger().warning('Invalid output of "semodule -lfull": {}'.format(module)) + continue + modules.append((m.group(2), m.group(1))) + + return modules + + +def get_selinux_modules(): + """ + Read all custom SELinux policy modules from the system + + Returns a tuple (modules, install_rpms) + where "modules" is a list of "SELinuxModule" objects + and "install_rpms" is a list of RPMs + that should be installed during the upgrade + + """ + + modules = list_selinux_modules() + # custom selinux policy modules + semodule_list = [] + # udica templates + template_list = [] + # list of rpms containing policy modules to be installed on RHEL 8 + install_rpms = [] + + # modules need to be extracted into cil files + # cd to /tmp/selinux and save working directory so that we can return there + + # clear working directory + rmtree(WORKING_DIRECTORY, ignore_errors=True) + + try: + wd = os.getcwd() + os.mkdir(WORKING_DIRECTORY) + os.chdir(WORKING_DIRECTORY) + except OSError: + api.current_logger().warning("Failed to access working directory! Aborting.") + return ([], [], []) + + for (name, priority) in modules: + # Udica templates should not be transferred, we only need a list of their + # names and priorities so that we can reinstall their latest verisions + if name in UDICA_TEMPLATES: + template_list.append( + SELinuxModule( + name=name, + priority=int(priority), + content='', + removed=[], + ) + ) + continue + + if priority in ["100", "200"]: + # 100 - module from selinux-policy-* package + # 200 - DSP module - installed by an RPM - handled by PES + continue + # extract custom module and save it to SELinuxModule object + module_file = name + ".cil" + try: + run(["semodule", "-c", "-X", priority, "-E", name]) + # check if the module contains invalid types and remove them if so + removed = check_module(module_file) + + # get content of the module + try: + with open(module_file) as cil_file: + module_content = cil_file.read() + except OSError as e: + api.current_logger().warning("Error reading {}.cil : {}".format(name, e)) + continue + + semodule_list.append( + SELinuxModule( + name=name, + priority=int(priority), + content=module_content, + removed=removed, + ) + ) + except CalledProcessError: + api.current_logger().warning("Module {} could not be extracted!".format(name)) + continue + # rename the cil module file so that it does not clash + # with the same module on different priority + try: + os.rename(module_file, "{}_{}".format(name, priority)) + except OSError: + api.current_logger().warning( + "Failed to rename module file {} to include priority.".format(name) + ) + + # Udica templates where moved to container-selinux package. + # Make sure it is installed so that the templates can be reinstalled + if template_list: + install_rpms.append("container-selinux") + + # Process customizations introduced by "semanage" + # this is necessary for check if container-selinux needs to be installed + try: + run(["semanage", "export", "-f", "semanage"]) + except CalledProcessError: + pass + # Check if modules contain any type, attribute, or boolean contained in container-selinux and install it if so + # This is necessary since container policy module is part of selinux-policy-targeted in RHEL 7 (but not in RHEL 8) + try: + run(["grep", "-w", "-r", "-E", "|".join(CONTAINER_TYPES)], split=False) + # Request "container-selinux" to be installed since container types where used in local customizations + # and container-selinux policy was removed from selinux-policy-* packages + install_rpms.append("container-selinux") + except CalledProcessError: + # expected, ignore exception + pass + + try: + os.chdir(wd) + except OSError: + pass + rmtree(WORKING_DIRECTORY, ignore_errors=True) + + return (semodule_list, template_list, list(set(install_rpms))) + + +def get_selinux_customizations(): + """ + Extract local SELinux customizations introduced by semanage command + + Returns tuple (semanage_valid, semanage_removed) + where "semanage_valid" is a list of semanage commands + which should be safe to re-apply on RHEL 8 system + and "semanage_removed" is a list of commands that + will no longer be valid after system upgrade + """ + removed_types = REMOVED_TYPES_EL7 if version.get_source_major_version() == "7" else REMOVED_TYPES_EL8 + + semanage_removed = [] + semanage_valid = [] + try: + # Collect SELinux customizations and select the ones that + # can be reapplied after the upgrade + semanage = run(["semanage", "export"], split=True) + for line in semanage.get("stdout", []): + # Skip "deleteall" commands to avoid removing customizations + # done by package scripts during upgrade + if " -D" in line: + continue + for setype in removed_types: + if setype in line: + semanage_removed.append(line) + break + else: + semanage_valid.append(line) + + except CalledProcessError as e: + api.current_logger().warning( + "Failed to export SELinux customizations: {}".format(e.stderr) + ) + + return (semanage_valid, semanage_removed) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/component_test_selinuxcontentscanner.py b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/component_test_selinuxcontentscanner.py new file mode 100644 index 0000000..faa2e1b --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/component_test_selinuxcontentscanner.py @@ -0,0 +1,113 @@ +import os + +import pytest + +from leapp.libraries.common.config import mock_configs +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SELinuxCustom, SELinuxFacts, SELinuxModule, SELinuxModules, SELinuxRequestRPMs +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +# compat module ensures compatibility with newer systems and is not part of testing +TEST_MODULES = [ + ["400", "mock1"], + ["99", "mock1"], + ["200", "mock1"], + ["400", "mock2"], + ["999", "mock3"], + ["100", "compat"], + ["200", "base_container"] +] + +SEMANAGE_COMMANDS = [ + ['fcontext', '-t', 'httpd_sys_content_t', '"/web(/.*)?"'], + ['fcontext', '-t', 'cgdcbxd_unit_file_t', '"cgdcbxd/(/.*)?"'], + ['port', '-t', 'http_port_t', '-p', 'udp', '81'], + ['permissive', 'abrt_t'] +] + +testmoduledir = "tests/mock_modules/" + + +def _run_cmd(cmd, logmsg="", split=False): + try: + return run(cmd, split=split).get("stdout", "") + except CalledProcessError as e: + # Only report issues when they are explicitly described. + # This way expected failures are not reported. + if logmsg: + api.current_logger().warning("{}: {}".format(logmsg, e.stderr)) + return None + + +@pytest.fixture(scope="function") +def destructive_selinux_env(): + tests_dir = os.path.join(os.path.realpath(__file__).rsplit(os.path.sep, 2)[0], testmoduledir) + for priority, module in TEST_MODULES: + _run_cmd(["semodule", "-X", priority, "-i", os.path.join(tests_dir, module + ".cil")], + "Error installing mock module {} before test".format(module)) + + for command in SEMANAGE_COMMANDS: + _run_cmd(["semanage", command[0], "-a"] + command[1:], + "Error applying selinux customizations before test") + + yield + + for command in SEMANAGE_COMMANDS[:-1]: + _run_cmd(["semanage", command[0], "-d"] + command[1:], + "Error removing selinux customizations after testing") + + for priority, module in reversed(TEST_MODULES + [["400", "permissive_abrt_t"]]): + _run_cmd(["semodule", "-X", priority, "-r", module], + "Error removing selinux module {} after testing".format(module)) + + +def find_module(selinuxmodules, name, priority): + return next((module for module in selinuxmodules.modules + if (module.name == name and module.priority == int(priority))), None) + + +def find_template(selinuxmodules, name, priority): + return next((module for module in selinuxmodules.templates + if (module.name == name and module.priority == int(priority))), None) + + +def find_semanage_rule(rules, rule): + return next((r for r in rules if all(word in r for word in rule)), None) + + +@pytest.mark.skipif(os.getenv("DESTRUCTIVE_TESTING", False) in [False, "0"], + reason='Test disabled by default because it would modify the system') +def test_SELinuxContentScanner(current_actor_context, destructive_selinux_env): + + expected_data = {'policy': 'targeted', + 'mls_enabled': True, + 'enabled': True, + 'runtime_mode': 'enforcing', + 'static_mode': 'enforcing'} + + current_actor_context.feed(SELinuxFacts(**expected_data)) + current_actor_context.run(config_model=mock_configs.CONFIG) + + modules = current_actor_context.consume(SELinuxModules)[0] + assert modules + # check that all modules installed during test setup where reported + for priority, name in TEST_MODULES: + if priority not in ('100', '200'): + assert find_module(modules, name, priority) + # check that udica template was reported + assert find_template(modules, TEST_MODULES[-1][1], TEST_MODULES[-1][0]) + + rpms = current_actor_context.consume(SELinuxRequestRPMs)[0] + assert rpms + + # mock1 contains container related type + assert "container-selinux" in rpms.to_install + + custom = current_actor_context.consume(SELinuxCustom)[0] + assert custom + # The second command contains removed type and should be discarded (in either upgrade path) + assert find_semanage_rule(custom.removed, SEMANAGE_COMMANDS[1]) + # the rest of the commands should be reported (except for the last which will show up in modules) + assert find_semanage_rule(custom.commands, SEMANAGE_COMMANDS[0]) + assert find_semanage_rule(custom.commands, SEMANAGE_COMMANDS[2]) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/base_container.cil b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/base_container.cil new file mode 100644 index 0000000..4664710 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/base_container.cil @@ -0,0 +1,14 @@ +(block container +(type process) +(type socket) +(roletype system_r process) +(typeattributeset domain (process )) +(typeattributeset container_domain (process )) +(typeattributeset svirt_sandbox_domain (process )) +(typeattributeset mcs_constrained_type (process )) +(typeattributeset file_type (socket )) +(allow process socket (sock_file (create open getattr setattr read write rename link unlink ioctl lock append))) +(allow process proc_type (file (getattr open read))) +(allow process cpu_online_t (file (getattr open read))) +(allow container_runtime_t process (key (create link read search setattr view write))) +) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/compat.cil b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/compat.cil new file mode 100644 index 0000000..d49123f --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/compat.cil @@ -0,0 +1,4 @@ +(type cgdcbxd_unit_file_t) +(type cgdcbxd_exec_t) +(type cgdcbxd_var_run_t) +(typeattributeset file_type (cgdcbxd_unit_file_t cgdcbxd_exec_t cgdcbxd_var_run_t)) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock1.cil b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock1.cil new file mode 100644 index 0000000..4a910ba --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock1.cil @@ -0,0 +1,4 @@ +(type mock_type_t) +(typeattributeset domain (mock_type_t)) +(allow mock_type_t proc_type (file (getattr open read))) +(allow mock_type_t container_var_run_t (file (getattr open read))) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock2.cil b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock2.cil new file mode 100644 index 0000000..8d7bfa3 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock2.cil @@ -0,0 +1,6 @@ +(type mock_type2_t) +(typeattributeset direct_run_init (mock_type2_t)) +(allow mock_type_t file_type (file (getattr open read))) +(optional mock2_optional + (allow mock_type_t ganesha_exec_t (file (getattr open read))) +) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock3.cil b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock3.cil new file mode 100644 index 0000000..ce2560e --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/mock_modules/mock3.cil @@ -0,0 +1,3 @@ +(type mock_type3_t) +(typeattributeset domain (mock_type3_t)) +(allow mock_type_t file_type (file (getattr open read))) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/unit_test_selinuxcontentscanner.py b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/unit_test_selinuxcontentscanner.py new file mode 100644 index 0000000..1837c24 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxcontentscanner/tests/unit_test_selinuxcontentscanner.py @@ -0,0 +1,75 @@ +from leapp.libraries.actor import selinuxcontentscanner +from leapp.libraries.common.config import version +from leapp.libraries.stdlib import CalledProcessError + + +class run_mocked(object): + def __init__(self): + self.args = [] + self.called = 0 + + def __call__(self, args, split=True): + self.called += 1 + self.args = args + + if self.args == ['semodule', '-lfull']: + stdout = ["400 permissive_abrt_t cil", + "400 zebra cil", + "300 zebra cil", + "100 vpn pp ", + "099 zebra cil ", + "100 minissdpd pp"] + + elif self.args == ['semanage', 'export']: + stdout = ["boolean -D", + "login -D", + "interface -D", + "user -D", + "port -D", + "node -D", + "fcontext -D", + "module -D", + "boolean -m -1 cron_can_relabel", + "port -a -t http_port_t -p udp 81", + "fcontext -a -f a -t httpd_sys_content_t '/web(/.*)?'", + "fcontext -a -f a -t cgdcbxd_exec_t '/ganesha(/.*)?'"] + + return {'stdout': stdout} + + +class run_mocked_fail(object): + def __init__(self): + self.called = 0 + + def __call__(self, args, split=True): + raise CalledProcessError(self, 1, "Mock error ;)") + + +def test_list_selinux_modules(monkeypatch): + monkeypatch.setattr(selinuxcontentscanner, "run", run_mocked()) + + assert selinuxcontentscanner.list_selinux_modules() == [ + ("permissive_abrt_t", "400"), + ("zebra", "400"), + ("zebra", "300"), + ("vpn", "100"), + ("zebra", "099"), + ("minissdpd", "100"), + ] + + monkeypatch.setattr(selinuxcontentscanner, "run", run_mocked_fail()) + + assert selinuxcontentscanner.list_selinux_modules() == [] + + +def test_get_selinux_customizations(monkeypatch): + monkeypatch.setattr(version, "get_source_major_version", lambda: '8') + monkeypatch.setattr(selinuxcontentscanner, "run", run_mocked()) + + (semanage_valid, semanage_removed) = selinuxcontentscanner.get_selinux_customizations() + + assert len(semanage_valid) == 3 + assert semanage_valid[0] == "boolean -m -1 cron_can_relabel" + assert semanage_valid[1] == "port -a -t http_port_t -p udp 81" + assert semanage_valid[2] == "fcontext -a -f a -t httpd_sys_content_t '/web(/.*)?'" + assert semanage_removed == ["fcontext -a -f a -t cgdcbxd_exec_t '/ganesha(/.*)?'"] diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/Makefile b/repos/system_upgrade/common/actors/selinux/selinuxprepare/Makefile new file mode 100644 index 0000000..820caa7 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/Makefile @@ -0,0 +1,2 @@ +install-deps: + yum install -y policycoreutils /usr/sbin/semanage diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/actor.py b/repos/system_upgrade/common/actors/selinux/selinuxprepare/actor.py new file mode 100644 index 0000000..46a04a7 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor import selinuxprepare +from leapp.models import SELinuxCustom, SELinuxModules +from leapp.tags import IPUWorkflowTag, PreparationPhaseTag + + +class SELinuxPrepare(Actor): + """ + Remove selinux policy customizations before updating selinux-policy* packages + + Policy customizations in the original system could cause policy package + upgrade to fail and therefore need to be removed. + Customizations introduced by semanage are removed first, followed by custom + policy modules gathered by SELinuxContentScanner. + """ + + name = 'selinuxprepare' + consumes = (SELinuxCustom, SELinuxModules) + produces = () + tags = (PreparationPhaseTag, IPUWorkflowTag) + + def process(self): + selinuxprepare.remove_semanage_customizations() + selinuxprepare.remove_custom_modules() diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/libraries/selinuxprepare.py b/repos/system_upgrade/common/actors/selinux/selinuxprepare/libraries/selinuxprepare.py new file mode 100644 index 0000000..953cdd4 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/libraries/selinuxprepare.py @@ -0,0 +1,66 @@ +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SELinuxModules + + +def remove_semanage_customizations(): + # remove SELinux customizations done by semanage -- to be reintroduced after the upgrade + api.current_logger().info('Removing SELinux customizations introduced by semanage.') + + semanage_options = ['login', 'user', 'port', 'interface', 'module', 'node', + 'fcontext', 'boolean', 'ibpkey', 'ibendport'] + # permissive domains are handled by porting modules (permissive -a adds new cil module with priority 400) + for option in semanage_options: + try: + run(['semanage', option, '-D']) + except CalledProcessError: + continue + + +# remove custom SElinux modules - to be reinstalled after the upgrade +def remove_custom_modules(): + # go through all SELinuxModules messages -- in theory there should be only one + for semodules in api.consume(SELinuxModules): + api.current_logger().info('Removing custom SELinux policy modules. Count: {}'.format(len(semodules.modules))) + + # Form a single "semodule" command to remove all given modules at once. + # This will help with any inter-dependencies. + # "semodule" continues removing modules even if it encounters errors - any issues are just printed to stdout + if semodules.modules: + command = ['semodule'] + + for module in semodules.modules: + command.extend(['-X', str(module.priority), '-r', module.name]) + try: + run(command) + except CalledProcessError as e: + api.current_logger().warning( + 'Error removing modules in a single transaction:' + '{}\nRetrying -- now each module will be removed separately.'.format(e.stderr) + ) + # Retry, but remove each module separately + for module in semodules.modules: + try: + run(['semodule', '-X', str(module.priority), '-r', module.name]) + except CalledProcessError as e: + api.current_logger().warning('Failed to remove module {} on priority {}: {}'.format( + module.name, module.priority, e.stderr)) + continue + + remove_udica_templates(semodules.templates) + + +def remove_udica_templates(templates): + if not templates: + return + + api.current_logger().info('Removing "udica" policy templates. Count: {}'.format(len(templates))) + command = ['semodule'] + + for module in templates: + command.extend(['-X', str(module.priority), '-r', module.name]) + try: + run(command) + except CalledProcessError as e: + api.current_logger().warning( + 'Failed to remove some "udica" policy templates: {}'.format(e.stderr) + ) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/component_test_selinuxprepare.py b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/component_test_selinuxprepare.py new file mode 100644 index 0000000..bad1baa --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/component_test_selinuxprepare.py @@ -0,0 +1,106 @@ +import os + +import pytest + +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SELinuxModule, SELinuxModules +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +TEST_MODULES = [ + ['400', 'mock1'], + ['99', 'mock1'], + ['300', 'mock1'], + ['400', 'mock2'], + ['999', 'mock3'], +] + +TEST_TEMPLATES = [ + ['200', 'base_container'] +] + +SEMANAGE_COMMANDS = [ + ['fcontext', '-t', 'httpd_sys_content_t', '"/web(/.*)?"'], + ['fcontext', '-t', 'cgdcbxd_var_run_t', '"/ganesha(/.*)?"'], + ['fcontext', '-t', 'mock_file_type_t', '"/mock_directory(/.*)?"'], + ['port', '-t', 'http_port_t', '-p', 'udp', '81'], + ['permissive', 'abrt_t'] +] + +testmoduledir = 'tests/mock_modules/' + + +def _run_cmd(cmd, logmsg='', split=False): + try: + return run(cmd, split=split).get('stdout', '') + except CalledProcessError as e: + if logmsg: + api.current_logger().warning('{}: {}'.format(logmsg, e.stderr)) + return None + + +@pytest.fixture(scope='module') +def semodule_lfull_initial(): + yield _run_cmd(['semodule', '-lfull'], logmsg='Error listing SELinux customizations') + + +@pytest.fixture(scope='module') +def semanage_export_initial(): + yield _run_cmd(['semanage', 'export'], logmsg='Error listing SELinux customizations') + + +@pytest.fixture(scope='function') +def destructive_selinux_env(): + tests_dir = os.path.join(os.getenv('PYTEST_CURRENT_TEST').rsplit(os.path.sep, 2)[0], testmoduledir) + + # try to install compatibility module - needed on newer systems - failure to install is expected on rhel 7 + _run_cmd(['semodule', '-X', '100', '-i', os.path.join(tests_dir, 'compat.cil')]) + + semodule_command = ['semodule'] + for priority, module in TEST_MODULES + TEST_TEMPLATES: + semodule_command.extend(['-X', priority, '-i', os.path.join(tests_dir, module + '.cil')]) + _run_cmd(semodule_command, logmsg='Error installing mock modules') + + for command in SEMANAGE_COMMANDS: + _run_cmd(['semanage', command[0], '-a'] + command[1:], logmsg='Error applying selinux customizations') + + yield + + for command in SEMANAGE_COMMANDS: + _run_cmd(['semanage', command[0], '-d'] + command[1:]) + + semodule_command = ['semodule'] + for priority, module in reversed(TEST_MODULES + TEST_TEMPLATES + + [['400', 'permissive_abrt_t'], ['100', 'compat']]): + semodule_command.extend(['-X', priority, '-r', module]) + _run_cmd(semodule_command) + + +@pytest.mark.skipif(os.getenv('DESTRUCTIVE_TESTING', False) in [False, '0'], + reason='Test disabled by default because it would modify the system') +def test_SELinuxPrepare(current_actor_context, semodule_lfull_initial, semanage_export_initial, + destructive_selinux_env): + before_test = [] + for cmd in (['semodule', '-lfull'], ['semanage', 'export']): + res = _run_cmd(cmd, 'Error listing SELinux customizations') + before_test.append(res) + # XXX still not sure about logging in tests + api.current_logger().info('Before test: {}'.format(res)) + # Make sure that initial semodule/semanage commands don't match before tests ones + assert before_test != [semodule_lfull_initial, semanage_export_initial] + + semodule_list = [SELinuxModule(name=module, priority=int(prio), content='', removed=[]) + for (prio, module) in TEST_MODULES + [['400', 'permissive_abrt_t'], ['100', 'compat']]] + + template_list = [SELinuxModule(name=module, priority=int(prio), content='', removed=[]) + for (prio, module) in TEST_TEMPLATES] + + current_actor_context.feed(SELinuxModules(modules=semodule_list, templates=template_list)) + + current_actor_context.run() + + # check if all given modules and local customizations where removed + semodule_res = _run_cmd(['semodule', '-lfull'], 'Error listing SELinux modules') + assert semodule_lfull_initial == semodule_res + semanage_res = _run_cmd(['semanage', 'export'], 'Error listing SELinux customizations') + assert semanage_export_initial == semanage_res diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/base_container.cil b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/base_container.cil new file mode 100644 index 0000000..4664710 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/base_container.cil @@ -0,0 +1,14 @@ +(block container +(type process) +(type socket) +(roletype system_r process) +(typeattributeset domain (process )) +(typeattributeset container_domain (process )) +(typeattributeset svirt_sandbox_domain (process )) +(typeattributeset mcs_constrained_type (process )) +(typeattributeset file_type (socket )) +(allow process socket (sock_file (create open getattr setattr read write rename link unlink ioctl lock append))) +(allow process proc_type (file (getattr open read))) +(allow process cpu_online_t (file (getattr open read))) +(allow container_runtime_t process (key (create link read search setattr view write))) +) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/compat.cil b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/compat.cil new file mode 100644 index 0000000..d49123f --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/compat.cil @@ -0,0 +1,4 @@ +(type cgdcbxd_unit_file_t) +(type cgdcbxd_exec_t) +(type cgdcbxd_var_run_t) +(typeattributeset file_type (cgdcbxd_unit_file_t cgdcbxd_exec_t cgdcbxd_var_run_t)) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock1.cil b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock1.cil new file mode 100644 index 0000000..4a910ba --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock1.cil @@ -0,0 +1,4 @@ +(type mock_type_t) +(typeattributeset domain (mock_type_t)) +(allow mock_type_t proc_type (file (getattr open read))) +(allow mock_type_t container_var_run_t (file (getattr open read))) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock2.cil b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock2.cil new file mode 100644 index 0000000..8d7bfa3 --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock2.cil @@ -0,0 +1,6 @@ +(type mock_type2_t) +(typeattributeset direct_run_init (mock_type2_t)) +(allow mock_type_t file_type (file (getattr open read))) +(optional mock2_optional + (allow mock_type_t ganesha_exec_t (file (getattr open read))) +) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock3.cil b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock3.cil new file mode 100644 index 0000000..211b01a --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/mock_modules/mock3.cil @@ -0,0 +1,5 @@ +(type mock_type3_t) +(type mock_file_type_t) +(typeattributeset file_type (mock_file_type_t)) +(typeattributeset domain (mock_type3_t)) +(allow mock_type_t file_type (file (getattr open read))) diff --git a/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/unit_test_selinuxprepare.py b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/unit_test_selinuxprepare.py new file mode 100644 index 0000000..7d975dd --- /dev/null +++ b/repos/system_upgrade/common/actors/selinux/selinuxprepare/tests/unit_test_selinuxprepare.py @@ -0,0 +1,51 @@ +from leapp.libraries.actor import selinuxprepare +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SELinuxModule, SELinuxModules + + +class run_mocked(object): + def __init__(self): + self.args = [] + self.called = 0 + self.removed_modules = set() + self.non_semodule_calls = 0 + + def __call__(self, args, split=True): + self.called += 1 + self.args = args + + if self.args[0] == 'semodule': + stdout = [ + 'libsemanage.semanage_direct_remove_key: Removing last dummy module ' + + '(no other dummy module exists at another priority).' + ] + for idx, value in enumerate(self.args): + if value == "-r": + self.removed_modules.add(self.args[idx + 1]) + else: + self.non_semodule_calls += 1 + + return {'stdout': stdout} + + +def test_remove_custom_modules(monkeypatch): + mock_modules = {'a': 99, 'b': 300, 'c': 400, 'abrt': 190} + mock_templates = {'base_container': 400, 'net_container': 300} + + def consume_SELinuxModules_mocked(*models): + + semodule_list = [SELinuxModule(name=name, priority=priority, content='', removed=[]) + for name, priority in mock_modules.items()] + template_list = [SELinuxModule(name=name, priority=priority, content='', removed=[]) + for name, priority in mock_templates.items()] + yield SELinuxModules(modules=semodule_list, templates=template_list) + + monkeypatch.setattr(api, 'consume', consume_SELinuxModules_mocked) + monkeypatch.setattr(selinuxprepare, 'run', run_mocked()) + + selinuxprepare.remove_custom_modules() + # 1 call for udica templates and 1 for other custom modules + assert selinuxprepare.run.called == 2 + assert selinuxprepare.run.non_semodule_calls == 0 + # verify that remove_custom_modules tried to remove all given modules + assert (set(mock_modules).union(set(mock_templates)) - selinuxprepare.run.removed_modules) == set() diff --git a/repos/system_upgrade/common/actors/setetcreleasever/actor.py b/repos/system_upgrade/common/actors/setetcreleasever/actor.py new file mode 100644 index 0000000..eb09939 --- /dev/null +++ b/repos/system_upgrade/common/actors/setetcreleasever/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor import setetcreleasever +from leapp.models import PkgManagerInfo, RHUIInfo +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class SetEtcReleaseVer(Actor): + """ + Release version in /etc/dnf/vars/releasever will be set to the current target release + + If Leapp detects "releasever" variable is either configured through DNF/YUM configuration + file and/or the system is using RHUI infrastructure, release version will be set to the target + release version in order to avoid issues with repofile URLs (when --release option is not provided) + in cases where there is the previous major.minor version value in the configuration. This will also + ensure the system stays on the target version after the upgrade. + """ + + name = 'set_etc_releasever' + consumes = (PkgManagerInfo, RHUIInfo) + produces = () + tags = (IPUWorkflowTag, ApplicationsPhaseTag) + + def process(self): + setetcreleasever.process() diff --git a/repos/system_upgrade/common/actors/setetcreleasever/libraries/setetcreleasever.py b/repos/system_upgrade/common/actors/setetcreleasever/libraries/setetcreleasever.py new file mode 100644 index 0000000..73d1ffd --- /dev/null +++ b/repos/system_upgrade/common/actors/setetcreleasever/libraries/setetcreleasever.py @@ -0,0 +1,26 @@ +from leapp.libraries.stdlib import api +from leapp.models import PkgManagerInfo, RHUIInfo + + +def _set_releasever(releasever): + releasever_path = '/etc/dnf/vars/releasever' + + with open(releasever_path, 'w') as fo: + fo.write(releasever+'\n') + + +def process(): + target_version = api.current_actor().configuration.version.target + + pkg_facts = next(api.consume(PkgManagerInfo), None) + rhui_facts = next(api.consume(RHUIInfo), None) + + if pkg_facts and pkg_facts.etc_releasever is not None or rhui_facts: + # if "/etc/dnf/vars/releasever" file exists, or we are using RHUI, let's set it to our + # target version. + _set_releasever(target_version) + else: + api.current_logger().debug( + 'Skipping execution. "releasever" is not set in DNF/YUM vars directory and no RHUIInfo has ' + 'been produced' + ) diff --git a/repos/system_upgrade/common/actors/setetcreleasever/tests/test_setetcreleasever.py b/repos/system_upgrade/common/actors/setetcreleasever/tests/test_setetcreleasever.py new file mode 100644 index 0000000..d86ac92 --- /dev/null +++ b/repos/system_upgrade/common/actors/setetcreleasever/tests/test_setetcreleasever.py @@ -0,0 +1,63 @@ +import os + +import pytest + +from leapp.libraries.actor import setetcreleasever +from leapp.libraries.common.testutils import ( + create_report_mocked, + CurrentActorMocked, + logger_mocked +) +from leapp.libraries.stdlib import api +from leapp.models import PkgManagerInfo, RHUIInfo + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +class mocked_set_releasever(object): + def __init__(self): + self.content = None + + def __call__(self, content): + self.content = content + + +# def test_set_releasever(monkeypatch): + +# target = '8.0' +# expected_rel_ver = '8.0' +# monkeypatch.setattr(setetcreleasever, '_set_releasever', mocked_set_releasever()) + +# setetcreleasever.process(target) +# assert expected_rel_ver == setetcreleasever._set_releasever.content + + +def test_set_releasever(monkeypatch, current_actor_context): + + msgs = [RHUIInfo(provider='aws'), PkgManagerInfo(etc_releasever='7.7')] + + expected_rel_ver = '8.0' + monkeypatch.setattr(setetcreleasever, '_set_releasever', mocked_set_releasever()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked( + msgs=msgs, dst_ver=expected_rel_ver + ) + ) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + setetcreleasever.process() + + assert expected_rel_ver == setetcreleasever._set_releasever.content + assert not api.current_logger.dbgmsg + + +def test_no_set_releasever(monkeypatch, current_actor_context): + + expected_rel_ver = '8.0' + monkeypatch.setattr(setetcreleasever, '_set_releasever', mocked_set_releasever()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver=expected_rel_ver)) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + setetcreleasever.process() + + assert not setetcreleasever._set_releasever.content + assert api.current_logger.dbgmsg diff --git a/repos/system_upgrade/common/actors/setpermissiveselinux/Makefile b/repos/system_upgrade/common/actors/setpermissiveselinux/Makefile new file mode 100644 index 0000000..d9ba61e --- /dev/null +++ b/repos/system_upgrade/common/actors/setpermissiveselinux/Makefile @@ -0,0 +1,2 @@ +install-deps: + yum install -y selinux-policy diff --git a/repos/system_upgrade/common/actors/setpermissiveselinux/actor.py b/repos/system_upgrade/common/actors/setpermissiveselinux/actor.py new file mode 100644 index 0000000..bc72941 --- /dev/null +++ b/repos/system_upgrade/common/actors/setpermissiveselinux/actor.py @@ -0,0 +1,36 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.actor.setpermissiveselinux import selinux_set_permissive +from leapp.models import SelinuxPermissiveDecision +from leapp.reporting import create_report, Report +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag + + +class SetPermissiveSelinux(Actor): + """ + Set SELinux mode. + + In order to proceed with Upgrade process, SELinux should be set into permissive mode if it was + in enforcing mode. + """ + + name = 'set_permissive_se_linux' + consumes = (SelinuxPermissiveDecision,) + produces = (Report,) + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + for decision in self.consume(SelinuxPermissiveDecision): + if decision.set_permissive: + success, err_msg = selinux_set_permissive() + if not success: + # FIXME: add an "action required" flag later + create_report([ + reporting.Title('Could not set SElinux into permissive mode'), + reporting.Summary('{}'.format(err_msg)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SELINUX, reporting.Groups.SECURITY]), + reporting.Groups([reporting.Groups.FAILURE]), + reporting.RelatedResource('file', '/etc/selinux/config') + ]) + self.log.critical('Could not set SElinux into permissive mode: %s.' % err_msg) diff --git a/repos/system_upgrade/common/actors/setpermissiveselinux/libraries/setpermissiveselinux.py b/repos/system_upgrade/common/actors/setpermissiveselinux/libraries/setpermissiveselinux.py new file mode 100644 index 0000000..d864d41 --- /dev/null +++ b/repos/system_upgrade/common/actors/setpermissiveselinux/libraries/setpermissiveselinux.py @@ -0,0 +1,11 @@ +from leapp.libraries.stdlib import CalledProcessError, run + + +def selinux_set_permissive(): + """ Set SElinux to permissive mode if it was in enforcing mode """ + cmd = ['/bin/sed', '-i', 's/^SELINUX=enforcing/SELINUX=permissive/g', '/etc/selinux/config'] + try: + run(cmd) + except CalledProcessError as e: + return False, e.output + return True, None diff --git a/repos/system_upgrade/common/actors/setpermissiveselinux/tests/test_setpermissiveselinux.py b/repos/system_upgrade/common/actors/setpermissiveselinux/tests/test_setpermissiveselinux.py new file mode 100644 index 0000000..efa4e55 --- /dev/null +++ b/repos/system_upgrade/common/actors/setpermissiveselinux/tests/test_setpermissiveselinux.py @@ -0,0 +1,27 @@ +import os + +import pytest + +from leapp.models import SelinuxPermissiveDecision + + +@pytest.mark.skipif( + os.getenv("DESTRUCTIVE_TESTING", False) in [False, "0"], + reason='Test disabled by default because it would modify the system') +def check_permissive_in_conf(): + """ Check if we have set permissive in SElinux conf file """ + with open('/etc/selinux/config') as fo: + result = [l for l in (line.strip() for line in fo) if l] + for res in result: + if res == "SELINUX=permissive": + return True + return False + + +@pytest.mark.skipif( + os.getenv("DESTRUCTIVE_TESTING", False) in [False, "0"], + reason='Test disabled by default because it would modify the system') +def test_set_selinux_permissive(current_actor_context): + current_actor_context.feed(SelinuxPermissiveDecision(set_permissive=True)) + current_actor_context.run() + assert check_permissive_in_conf() diff --git a/repos/system_upgrade/common/actors/setuptargetrepos/actor.py b/repos/system_upgrade/common/actors/setuptargetrepos/actor.py new file mode 100644 index 0000000..767fa00 --- /dev/null +++ b/repos/system_upgrade/common/actors/setuptargetrepos/actor.py @@ -0,0 +1,40 @@ +from leapp.actors import Actor +from leapp.libraries.actor import setuptargetrepos +from leapp.models import ( + CustomTargetRepository, + InstalledRPM, + RepositoriesBlacklisted, + RepositoriesFacts, + RepositoriesMapping, + RepositoriesSetupTasks, + RHUIInfo, + SkippedRepositories, + TargetRepositories, + UsedRepositories +) +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class SetupTargetRepos(Actor): + """ + Produces list of repositories that should be available to be used by Upgrade process. + + Based on current set of Red Hat Enterprise Linux repositories, produces the list of target + repositories. Additionally process request to use custom repositories during the upgrade + transaction. + """ + + name = 'setuptargetrepos' + consumes = (CustomTargetRepository, + InstalledRPM, + RepositoriesSetupTasks, + RepositoriesMapping, + RepositoriesFacts, + RepositoriesBlacklisted, + RHUIInfo, + UsedRepositories) + produces = (TargetRepositories, SkippedRepositories) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + setuptargetrepos.process() diff --git a/repos/system_upgrade/common/actors/setuptargetrepos/libraries/setuptargetrepos.py b/repos/system_upgrade/common/actors/setuptargetrepos/libraries/setuptargetrepos.py new file mode 100644 index 0000000..4b8405d --- /dev/null +++ b/repos/system_upgrade/common/actors/setuptargetrepos/libraries/setuptargetrepos.py @@ -0,0 +1,155 @@ + +from leapp.libraries.actor import setuptargetrepos_repomap +from leapp.libraries.common.config.version import get_source_major_version +from leapp.libraries.stdlib import api +from leapp.models import ( + CustomTargetRepository, + InstalledRPM, + RepositoriesBlacklisted, + RepositoriesFacts, + RepositoriesMapping, + RepositoriesSetupTasks, + RHELTargetRepository, + RHUIInfo, + SkippedRepositories, + TargetRepositories, + UsedRepositories +) + + +def _get_enabled_repoids(): + """ + Collects repoids of all enabled repositories on the source system. + + :returns: Set of all enabled repository IDs present on the source system. + :rtype: Set[str] + """ + enabled_repoids = set() + for repos in api.consume(RepositoriesFacts): + for repo_file in repos.repositories: + for repo in repo_file.data: + if repo.enabled: + enabled_repoids.add(repo.repoid) + return enabled_repoids + + +def _get_repoids_from_installed_packages(): + repoids_from_installed_packages = set() + for installed_packages in api.consume(InstalledRPM): + for rpm_package in installed_packages.items: + repoids_from_installed_packages.add(rpm_package.repository) + return repoids_from_installed_packages + + +def _get_blacklisted_repoids(): + repos_blacklisted = set() + for blacklist in api.consume(RepositoriesBlacklisted): + repos_blacklisted.update(blacklist.repoids) + return repos_blacklisted + + +def _get_custom_target_repos(): + custom_repos = [] + for repo in api.consume(CustomTargetRepository): + custom_repos.append(repo) + return custom_repos + + +def _get_used_repo_dict(): + """ + Return dict: {used_repoid: [installed_packages]} + """ + used = {} + for used_repos in api.consume(UsedRepositories): + for used_repo in used_repos.repositories: + used[used_repo.repository] = used_repo.packages + return used + + +def _get_mapped_repoids(repomap, src_repoids): + mapped_repoids = set() + src_maj_ver = get_source_major_version() + for repoid in src_repoids: + if repomap.get_pesid_repo_entry(repoid, src_maj_ver): + mapped_repoids.add(repoid) + return mapped_repoids + + +def process(): + # Load relevant data from messages + used_repoids_dict = _get_used_repo_dict() + enabled_repoids = _get_enabled_repoids() + excluded_repoids = _get_blacklisted_repoids() + custom_repos = _get_custom_target_repos() + repoids_from_installed_packages = _get_repoids_from_installed_packages() + + # Setup repomap handler + repo_mappig_msg = next(api.consume(RepositoriesMapping), RepositoriesMapping()) + rhui_info = next(api.consume(RHUIInfo), RHUIInfo(provider='')) + repomap = setuptargetrepos_repomap.RepoMapDataHandler(repo_mappig_msg, cloud_provider=rhui_info.provider) + + # Filter set of repoids from installed packages so that it contains only repoids with mapping + repoids_from_installed_packages_with_mapping = _get_mapped_repoids(repomap, repoids_from_installed_packages) + + # Set of repoid that are going to be mapped to target repoids containing enabled repoids and also repoids from + # installed packages that have mapping to prevent missing repositories that are disabled during the upgrade, but + # can be used to upgrade installed packages. + repoids_to_map = enabled_repoids.union(repoids_from_installed_packages_with_mapping) + + # Set default repository channels for the repomap + # TODO(pstodulk): what about skip this completely and keep the default 'ga'..? + default_channels = setuptargetrepos_repomap.get_default_repository_channels(repomap, repoids_to_map) + repomap.set_default_channels(default_channels) + + # Get target RHEL repoids based on the repomap + expected_repos = repomap.get_expected_target_pesid_repos(repoids_to_map) + target_rhel_repoids = set() + for target_pesid, target_pesidrepo in expected_repos.items(): + if not target_pesidrepo: + # NOTE this could happen only for enabled repositories part of the set, + # since the repositories collected from installed packages already contain + # only mappable repoids. + + # With the original repomap data, this should not happen (this should + # currently point to a problem in our data + # TODO(pstodulk): add report? inhibitor? what should be in the report? + api.current_logger().error( + 'Missing target repository from the {} family (PES ID).' + .format(target_pesid) + ) + continue + if target_pesidrepo.repoid in excluded_repoids: + api.current_logger().debug('Skipping the {} repo (excluded).'.format(target_pesidrepo.repoid)) + continue + target_rhel_repoids.add(target_pesidrepo.repoid) + + # FIXME: this could possibly result into a try to enable multiple repositories + # from the same family (pesid). But unless we have a bug in previous actors, + # it should not happen :) it's not blocker error anyway, so survive it. + # - We expect to deliver the fix as part of the refactoring when we merge + # setuptargetrepos & peseventsscanner actors together (+ blacklistrepos?) + for task in api.consume(RepositoriesSetupTasks): + for repo in task.to_enable: + if repo in excluded_repoids: + api.current_logger().debug('Skipping the {} repo from setup task (excluded).'.format(repo)) + continue + target_rhel_repoids.add(repo) + + # create the final lists and sort them (for easier testing) + rhel_repos = [RHELTargetRepository(repoid=repoid) for repoid in sorted(target_rhel_repoids)] + custom_repos = [repo for repo in custom_repos if repo.repoid not in excluded_repoids] + custom_repos = sorted(custom_repos, key=lambda x: x.repoid) + + # produce message about skipped repositories + enabled_repoids_with_mapping = _get_mapped_repoids(repomap, enabled_repoids) + skipped_repoids = enabled_repoids & set(used_repoids_dict.keys()) - enabled_repoids_with_mapping + if skipped_repoids: + pkgs = set() + for repo in skipped_repoids: + pkgs.update(used_repoids_dict[repo]) + api.produce(SkippedRepositories(repos=sorted(skipped_repoids), packages=sorted(pkgs))) + + api.produce(TargetRepositories( + rhel_repos=rhel_repos, + custom_repos=custom_repos, + )) diff --git a/repos/system_upgrade/common/actors/setuptargetrepos/libraries/setuptargetrepos_repomap.py b/repos/system_upgrade/common/actors/setuptargetrepos/libraries/setuptargetrepos_repomap.py new file mode 100644 index 0000000..64e1346 --- /dev/null +++ b/repos/system_upgrade/common/actors/setuptargetrepos/libraries/setuptargetrepos_repomap.py @@ -0,0 +1,326 @@ +from leapp.libraries.common.config import get_target_product_channel +from leapp.libraries.common.config.version import get_source_major_version, get_target_major_version +from leapp.libraries.stdlib import api + +DEFAULT_PESID = { + '7': 'rhel7-base', + '8': 'rhel8-BaseOS', + '9': 'rhel9-BaseOS' +} + + +def _get_channel_prio(pesid_repo): + priorities = { + 'beta': 0, + 'ga': 1, + } + return priorities.get(pesid_repo.channel, 10) + + +class RepoMapDataHandler(object): + """ + Provide the basic functionality to work with the repository data easily. + """ + + def __init__(self, repo_map, cloud_provider='', default_channels=None): + """ + Initialize the object based on the given RepositoriesMapping msg. + + Expects that msg contains just stuff related for the current IPU + (at least mapping and repos for the used upgrade path and architecture). + + :param repo_map: A valid RepositoryMapping message. + :type repo_map: RepositoryMapping + :param default_channels: A list of default channels to use when a target repository + equivalent exactly matching a source repository was not found. + :type default_channels: List[str] + :param prio_channel: Prefer repositories with this channel when looking for target equivalents. + :type prio_channel: str + """ + # NOTE: currently I am keeping this default data structure that is not + # ideal for work, but there is not any significant impact.. + self.repositories = repo_map.repositories + self.mapping = repo_map.mapping + # FIXME(pstodulk): what about default_channel -> fallback_channel + # hardcoded always as ga? instead of list of channels.. + # it'd be possibly confusing naming now... + self.default_channels = default_channels or ['ga'] + + # Make self.prio_channel None if the user did not specify any target channels, so that self.default_channels + # will be used instead + self.prio_channel = get_target_product_channel(default=None) + + self.cloud_provider = cloud_provider + + # Cloud provider might have multiple variants, e.g, aws: (aws, aws-sap-es4) - normalize it + cloud_providers = ('aws', 'azure', 'google', 'alibaba') + for provider in cloud_providers: + if cloud_provider.startswith(provider): + self.cloud_provider = provider + break + + def set_default_channels(self, default_channels): + """ + Set the default channels that are used as a fallback when searching + for the right target repository. + + Usually it's not problem to find a target repository that matches + the source repository, however in some cases the target repository + doesn't have to be available in the required (premium) channel but + could be present in the standard one. + + This is used usually for fallbacks and it's prerequisite for the time + the required channel will not be present for the particular repository. + E.g. can happen for layered products which has different lifecycles + and doesn't have to provide a special premium channels at all. E.g. + the Extras repository has GA and Beta channels, but no EUS. In case the + EUS is required, returns the GA one instead when this is present. + + It's recommended to make the GA ('ga') always present in the default + list. + + :param default_channels: Default channels to use when a target equivalent to a source repository that + matches its target channel properties exactly could not be found. + :type default_channels: List[str] + """ + self.default_channels = default_channels + + def get_pesid_repo_entry(self, repoid, major_version): + """ + Retrieve the PESIDRepositoryEntry that matches the given repoid and OS major version. + + If multiple pesid repo entries with the same repoid were found, the entry with rhui matching the source + system's rhui info will be returned. If no entry with matching rhui exists, the CDN one is returned if any. + + :param repoid: RepoID that should the PESIDRepositoryEntry match. + :type repoid: str + :param major_version: RepoID that should the PESIDRepositoryEntry match. + :type major_version: str + :return: The PESIDRepositoryEntry matching the given repoid and major_version or None if no such + entry could be found. + :rtype: Optional[PESIDRepositoryEntry] + """ + matching_pesid_repos = [] + for pesid_repo in self.repositories: + if pesid_repo.repoid == repoid and pesid_repo.major_version == major_version: + matching_pesid_repos.append(pesid_repo) + + if len(matching_pesid_repos) == 1: + # Perform no heuristics if only a single pesid repository with matching repoid found + return matching_pesid_repos[0] + + # Multiple (different) repositories with the same repoid found (can happen in clouds) - prefer the cloud one + cdn_pesid_repo = None + for pesid_repo in matching_pesid_repos: + if pesid_repo.rhui == self.cloud_provider: + return pesid_repo + if not pesid_repo.rhui: + cdn_pesid_repo = pesid_repo + + # If we did not find a repoid for the current cloud provider, return the CDN repository + return cdn_pesid_repo # might be None e.g. if we are on Azure with an AWS repository enabled (unlikely) + + def get_target_pesids(self, source_pesid): + """ + Return sorted list of target PES IDs for the given source PES ID. + + :param source_pesid: Source PES ID to find equivalents for. + :type source_pesid: src + :return: The list of target PES IDs the provided source_pesid is mapped to. + :rtype: List[PESIDRepositoryEntry] + """ + pesids = set() + for repomap in self.mapping: + if repomap.source == source_pesid: + pesids.update(repomap.target) + return sorted(pesids) + + def get_pesid_repos(self, pesid, major_version): + """ + Get the list of PESIDRepositoryEntry with the specified PES ID and OS major version. + + :param pesid: PES ID of the repositories to be retrieved. + :type pesid: str + :param major_version: OS major version of the repositories to be retrieved. + :type major_version: str + :return: A list of PESIDRepositoryEntries that match the provided PES ID and OS major version. + :rtype: List[PESIDRepositoryEntry] + """ + pesid_repos = [] + for pesid_repo in self.repositories: + if pesid_repo.pesid == pesid and pesid_repo.major_version == major_version: + pesid_repos.append(pesid_repo) + return pesid_repos + + def get_source_pesid_repos(self, pesid): + """ + Return the list of PESIDRepositoryEntry objects for a specified PES ID + matching the source OS major version. + + :param pesid: The PES ID for which to retrieve PESIDRepositoryEntries. + :type pesid: str + :return: A list of PESIDRepositoryEntries that match the provided PES ID and have + the OS Major version same as the source OS. + :rtype: List[PESIDRepositoryEntry] + """ + return self.get_pesid_repos(pesid, get_source_major_version()) + + def get_target_pesid_repos(self, pesid): + """ + Return the list of PESIDRepositoryEntry objects for a specified PES ID + matching the target OS major version. + + :param pesid: The PES ID for which to retrieve PESIDRepositoryEntries. + :type pesid: str + :return: A list of PESIDRepositoryEntries that match the provided PES ID and have + the OS Major version same as the target OS. + :rtype: List[PESIDRepositoryEntry] + """ + return self.get_pesid_repos(pesid, get_target_major_version()) + + def _find_repository_target_equivalent(self, src_pesidrepo, target_pesid): + """ + Find the target repository that is the best-match to the source one with the given + target PES ID. + + :param src_pesidrepo: The source repository to find equivalent to. + :type src_pesidrepo: PESIDRepositoryEntry + :param target_pesid: The target PES ID which the target repository must contain. + :type target_pesid: str + :return: A target equivalent of given repository. + :rtype: Optional[PESIDRepositoryEntry] + """ + + candidates = [] + for candidate in self.get_target_pesid_repos(target_pesid): + matches_rhui = candidate.rhui == src_pesidrepo.rhui + matches_repo_type = candidate.repo_type == 'rpm' + matches_arch = candidate.arch == api.current_actor().configuration.architecture + + if matches_rhui and matches_arch and matches_repo_type: + # user can specify in future the specific channel should be + # prioritized always (e.g. want to go to EUS...). + channel = self.prio_channel or src_pesidrepo.channel + if candidate.channel == channel: + return candidate + candidates.append(candidate) + + # Fallback... + # Could not find exact-match, so go through candidates if we find an + # alternative in one of default channels (usually just 'ga') + for channel in self.default_channels: + for candidate in candidates: + if channel == candidate.channel: + return candidate + + # This is a case, that must be handled by the caller + return None + + def get_mapped_target_pesid_repos(self, src_pesidrepo): + """ + Returns the dict of form {target_pesid: target PESIDRepositoryEntry} containing + pesids of repositories that is the source pesidrepo mapped to as keys and with + the best fitting repository for each of the target pesids as values. + + The function always returns the best candidate for every target pesid + that fits to the given source repository. In case no repository is find + for a pesid, the value in dict is None: {pesid: None} + + :param src_pesidrepo: The PESIDRepositoryEntry to find the target pesids and the corresponding + best-fitting repositories to. + :type src_pesidrepo: PESIDRepositoryEntry + :return: A dictionary of the form described above. + :rtype: Dict[str, PESIDRepositoryEntry] + """ + result = {} + for target_pesid in self.get_target_pesids(src_pesidrepo.pesid): + result[target_pesid] = self._find_repository_target_equivalent(src_pesidrepo, target_pesid) + return result + + def get_mapped_target_repoids(self, src_pesidrepo): + """ + Return the list of target repoids for the given src_pesidrepo. + + Some actors do not has to check whether a target repository has been + found for each target PES ID and details about the target repositories. + For such actors it's ok to see just list of repoids they should be + interested about and keep the proper checks for the right actor. + + :param src_pesidrepo: The PESIDRepositoryEntry to find the corresponding best-fitting repositories to. + :type src_pesidrepo: PESIDRepositoryEntry + :return: A dictionary of the form described above. + :rtype: Dict[str, PESIDRepositoryEntry] + """ + return [repo.repoid for repo in self.get_mapped_target_pesid_repos(src_pesidrepo).values() if repo] + + def get_expected_target_pesid_repos(self, src_repoids): + """ + Return {target_pesid: PESIDRepositoryEntry} with expected target repositories. + + If some repositories are mapped to a target pesid for which no equivalent + repository is discovered, such a key contains just None value. + + :param src_repoids: list of present source repoids that should be mapped to target repositories + :type src_repoids: List[str] + :rtype: {str: PESIDRepositoryEntry} + """ + # {pesid: target_repo} + target_repos_best_candidates = {} + for src_repoid in src_repoids: + src_pesidrepo = self.get_pesid_repo_entry(src_repoid, get_source_major_version()) + if not src_pesidrepo: + # unmapped or custom repo -> skip this one + continue + + for target_pesid, target_candidate in self.get_mapped_target_pesid_repos(src_pesidrepo).items(): + best_candidate = target_repos_best_candidates.get(target_pesid, None) + if not best_candidate: + # we need to initialize the pesid even when the target_candidate is empty + # to know we possibly miss something + target_repos_best_candidates[target_pesid] = target_candidate + if not target_candidate: + # It's not crucial in this moment - the pesid can be still filled + # by other maps. However log the warning as it is still unexpected + # with the valid repomap data + api.current_logger().warning( + 'Cannot find any mapped target repository from the' + ' {pesid} family for the {repoid} repository.' + .format(repoid=src_repoid, pesid=target_pesid) + ) + continue + + if best_candidate and _get_channel_prio(target_candidate) > _get_channel_prio(best_candidate): + # NOTE(pstodulk): we want just one target repository from the "PESID family" + # priority: beta < ga < all_else + # Why all_else? + # -> we do not expect multiple different premium channels present on the system + target_repos_best_candidates[target_pesid] = target_candidate + return target_repos_best_candidates + + +def get_default_repository_channels(repomap, src_repoids): + """ + Returns the default repository channels. The 'ga' channel is always included and is the last + one in the list, so it is the lowest priority when checking for channels. + + :param repomap: A RepoMapDataHandler instance containing the RepositoriesMapping data. + :type repomap: RepoMapDataHandler + :param src_repoids: Repositories present on the source system. + :type src_repoids: List[str] + :rtype: List[str] + """ + default_pesid = DEFAULT_PESID[get_source_major_version()] + top_prio_pesid_repo = None + for repoid in src_repoids: + pesid_repo = repomap.get_pesid_repo_entry(repoid, get_source_major_version()) + if not pesid_repo or pesid_repo.pesid != default_pesid: + continue + if not top_prio_pesid_repo or _get_channel_prio(pesid_repo) > _get_channel_prio(top_prio_pesid_repo): + top_prio_pesid_repo = pesid_repo + + # always return at least 'ga' + if not top_prio_pesid_repo or top_prio_pesid_repo.channel == 'ga': + return ['ga'] + + # keep this order to prefer higher prio to check first + return [top_prio_pesid_repo.channel, 'ga'] diff --git a/repos/system_upgrade/common/actors/setuptargetrepos/tests/test_repomapping.py b/repos/system_upgrade/common/actors/setuptargetrepos/tests/test_repomapping.py new file mode 100644 index 0000000..5389761 --- /dev/null +++ b/repos/system_upgrade/common/actors/setuptargetrepos/tests/test_repomapping.py @@ -0,0 +1,684 @@ +import functools +import logging + +import pytest + +from leapp.libraries.actor import setuptargetrepos_repomap +from leapp.libraries.actor.setuptargetrepos_repomap import get_default_repository_channels, RepoMapDataHandler +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import PESIDRepositoryEntry, RepoMapEntry, RepositoriesMapping + + +def make_pesid_repo(pesid, major_version, repoid, arch='x86_64', repo_type='rpm', channel='ga', rhui=''): + """ + PESIDRepositoryEntry factory function allowing shorter data description in tests by providing default values. + """ + return PESIDRepositoryEntry( + pesid=pesid, + major_version=major_version, + repoid=repoid, + arch=arch, + repo_type=repo_type, + channel=channel, + rhui=rhui + ) + + +@pytest.fixture +def repomap_data_for_pesid_repo_retrieval(): + # NOTE: do not change order or repositories; particular unit-tests tests + # use specific repositories for the comparison, expecting them on the right + # position in the list + repomap_data = RepositoriesMapping( + mapping=[ + RepoMapEntry(source='pesid1', target=['pesid3', 'pesid2']), + RepoMapEntry(source='pesid4', target=['pesid4']), + ], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid'), + make_pesid_repo('pesid1', '7', 'pesid1-repoid-eus', channel='eus'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid'), + make_pesid_repo('pesid3', '8', 'pesid3-repoid'), + make_pesid_repo('pesid3', '8', 'pesid3-repoid-eus', channel='eus'), + make_pesid_repo('pesid3', '8', 'pesid3-repoid-aws', rhui='aws'), + make_pesid_repo('pesid4', '7', 'pesid4-repoid1'), + make_pesid_repo('pesid4', '8', 'pesid4-repoid2'), + ] + ) + return repomap_data + + +def test_get_pesid_repo_entry(monkeypatch, repomap_data_for_pesid_repo_retrieval): + """ + Test for the RepoMapDataHandler.get_pesid_repo_entry method. + + Verifies that the method correctly retrieves PESIDRepositoryEntry that are matching the OS major version + and repoid. + """ + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + repositories = repomap_data_for_pesid_repo_retrieval.repositories + handler = RepoMapDataHandler(repomap_data_for_pesid_repo_retrieval) + + fail_description = ( + 'get_pesid_repo_entry method failed to find correct pesid repository that matches given parameters.') + for exp_repo in repositories: + result_repo = handler.get_pesid_repo_entry(exp_repo.repoid, exp_repo.major_version) + assert result_repo == exp_repo, fail_description + + fail_description = ( + 'get_pesid_repo_entry method found a pesid repository, but no repository should match given parameters.') + assert handler.get_pesid_repo_entry('pesid1-repoid', '6') is None, fail_description + assert handler.get_pesid_repo_entry('pesid1-repoid', '8') is None, fail_description + assert handler.get_pesid_repo_entry('pesid1-repoid', '9') is None, fail_description + assert handler.get_pesid_repo_entry('nonexisting-repo', '7') is None, fail_description + + +def test_get_target_pesids(monkeypatch, repomap_data_for_pesid_repo_retrieval): + """ + Test for the RepoMapDataHandler.get_target_pesids method. + + Verifies that the method correctly tells what target pesids is the given source pesid mapped to. + """ + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + handler = RepoMapDataHandler(repomap_data_for_pesid_repo_retrieval) + + expected_target_pesids = ['pesid2', 'pesid3'] + actual_target_pesids = handler.get_target_pesids('pesid1') + + fail_description = ( + 'The get_target_pesids method did not correctly identify what is the given source pesid mapped to.') + assert expected_target_pesids == actual_target_pesids, fail_description + + fail_description = ( + 'The get_target_pesids method found target pesids even if the source repository is not mapped.') + assert [] == handler.get_target_pesids('pesid2'), fail_description + assert [] == handler.get_target_pesids('pesid_no_mapping'), fail_description + + +def test_get_pesid_repos(monkeypatch, repomap_data_for_pesid_repo_retrieval): + """ + Test for the RepoMapDataHandler.get_pesid_repos method. + + Verifies that the method is able to collect all PESIDRepositoryEntry present in the repomap data that + match the given OS major version and the given pesid. + """ + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + handler = RepoMapDataHandler(repomap_data_for_pesid_repo_retrieval) + repositories = repomap_data_for_pesid_repo_retrieval.repositories + + actual_pesid_repos = handler.get_pesid_repos('pesid3', '8') + expected_pesid_repos = [repositories[3], repositories[4], repositories[5]] + fail_description = 'The get_pesid_repos failed to find pesid repos matching the given criteria.' + assert len(expected_pesid_repos) == len(actual_pesid_repos), fail_description + for actual_pesid_repo in actual_pesid_repos: + assert actual_pesid_repo in expected_pesid_repos, fail_description + + actual_pesid_repos = handler.get_pesid_repos('pesid1', '7') + expected_pesid_repos = [repositories[0], repositories[1]] + assert len(expected_pesid_repos) == len(actual_pesid_repos), fail_description + for actual_pesid_repo in actual_pesid_repos: + assert actual_pesid_repo in expected_pesid_repos, fail_description + + fail_description = ( + 'The get_pesid_repos found some pesid repositories matching criteria, but there are no such repositories.') + assert [] == handler.get_pesid_repos('pesid3', '7'), fail_description + assert [] == handler.get_pesid_repos('pesid1', '8'), fail_description + assert [] == handler.get_pesid_repos('nonexisting_pesid', '7'), fail_description + + +def test_get_source_pesid_repos(monkeypatch, repomap_data_for_pesid_repo_retrieval): + """ + Test for the RepoMapDataHandler.get_source_pesid_repos method. + + Verifies that the method is able to collect all PESIDRepositoryEntry that match the given PES ID and + have the major version same as the source system. + """ + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + handler = RepoMapDataHandler(repomap_data_for_pesid_repo_retrieval) + repositories = repomap_data_for_pesid_repo_retrieval.repositories + + fail_description = ( + 'The get_source_pesid_repos method failed to retrieve all pesid repos that match given pesid ' + 'and have the major version same as the source system.') + expected_pesid_repos = [repositories[0], repositories[1]] + actual_pesid_repos = handler.get_source_pesid_repos('pesid1') + assert len(expected_pesid_repos) == len(actual_pesid_repos), fail_description + for actual_pesid_repo in actual_pesid_repos: + assert actual_pesid_repo in expected_pesid_repos, fail_description + + fail_description = ( + 'The get_source_pesid_repos method does not take into account the source system version correctly.' + ) + monkeypatch.setattr(setuptargetrepos_repomap, 'get_source_major_version', lambda: '10') + + # Repeat the same test as above to make sure it respects the source OS major version + assert [] == handler.get_source_pesid_repos('pesid1'), fail_description + + assert [] == handler.get_source_pesid_repos('pesid2'), fail_description + assert [] == handler.get_source_pesid_repos('nonexisting_pesid'), fail_description + + +def test_get_target_pesid_repos(monkeypatch, repomap_data_for_pesid_repo_retrieval): + """ + Test for the RepoMapDataHandler.get_target_pesid_repos method. + + Verifies that the method is able to collect all PESIDRepositoryEntry that match the given PES ID and + have the major version same as the source system. + """ + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + handler = RepoMapDataHandler(repomap_data_for_pesid_repo_retrieval) + repositories = repomap_data_for_pesid_repo_retrieval.repositories + + fail_description = ( + 'The get_target_pesid_repos method failed to retrieve all pesid repos that match given pesid ' + 'and have the major version same as the target system.') + expected_pesid_repos = [repositories[3], repositories[4], repositories[5]] + actual_pesid_repos = handler.get_target_pesid_repos('pesid3') + assert len(expected_pesid_repos) == len(actual_pesid_repos), fail_description + for actual_pesid_repo in actual_pesid_repos: + assert actual_pesid_repo in expected_pesid_repos, fail_description + + fail_description = ( + 'The get_target_pesid_repos method doesn\'t take into account the target system version correctly.' + ) + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(arch='x86_64', src_ver='9.4', dst_ver='10.0')) + + # Repeat the same test as above to make sure it respects the target OS major version + assert [] == handler.get_target_pesid_repos('pesid3'), fail_description + + assert [] == handler.get_target_pesid_repos('pesid1'), fail_description + assert [] == handler.get_target_pesid_repos('nonexisting_pesid'), fail_description + + +@pytest.fixture +def mapping_data_for_find_repository_equiv(): + repositories = [ + make_pesid_repo('pesid1', '7', 'pesid1-repoid'), + make_pesid_repo('pesid1', '7', 'pesid1-repoid', channel='e4s', rhui='aws'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid1'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid2-s390x', arch='s390x'), + # This repository is a better candidate than the full match equivalent, but _find_repository_target_equivalent + # should not take into account channel priorities + make_pesid_repo('pesid2', '8', 'pesid2-repoid2', arch='x86_64', channel='eus'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid3-srpm', repo_type='srpm'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid4.1', rhui='aws'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid4.2', channel='eus', rhui='aws'), + make_pesid_repo('pesid3', '8', 'pesid3-repoid') + ] + return RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2', 'pesid3'])], + repositories=repositories + ) + + +def test_find_repository_target_equivalent_fullmatch(monkeypatch, mapping_data_for_find_repository_equiv): + """ + Test for the RepoMapDataHandler._find_repository_target_equivalent method. + + Verifies that the method can find the target equivalent for a repository that matches the source + pesid repo parameters exactly when such repository is available in the repository mapping data. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + handler = RepoMapDataHandler(mapping_data_for_find_repository_equiv) + + expected_target_equivalent = mapping_data_for_find_repository_equiv.repositories[2] + actual_target_equivalent = handler._find_repository_target_equivalent( + mapping_data_for_find_repository_equiv.repositories[0], 'pesid2') + + fail_description = ( + 'The _find_repository_target_equivalent failed to find equivalent that exactly matched the source pesid repo ' + 'when there is such equivalent available in the repository mapping data.') + assert expected_target_equivalent == actual_target_equivalent, fail_description + + +def test_find_repository_target_equivalent_fallback_to_default(monkeypatch, + mapping_data_for_find_repository_equiv): + """ + Test for the RepoMapDataHandler._find_repository_target_equivalent method. + + Verifies that the method will find a target equivalent with matching some of the fallback + channels if a target equivalent that matches the source pesid repository completely is not + available in the repository mapping data. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + handler = RepoMapDataHandler(mapping_data_for_find_repository_equiv) + repositories = mapping_data_for_find_repository_equiv.repositories + + fail_description = ( + 'The _find_repository_target_equivalent failed to find repository with some of the fallback channels.') + expected_target_equivalent = repositories[6] + actual_target_equivalent = handler._find_repository_target_equivalent(repositories[1], 'pesid2') + assert expected_target_equivalent == actual_target_equivalent, fail_description + + handler.set_default_channels(['eus', 'ga']) + + expected_target_equivalent = repositories[7] + actual_target_equivalent = handler._find_repository_target_equivalent(repositories[1], 'pesid2') + assert expected_target_equivalent == actual_target_equivalent, fail_description + + +def test_find_repository_target_equivalent_no_target_equivalent(monkeypatch, + mapping_data_for_find_repository_equiv): + """ + Test for the RepoMapDataHandler._find_repository_target_equivalent method. + + Verifies that the does not crash when there is no target repository that is equivalent to the + source repository. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='s390x', src_ver='7.9', dst_ver='8.4')) + handler = RepoMapDataHandler(mapping_data_for_find_repository_equiv) + + fail_description = 'The _find_repository_target_equivalent found target equivalent when there are none.' + + repository_with_no_equivalent = make_pesid_repo('pesid1', '7', 'pesid1-some-repoid', arch='s390x', rhui='aws') + target_equivalent = handler._find_repository_target_equivalent(repository_with_no_equivalent, 'pesid2') + assert target_equivalent is None, fail_description + + +def test_get_mapped_target_pesid_repos(monkeypatch, mapping_data_for_find_repository_equiv): + """ + Test for the RepoMapDataHandler.get_mapped_target_pesid_repos method. + + Verifies that the method correctly builds a map mapping the target pesid to the best candidate + pesid repos. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + repositories = mapping_data_for_find_repository_equiv.repositories + + handler = RepoMapDataHandler(mapping_data_for_find_repository_equiv) + + # Both pesid2 and pesid3 have an equivalent for provided source pesid repository + fail_description = ( + 'The get_mapped_target_pesid_repos failed to build a map mapping the target pesid ' + 'to the best pesid repository candidate.') + target_pesid_repos_map = handler.get_mapped_target_pesid_repos(repositories[0]) + expected_pesid_to_best_candidate_map = {'pesid2': repositories[2], 'pesid3': repositories[8]} + assert target_pesid_repos_map == expected_pesid_to_best_candidate_map, fail_description + + # The pesid3 does not have an equivalent for provided source pesid repository (due to not having any rhui repos) + target_pesid_repos_map = handler.get_mapped_target_pesid_repos(repositories[1]) + expected_pesid_to_best_candidate_map = {'pesid2': repositories[6], 'pesid3': None} + assert target_pesid_repos_map == expected_pesid_to_best_candidate_map, fail_description + + +def test_get_mapped_target_repoids(monkeypatch, mapping_data_for_find_repository_equiv): + """ + Test for the RepoMapDataHandler.get_mapped_target_repoids method. + + Verifies that the method returns a correct list of repoids that should be present on the target system. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + handler = RepoMapDataHandler(mapping_data_for_find_repository_equiv) + repositories = mapping_data_for_find_repository_equiv.repositories + + fail_description = ( + 'The get_mapped_target_repoids method failed to return the correct list of repoids ', + 'to be enabled on the target system.') + # Both pesid2 and pesid3 have an equivalent for provided source pesid repository + actual_target_repoids = handler.get_mapped_target_repoids(repositories[0]) + expected_target_repoids = {repositories[2].repoid, repositories[8].repoid} + assert len(actual_target_repoids) == len(expected_target_repoids), fail_description + assert set(actual_target_repoids) == expected_target_repoids, fail_description + + # The pesid3 does not have an equivalent for provided source pesid + # repository -> only one repository should be in the produced list + actual_target_repoids = handler.get_mapped_target_repoids(repositories[1]) + assert len(actual_target_repoids) == 1 + assert 'pesid2-repoid4.1' in actual_target_repoids, fail_description + + +def test_get_expected_target_repoids_simple(monkeypatch): + """ + Test for the RepoMapDataHandler.get_expected_target_repoids method. + + Verifies that the method is able to produce a correct map that maps target pesid to the best + candidate pesid repository when there is only one repoid enabled and the corresponding source + pesid repository has exact match target equivalent. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + repositories_mapping = RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2'])], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid') + ] + ) + fail_description = 'Failed to get_expected_target_repoids with only one repository enabled on the source system.' + handler = RepoMapDataHandler(repositories_mapping) + target_repoids = handler.get_expected_target_pesid_repos(['pesid1-repoid']) + + assert {'pesid2': repositories_mapping.repositories[1]} == target_repoids, fail_description + + +def test_get_expected_target_repoids_best_candidate_produced(monkeypatch): + """ + Test for the RepoMapDataHandler.get_expected_target_repoids method. + + Verifies that the method is able to produce a correct map that maps target pesid to the best + candidate pesid repository when there are two repositories with different priority channels + belonging to the same pesid family enabled on the source system and both have target + equivalents. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + repositories_mapping = RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2'])], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid-ga'), + make_pesid_repo('pesid1', '7', 'pesid1-repoid-eus', channel='eus'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-ga'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-eus', channel='eus'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-e4s', channel='e4s'), + ] + ) + + handler = RepoMapDataHandler(repositories_mapping) + target_repoids = handler.get_expected_target_pesid_repos(['pesid1-repoid-eus']) + + fail_description = ( + 'The get_expected_target_repoids failed to map target pesid to a pesid repository' + 'with the highest priority channel.' + ) + assert {'pesid2': repositories_mapping.repositories[3]} == target_repoids, fail_description + + +def test_get_expected_target_repoids_fallback(monkeypatch): + """ + Test for the RepoMapDataHandler.get_expected_target_repoids method. + + Verifies that the RepoMapDataHandler.get_expected_target_repoids method is able to produce a correct + map that maps target pesid to the best candidate pesid repository when there is a repository + on the source system that does not have exact match equivalent and some other with a fallback channel + must be found. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + repositories_mapping = RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2'])], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid-eus', channel='eus'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-ga'), + make_pesid_repo('pesid1', '8', 'pesid2-repoid-e4s', channel='e4s'), + ] + ) + + fail_description = ( + 'The get_expected_target_repoids failed to find repository with a failback channel ' + 'since there were no exact target equivalents.') + + handler = RepoMapDataHandler(repositories_mapping) + handler.set_default_channels(['ga']) + target_repoids = handler.get_expected_target_pesid_repos(['pesid1-repoid-eus']) + + assert {'pesid2': repositories_mapping.repositories[1]} == target_repoids, fail_description + + +def test_get_expected_target_pesid_repos_multiple_repositories(monkeypatch): + """ + Test for the RepoMapDataHandler.get_expected_target_repoids method. + + Verifies that the RepoMapDataHandler.get_expected_target_repoids method is able to produce a correct + map that maps target pesid to the best candidate pesid repository when one source pesid is mapped + to multiple target pesids (every target pesid should have an entry in the returned map). + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + repositories_mapping = RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2', 'pesid3'])], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid-ga'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-ga'), + make_pesid_repo('pesid3', '8', 'pesid3-repoid-ga') + ] + ) + + fail_description = 'Failed to get_expected_target_repoids when one source pesid is mapped to two target pesids.' + handler = RepoMapDataHandler(repositories_mapping) + target_repoids = handler.get_expected_target_pesid_repos(['pesid1-repoid-ga']) + + assert {'pesid2': repositories_mapping.repositories[1], + 'pesid3': repositories_mapping.repositories[2]} == target_repoids, fail_description + + +def test_get_expected_target_pesid_repos_unmapped_repository(monkeypatch): + """ + Test for the RepoMapDataHandler.get_expected_target_repoids method. + + Verifies that the RepoMapDataHandler.get_expected_target_repoids method does not fail + when there is a repository on the source system that is not mapped. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + repositories_mapping = RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2'])], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid-ga'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-ga') + ]) + + fail_description = 'Failed to get_expected_target_repoids when one of the source repoids is unmapped.' + handler = RepoMapDataHandler(repositories_mapping) + target_repoids = handler.get_expected_target_pesid_repos(['pesid1-repoid-ga', 'unmapped-repoid']) + + assert {'pesid2': repositories_mapping.repositories[1]} == target_repoids, fail_description + + +def test_get_expected_target_pesid_repos_repo_with_no_equivalent(monkeypatch, caplog): + """ + Test for the RepoMapDataHandler.get_expected_target_repoids method. + + Verifies that the RepoMapDataHandler.get_expected_target_repoids method does not fail + when there is a repository on the source system that does not have any equivalents. + A warning should be produced when a situation like this occurs. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + + repositories_mapping = RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2'])], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid-ga'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-eus', channel='eus'), + ] + ) + + handler = RepoMapDataHandler(repositories_mapping) + target_repoids = handler.get_expected_target_pesid_repos(['pesid1-repoid-ga']) + + fail_description = ( + 'Failed get_expected_target_repoids with a source repository that does not have any target equivalent.') + assert {'pesid2': None} == target_repoids, fail_description + missing_target_equivalent_message = ( + 'Cannot find any mapped target repository from the pesid2 family for the pesid1-repoid-ga repository.' + ) + + # A warning should be produced when a target equivalent was not found. + warning_produced = False + for record in caplog.records: + if record.levelno == logging.WARNING and record.message == missing_target_equivalent_message: + warning_produced = True + break + assert warning_produced, 'A warning should be produced when a repository has no equivalent.' + + +def test_get_default_repository_channels_simple(monkeypatch): + """ + Test for the get_default_repository_channels function. + + Verifies that the function returns correct list of default channels on a source system + where there is only one repository enabled from the pesid family in which are + the default repositories searched in. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + repository_mapping = RepositoriesMapping( + mapping=[], + repositories=[make_pesid_repo('rhel7-base', '7', 'rhel7-repoid-ga', channel='ga')] + ) + handler = RepoMapDataHandler(repository_mapping) + + assert ['ga'] == get_default_repository_channels(handler, ['rhel7-repoid-ga']) + + +def test_get_default_repository_channels_highest_priority_channel(monkeypatch): + """ + Test for the get_default_repository_channels function. + + Verifies that the returned list contains the highest priority channel if there is a repository + with the channel enabled on the source system. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + repository_mapping = RepositoriesMapping( + mapping=[], + repositories=[ + make_pesid_repo('rhel7-base', '7', 'rhel7-repoid-ga', channel='ga'), + make_pesid_repo('rhel7-base', '7', 'rhel7-repoid-eus', channel='eus'), + ] + ) + handler = RepoMapDataHandler(repository_mapping) + + assert ['eus', 'ga'] == get_default_repository_channels(handler, ['rhel7-repoid-ga', 'rhel7-repoid-eus']) + + +def test_get_default_repository_channels_no_default_pesid_repo(monkeypatch): + """ + Test for the get_default_repository_channels function. + + Verifies that the returned list contains some fallback channel even if no repository from the default + pesid family in which are the channels searched is enabled. + """ + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4')) + repository_mapping = RepositoriesMapping( + mapping=[], + repositories=[ + make_pesid_repo('rhel7-base', '7', 'rhel7-repoid-ga', channel='ga'), + make_pesid_repo('rhel7-base', '7', 'rhel7-repoid-eus', channel='eus'), + ] + ) + handler = RepoMapDataHandler(repository_mapping) + + assert ['ga'] == get_default_repository_channels(handler, ['some-repoid']) + + +def test_find_repository_equivalent_with_priority_channel(monkeypatch): + """ + Tests whether the _find_repository_target_equivalent correctly respects the chosen preferred channel. + """ + envars = {'LEAPP_DEVEL_TARGET_PRODUCT_TYPE': 'eus'} + + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4', envars=envars)) + repositories_mapping = RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2'])], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid-ga'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-ga', channel='ga'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-eus', channel='eus'), + ] + ) + + handler = RepoMapDataHandler(repositories_mapping) + handler.set_default_channels(['ga']) + + assert handler.prio_channel == 'eus' + + fail_description = '_find_repository_target_equivalent does not correctly respect preferred channel.' + expected_target_equivalent = repositories_mapping.repositories[2] + actual_target_equivalent = handler._find_repository_target_equivalent(repositories_mapping.repositories[0], + 'pesid2') + assert expected_target_equivalent == actual_target_equivalent, fail_description + + +def test_get_expected_target_pesid_repos_with_priority_channel_set(monkeypatch): + """ + Tests whether the get_expected_target_peid_repos correctly respects the chosen preferred channel. + """ + + envars = {'LEAPP_DEVEL_TARGET_PRODUCT_TYPE': 'eus'} + + monkeypatch.setattr(api, 'current_actor', + CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.4', envars=envars)) + + repositories_mapping = RepositoriesMapping( + mapping=[RepoMapEntry(source='pesid1', target=['pesid2', 'pesid3'])], + repositories=[ + make_pesid_repo('pesid1', '7', 'pesid1-repoid-ga'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-ga'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-eus', channel='eus'), + make_pesid_repo('pesid2', '8', 'pesid2-repoid-tuv', channel='tuv'), + make_pesid_repo('pesid3', '8', 'pesid3-repoid-ga') + ] + ) + + handler = RepoMapDataHandler(repositories_mapping) + # Set defaults to verify that the priority channel is not overwritten by defaults + handler.set_default_channels(['tuv', 'ga']) + target_repoids = handler.get_expected_target_pesid_repos(['pesid1-repoid-ga']) + + fail_description = 'get_expected_target_peid_repos does not correctly respect preferred channel.' + assert {'pesid2': repositories_mapping.repositories[2], + 'pesid3': repositories_mapping.repositories[4]} == target_repoids, fail_description + + +@pytest.mark.parametrize('rhui', ('', 'aws', 'aws-sap-e4s', 'azure', 'azure-sap-ha', 'azure-sap-apps')) +def test_multiple_repoids_in_repomapping(monkeypatch, rhui): + """ + Tests whether a correct repository is selected when running on cloud with multiple repositories having the same ID. + + In such a case, the actor should use the cloud provider as a guide on which of the repositores should it pick. + """ + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch='x86_64', src_ver='7.9', dst_ver='8.6')) + + mk_rhui_el7_pesid_repo = functools.partial(PESIDRepositoryEntry, + pesid='rhel7-rhui', + major_version='7', + repoid='repoid7-rhui', + repo_type='rpm', + arch='x86_64', + channel='ga') + + mk_rhui_el8_pesid_repo = functools.partial(PESIDRepositoryEntry, + pesid='rhel8-rhui', + major_version='8', + repo_type='rpm', + arch='x86_64', + channel='ga') + + repomap = RepositoriesMapping( + mapping=[RepoMapEntry(source='rhel7-rhui', target=['rhel8-rhui'])], + repositories=[ + mk_rhui_el7_pesid_repo(rhui=''), + mk_rhui_el7_pesid_repo(rhui='aws'), + mk_rhui_el7_pesid_repo(rhui='azure'), + mk_rhui_el8_pesid_repo(repoid='repoid8-rhui', rhui=''), + mk_rhui_el8_pesid_repo(repoid='repoid8-rhui-aws', rhui='aws'), + mk_rhui_el8_pesid_repo(repoid='repoid8-rhui-azure', rhui='azure'), + ] + ) + + handler = RepoMapDataHandler(repomap, cloud_provider=rhui) + target_repoids = handler.get_expected_target_pesid_repos(['repoid7-rhui']) + + assert len(target_repoids) == 1 + + expected_suffixes = { + '': '', + 'aws': '-aws', + 'aws-sap-e4s': '-aws', + 'azure': '-azure', + 'azure-sap-apps': '-azure', + 'azure-sap-ha': '-azure' + } + + assert 'rhel8-rhui' in target_repoids + assert target_repoids['rhel8-rhui'].repoid == 'repoid8-rhui{0}'.format(expected_suffixes[rhui]) diff --git a/repos/system_upgrade/common/actors/setuptargetrepos/tests/test_setuptargetrepos.py b/repos/system_upgrade/common/actors/setuptargetrepos/tests/test_setuptargetrepos.py new file mode 100644 index 0000000..ac7f49e --- /dev/null +++ b/repos/system_upgrade/common/actors/setuptargetrepos/tests/test_setuptargetrepos.py @@ -0,0 +1,196 @@ +import pytest + +from leapp.libraries import stdlib +from leapp.libraries.actor import setuptargetrepos +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import ( + CustomTargetRepository, + InstalledRPM, + PESIDRepositoryEntry, + RepoMapEntry, + RepositoriesBlacklisted, + RepositoriesFacts, + RepositoriesMapping, + RepositoriesSetupTasks, + RepositoryData, + RepositoryFile, + RPM, + TargetRepositories +) + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def mock_package(pkg_name, repository=None): + return RPM(name=pkg_name, version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51', repository=repository) + + +def test_minimal_execution(monkeypatch): + """ + Tests whether the actor does not fail if no messages except the RepositoriesMapping are provided. + """ + msgs = [ + RepositoriesMapping(mapping=[], repositories=[]) + ] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + setuptargetrepos.process() + + +def test_custom_repos(monkeypatch): + """ + Tests whether the CustomRepos provided to the actor are propagated to the TargetRepositories after + blacklist filtering is applied on them. + """ + custom = CustomTargetRepository(repoid='rhel-8-server-rpms', + name='RHEL 8 Server (RPMs)', + baseurl='https://.../dist/rhel/server/8/os', + enabled=True) + + blacklisted = CustomTargetRepository(repoid='rhel-8-blacklisted-rpms', + name='RHEL 8 Blacklisted (RPMs)', + baseurl='https://.../dist/rhel/blacklisted/8/os', + enabled=True) + + repos_blacklisted = RepositoriesBlacklisted(repoids=['rhel-8-blacklisted-rpms']) + + repositories_mapping = RepositoriesMapping( + mapping=[], + repositories=[] + ) + + msgs = [custom, blacklisted, repos_blacklisted, repositories_mapping] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + setuptargetrepos.process() + + assert api.produce.called + + custom_repos = api.produce.model_instances[0].custom_repos + assert len(custom_repos) == 1 + assert custom_repos[0].repoid == 'rhel-8-server-rpms' + + +def test_repositories_setup_tasks(monkeypatch): + """ + Tests whether the actor propagates repositories received via a RepositoriesSetupTasks message + to the resulting TargetRepositories (and blacklist filtering is applied to them). + """ + repositories_setup_tasks = RepositoriesSetupTasks(to_enable=['rhel-8-server-rpms', + 'rhel-8-blacklisted-rpms']) + repos_blacklisted = RepositoriesBlacklisted(repoids=['rhel-8-blacklisted-rpms']) + repositories_mapping = RepositoriesMapping(mapping=[], repositories=[]) + msgs = [repositories_setup_tasks, repos_blacklisted, repositories_mapping] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + setuptargetrepos.process() + + assert api.produce.called + + rhel_repos = api.produce.model_instances[0].rhel_repos + assert len(rhel_repos) == 1 + assert rhel_repos[0].repoid == 'rhel-8-server-rpms' + + +def test_repos_mapping(monkeypatch): + """ + Tests whether actor correctly determines what repositories should be enabled on target based + on the information about what repositories are enabled on the source system using + the RepositoriesMapping information. + """ + repos_data = [ + RepositoryData(repoid='rhel-7-server-rpms', name='RHEL 7 Server'), + RepositoryData(repoid='rhel-7-blacklisted-rpms', name='RHEL 7 Blacklisted')] + + repos_files = [RepositoryFile(file='/etc/yum.repos.d/redhat.repo', data=repos_data)] + facts = RepositoriesFacts(repositories=repos_files) + installed_rpms = InstalledRPM( + items=[mock_package('foreman', 'rhel-7-for-x86_64-satellite-extras-rpms'), + mock_package('foreman-proxy', 'nosuch-rhel-7-for-x86_64-satellite-extras-rpms')]) + + repomap = RepositoriesMapping( + mapping=[RepoMapEntry(source='rhel7-base', target=['rhel8-baseos', 'rhel8-appstream', 'rhel8-blacklist']), + RepoMapEntry(source='rhel7-satellite-extras', target=['rhel8-satellite-extras'])], + repositories=[ + PESIDRepositoryEntry( + pesid='rhel7-base', + repoid='rhel-7-server-rpms', + major_version='7', + arch='x86_64', + repo_type='rpm', + channel='ga', + rhui='' + ), + PESIDRepositoryEntry( + pesid='rhel8-baseos', + repoid='rhel-8-for-x86_64-baseos-htb-rpms', + major_version='8', + arch='x86_64', + repo_type='rpm', + channel='ga', + rhui='' + ), + PESIDRepositoryEntry( + pesid='rhel8-appstream', + repoid='rhel-8-for-x86_64-appstream-htb-rpms', + major_version='8', + arch='x86_64', + repo_type='rpm', + channel='ga', + rhui='' + ), + PESIDRepositoryEntry( + pesid='rhel8-blacklist', + repoid='rhel-8-blacklisted-rpms', + major_version='8', + arch='x86_64', + repo_type='rpm', + channel='ga', + rhui='' + ), + PESIDRepositoryEntry( + pesid='rhel7-satellite-extras', + repoid='rhel-7-for-x86_64-satellite-extras-rpms', + major_version='7', + arch='x86_64', + repo_type='rpm', + channel='ga', + rhui='' + ), + PESIDRepositoryEntry( + pesid='rhel8-satellite-extras', + repoid='rhel-8-for-x86_64-satellite-extras-rpms', + major_version='8', + arch='x86_64', + repo_type='rpm', + channel='ga', + rhui='' + ), + ] + ) + + repos_blacklisted = RepositoriesBlacklisted(repoids=['rhel-8-blacklisted-rpms']) + + msgs = [facts, repomap, repos_blacklisted, installed_rpms] + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(api, 'produce', produce_mocked()) + + setuptargetrepos.process() + assert api.produce.called + + rhel_repos = api.produce.model_instances[0].rhel_repos + assert len(rhel_repos) == 3 + + produced_rhel_repoids = {repo.repoid for repo in rhel_repos} + expected_rhel_repoids = {'rhel-8-for-x86_64-baseos-htb-rpms', 'rhel-8-for-x86_64-appstream-htb-rpms', + 'rhel-8-for-x86_64-satellite-extras-rpms'} + assert produced_rhel_repoids == expected_rhel_repoids diff --git a/repos/system_upgrade/common/actors/storagescanner/actor.py b/repos/system_upgrade/common/actors/storagescanner/actor.py new file mode 100644 index 0000000..15b3cc6 --- /dev/null +++ b/repos/system_upgrade/common/actors/storagescanner/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor import storagescanner +from leapp.models import StorageInfo +from leapp.reporting import Report +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class StorageScanner(Actor): + """ + Provides data about storage settings. + + After collecting data from tools like mount, lsblk, pvs, vgs and lvdisplay, and relevant files + under /proc/partitions and /etc/fstab, a message with relevant data will be produced. + """ + + name = 'storage_scanner' + consumes = () + produces = (Report, StorageInfo) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + self.produce(storagescanner.get_storage_info()) diff --git a/repos/system_upgrade/common/actors/storagescanner/libraries/storagescanner.py b/repos/system_upgrade/common/actors/storagescanner/libraries/storagescanner.py new file mode 100644 index 0000000..f15f0d8 --- /dev/null +++ b/repos/system_upgrade/common/actors/storagescanner/libraries/storagescanner.py @@ -0,0 +1,274 @@ +import functools +import os +import subprocess + +import pyudev + +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import ( + FstabEntry, + LsblkEntry, + LvdisplayEntry, + MountEntry, + PartitionEntry, + PvsEntry, + StorageInfo, + SystemdMountEntry, + VgsEntry +) + + +def aslist(f): + """ Decorator used to convert generator to list """ + @functools.wraps(f) + def inner(*args, **kwargs): + return list(f(*args, **kwargs)) + return inner + + +def _is_file_readable(path): + """ Verify if file exists and is readable """ + return os.path.isfile(path) and os.access(path, os.R_OK) + + +def _get_cmd_output(cmd, delim, expected_len): + """ Verify if command exists and return output """ + if not any(os.access(os.path.join(path, cmd[0]), os.X_OK) for path in os.environ['PATH'].split(os.pathsep)): + api.current_logger().warning("'%s': command not found" % cmd[0]) + return + + try: + # FIXME: Will keep call to subprocess until our stdlib supports "env" parameter + # when there is any fd except 0,1,2 open, lvm closes the fd and prints a warning. + # In our case /dev/urandom has other fd opened, probably for caching purposes. + output = subprocess.check_output(cmd, env={'LVM_SUPPRESS_FD_WARNINGS': '1', 'PATH': os.environ['PATH']}) + + except subprocess.CalledProcessError as e: + api.current_logger().debug("Command '%s' return non-zero exit status: %s" % (" ".join(cmd), e.returncode)) + return + + if bytes is not str: + output = output.decode('utf-8') + + for entry in output.split('\n'): + entry = entry.strip() + if not entry: + continue + + data = entry.split(delim) + data.extend([''] * (expected_len - len(data))) + + yield data + + +@aslist +def _get_partitions_info(partitions_path): + """ Collect storage info from /proc/partitions file """ + if _is_file_readable(partitions_path): + with open(partitions_path, 'r') as partitions: + skipped_header = False + for entry in partitions: + if entry.startswith('#'): + continue + + if not skipped_header: + skipped_header = True + continue + + entry = entry.strip() + if not entry: + continue + + major, minor, blocks, name = entry.split() + yield PartitionEntry( + major=major, + minor=minor, + blocks=blocks, + name=name) + + +@aslist +def _get_fstab_info(fstab_path): + """ Collect storage info from /etc/fstab file """ + if _is_file_readable(fstab_path): + with open(fstab_path, 'r') as fstab: + for line, entry in enumerate(fstab, 1): + if entry.startswith('#'): + continue + + entry = entry.strip() + if not entry: + continue + + entries = entry.split() + + if len(entries) == 4: + entries.append('0') + + if len(entries) == 5: + entries.append('0') + + if len(entries) != 6: + if any(value.startswith('#') for value in entries): + remediation = ( + 'Comments in the /etc/fstab file must be at the beginning of the line, your file has a' + ' comment at the end of the line at line {}, please edit and fix this, for further' + ' information read fstab man page (man 5 fstab).'.format(line) + ) + else: + remediation = ( + 'The /etc/fstab file must have at least 4 values and at most 6 per line, your file on the' + ' line: {} have {} values, please edit and fix this, for further information read' + ' fstab man page (man 5 fstab). '.format(line, len(entries)) + ) + summary = ( + 'The fstab configuration file seems to be invalid. You need to fix it to be able to proceed' + ' with the upgrade process.' + ) + reporting.create_report([ + reporting.Title('Problems with parsing data in /etc/fstab'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.FILESYSTEM]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint=remediation), + reporting.RelatedResource('file', '/etc/fstab') + ]) + + api.current_logger().error(summary) + break + + # NOTE: fstab entries are yielded in the same order as in the /etc/fstab + fs_spec, fs_file, fs_vfstype, fs_mntops, fs_freq, fs_passno = entries + yield FstabEntry( + fs_spec=fs_spec, + fs_file=fs_file, + fs_vfstype=fs_vfstype, + fs_mntops=fs_mntops, + fs_freq=fs_freq, + fs_passno=fs_passno) + + +@aslist +def _get_mount_info(path): + """ Collect storage info """ + with open(path, 'r') as fp: + for line in [l.strip() for l in fp.readlines()]: + device, mount, tp, options, _, _ = line.split(' ') + yield MountEntry( + name=device, + mount=mount, + tp=tp, + options=options + ) + + +@aslist +def _get_lsblk_info(): + """ Collect storage info from lsblk command """ + cmd = ['lsblk', '-pbnr', '--output', 'NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT'] + for entry in _get_cmd_output(cmd, ' ', 7): + dev_path, maj_min, rm, bsize, ro, tp, mountpoint = entry + lsblk_cmd = ['lsblk', '-nr', '--output', 'NAME,KNAME,SIZE', dev_path] + lsblk_info_for_devpath = next(_get_cmd_output(lsblk_cmd, ' ', 3), None) + if not lsblk_info_for_devpath: + return + + name, kname, size = lsblk_info_for_devpath + yield LsblkEntry( + name=name, + kname=kname, + maj_min=maj_min, + rm=rm, + size=size, + bsize=int(bsize), + ro=ro, + tp=tp, + mountpoint=mountpoint) + + +@aslist +def _get_pvs_info(): + """ Collect storage info from pvs command """ + for entry in _get_cmd_output(['pvs', '--noheadings', '--separator', r':'], ':', 6): + pv, vg, fmt, attr, psize, pfree = entry + yield PvsEntry( + pv=pv, + vg=vg, + fmt=fmt, + attr=attr, + psize=psize, + pfree=pfree) + + +@aslist +def _get_vgs_info(): + """ Collect storage info from vgs command """ + for entry in _get_cmd_output(['vgs', '--noheadings', '--separator', r':'], ':', 7): + vg, pv, lv, sn, attr, vsize, vfree = entry + yield VgsEntry( + vg=vg, + pv=pv, + lv=lv, + sn=sn, + attr=attr, + vsize=vsize, + vfree=vfree) + + +@aslist +def _get_lvdisplay_info(): + """ Collect storage info from lvdisplay command """ + for entry in _get_cmd_output(['lvdisplay', '-C', '--noheadings', '--separator', r':'], ':', 12): + lv, vg, attr, lsize, pool, origin, data, meta, move, log, cpy_sync, convert = entry + yield LvdisplayEntry( + lv=lv, + vg=vg, + attr=attr, + lsize=lsize, + pool=pool, + origin=origin, + data=data, + meta=meta, + move=move, + log=log, + cpy_sync=cpy_sync, + convert=convert) + + +@aslist +def _get_systemd_mount_info(): + """ + Collect the same storage info as provided by the systemd-mount command. + + The actual implementation no longer relies on calling the systemd-mount, but rather collects the same information + from udev directly using pyudev. The systemd-mount output parsing has proved not to be unreliable due to + its tabular format. + """ + ctx = pyudev.Context() + # Filter the devices in the same way `systemd-mount --list` does + for device in ctx.list_devices(subsystem='block', ID_FS_USAGE='filesystem'): + # Use 'n/a' to provide the same value for unknown output fields same way the systemd-mount does + yield SystemdMountEntry( + node=device.device_node, + path=device.get('ID_PATH', default='n/a'), + model=device.get('ID_MODEL', default='n/a'), + wwn=device.get('ID_WWN', default='n/a'), + fs_type=device.get('ID_FS_TYPE', default='n/a'), + label=device.get('ID_FS_LABEL', default='n/a'), + uuid=device.get('ID_FS_UUID', default='n/a') + ) + + +def get_storage_info(): + """ Collect multiple info about storage and return it """ + return StorageInfo( + partitions=_get_partitions_info('/proc/partitions'), + fstab=_get_fstab_info('/etc/fstab'), + mount=_get_mount_info('/proc/mounts'), + lsblk=_get_lsblk_info(), + pvs=_get_pvs_info(), + vgs=_get_vgs_info(), + lvdisplay=_get_lvdisplay_info(), + systemdmount=_get_systemd_mount_info()) diff --git a/repos/system_upgrade/common/actors/storagescanner/tests/files/fstab b/repos/system_upgrade/common/actors/storagescanner/tests/files/fstab new file mode 100644 index 0000000..4c8ea7b --- /dev/null +++ b/repos/system_upgrade/common/actors/storagescanner/tests/files/fstab @@ -0,0 +1,14 @@ + +# +# /etc/fstab +# Created by anaconda on Thu Nov 15 16:05:33 2018 +# +# Accessible filesystems, by reference, are maintained under '/dev/disk' +# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info +# +/dev/mapper/rhel_ibm--p8--kvm--03--guest--02-root / xfs defaults 0 0 +UUID=0a5215ef-1fb4-4b1b-8860-be4baa9e624c /boot xfs defaults 0 1 +UUID=acf9f525-3691-429f-96d7-3f8530227062 /var xfs defaults +# Testing comment at the middle of valid lines +UUID=d74186c9-21d5-4549-ae26-91ca9ed36f56 /tmp ext4 defaults,nodev,nosuid,noexec 1 +/dev/mapper/rhel_ibm--p8--kvm--03--guest--02-swap swap swap defaults 0 0 diff --git a/repos/system_upgrade/common/actors/storagescanner/tests/files/invalid_fstab b/repos/system_upgrade/common/actors/storagescanner/tests/files/invalid_fstab new file mode 100644 index 0000000..78253c5 --- /dev/null +++ b/repos/system_upgrade/common/actors/storagescanner/tests/files/invalid_fstab @@ -0,0 +1,11 @@ + +# +# /etc/fstab +# Created by anaconda on Thu Nov 15 16:05:33 2018 +# +# Accessible filesystems, by reference, are maintained under '/dev/disk' +# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info +# + +/dev/mapper/rhel_ibm--p8--kvm--03--guest--02-root / xfs defaults 0 0 +UUID=0a5215ef-1fb4-4b1b-8860-be4baa9e624c /boot xfs diff --git a/repos/system_upgrade/common/actors/storagescanner/tests/files/mounts b/repos/system_upgrade/common/actors/storagescanner/tests/files/mounts new file mode 100644 index 0000000..007ca12 --- /dev/null +++ b/repos/system_upgrade/common/actors/storagescanner/tests/files/mounts @@ -0,0 +1,38 @@ +sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0 +proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 +devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=16131092k,nr_inodes=4032773,mode=755 0 0 +securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 +tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0 +devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 +tmpfs /run tmpfs rw,seclabel,nosuid,nodev,mode=755 0 0 +tmpfs /sys/fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=755 0 0 +cgroup2 /sys/fs/cgroup/unified cgroup2 rw,seclabel,nosuid,nodev,noexec,relatime,nsdelegate 0 0 +cgroup /sys/fs/cgroup/systemd cgroup rw,seclabel,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0 +pstore /sys/fs/pstore pstore rw,seclabel,nosuid,nodev,noexec,relatime 0 0 +bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0 +cgroup /sys/fs/cgroup/cpuset cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuset 0 0 +cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0 +cgroup /sys/fs/cgroup/hugetlb cgroup rw,seclabel,nosuid,nodev,noexec,relatime,hugetlb 0 0 +cgroup /sys/fs/cgroup/pids cgroup rw,seclabel,nosuid,nodev,noexec,relatime,pids 0 0 +cgroup /sys/fs/cgroup/freezer cgroup rw,seclabel,nosuid,nodev,noexec,relatime,freezer 0 0 +cgroup /sys/fs/cgroup/blkio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,blkio 0 0 +cgroup /sys/fs/cgroup/devices cgroup rw,seclabel,nosuid,nodev,noexec,relatime,devices 0 0 +cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0 +cgroup /sys/fs/cgroup/memory cgroup rw,seclabel,nosuid,nodev,noexec,relatime,memory 0 0 +cgroup /sys/fs/cgroup/perf_event cgroup rw,seclabel,nosuid,nodev,noexec,relatime,perf_event 0 0 +configfs /sys/kernel/config configfs rw,relatime 0 0 +/dev/mapper/fedora-root / ext4 rw,seclabel,relatime 0 0 +selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0 +debugfs /sys/kernel/debug debugfs rw,seclabel,relatime 0 0 +hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime,pagesize=2M 0 0 +systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=38,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=14019 0 0 +mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0 +fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 +tmpfs /tmp tmpfs rw,seclabel,nosuid,nodev 0 0 +/dev/nvme0n1p1 /boot ext4 rw,seclabel,relatime 0 0 +/dev/mapper/fedora-home /home ext4 rw,seclabel,relatime 0 0 +sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0 +tmpfs /run/user/1000 tmpfs rw,seclabel,nosuid,nodev,relatime,size=3229704k,mode=700,uid=1000,gid=1000 0 0 +tmpfs /run/user/42 tmpfs rw,seclabel,nosuid,nodev,relatime,size=3229704k,mode=700,uid=42,gid=42 0 0 +gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0 +/dev/loop2p1 /mnt/foo\040bar iso9660 ro,nosuid,nodev,relatime,nojoliet,check=s,map=n,blocksize=2048 0 0 \ No newline at end of file diff --git a/repos/system_upgrade/common/actors/storagescanner/tests/files/partitions b/repos/system_upgrade/common/actors/storagescanner/tests/files/partitions new file mode 100644 index 0000000..209c2b6 --- /dev/null +++ b/repos/system_upgrade/common/actors/storagescanner/tests/files/partitions @@ -0,0 +1,7 @@ +major minor #blocks name + + 252 0 41943040 vda + 252 1 1048576 vda1 + 252 2 40893440 vda2 + 253 0 39837696 dm-0 + 253 1 1048576 dm-1 diff --git a/repos/system_upgrade/common/actors/storagescanner/tests/unit_test_storagescanner.py b/repos/system_upgrade/common/actors/storagescanner/tests/unit_test_storagescanner.py new file mode 100644 index 0000000..4dc11ea --- /dev/null +++ b/repos/system_upgrade/common/actors/storagescanner/tests/unit_test_storagescanner.py @@ -0,0 +1,500 @@ +import functools +import os + +import pyudev + +from leapp import reporting +from leapp.libraries.actor import storagescanner +from leapp.libraries.common.testutils import create_report_mocked, logger_mocked +from leapp.libraries.stdlib import api +from leapp.models import ( + FstabEntry, + LsblkEntry, + LvdisplayEntry, + MountEntry, + PartitionEntry, + PvsEntry, + SystemdMountEntry, + VgsEntry +) +from leapp.utils.report import is_inhibitor + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def test_get_partitions_info(monkeypatch): + def is_file_readable_mocked(path): + return False + + expected = [ + PartitionEntry(major='252', minor='0', blocks='41943040', name='vda'), + PartitionEntry(major='252', minor='1', blocks='1048576', name='vda1'), + PartitionEntry(major='252', minor='2', blocks='40893440', name='vda2'), + PartitionEntry(major='253', minor='0', blocks='39837696', name='dm-0'), + PartitionEntry(major='253', minor='1', blocks='1048576', name='dm-1')] + assert expected == storagescanner._get_partitions_info(os.path.join(CUR_DIR, 'files/partitions')) + + monkeypatch.setattr(storagescanner, '_is_file_readable', is_file_readable_mocked) + assert [] == storagescanner._get_partitions_info('unreadable_file') + + +def test_get_fstab_info(monkeypatch): + expected = [ + FstabEntry( + fs_spec='/dev/mapper/rhel_ibm--p8--kvm--03--guest--02-root', + fs_file='/', + fs_vfstype='xfs', + fs_mntops='defaults', + fs_freq='0', + fs_passno='0'), + FstabEntry( + fs_spec='UUID=0a5215ef-1fb4-4b1b-8860-be4baa9e624c', + fs_file='/boot', + fs_vfstype='xfs', + fs_mntops='defaults', + fs_freq='0', + fs_passno='1'), + FstabEntry( + fs_spec='UUID=acf9f525-3691-429f-96d7-3f8530227062', + fs_file='/var', + fs_vfstype='xfs', + fs_mntops='defaults', + fs_freq='0', + fs_passno='0'), + FstabEntry( + fs_spec='UUID=d74186c9-21d5-4549-ae26-91ca9ed36f56', + fs_file='/tmp', + fs_vfstype='ext4', + fs_mntops='defaults,nodev,nosuid,noexec', + fs_freq='1', + fs_passno='0'), + FstabEntry( + fs_spec='/dev/mapper/rhel_ibm--p8--kvm--03--guest--02-swap', + fs_file='swap', + fs_vfstype='swap', + fs_mntops='defaults', + fs_freq='0', + fs_passno='0')] + assert expected == storagescanner._get_fstab_info(os.path.join(CUR_DIR, 'files/fstab')) + monkeypatch.setattr(storagescanner, '_is_file_readable', lambda dummy: False) + assert [] == storagescanner._get_fstab_info('unreadable_file') + + +def test_invalid_fstab_info(monkeypatch): + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + storagescanner._get_fstab_info(os.path.join(CUR_DIR, 'files/invalid_fstab')) + assert reporting.create_report.called == 1 + assert reporting.create_report.report_fields['severity'] == 'high' + assert 'Problems with parsing data in /etc/fstab' in reporting.create_report.report_fields['title'] + assert is_inhibitor(reporting.create_report.report_fields) + assert any("The fstab configuration file seems to be invalid" in msg for msg in api.current_logger.errmsg) + + +def test_get_mount_info(monkeypatch): + expected = [ + MountEntry( + name='sysfs', mount='/sys', tp='sysfs', + options='rw,seclabel,nosuid,nodev,noexec,relatime' + ), + MountEntry( + name='proc', mount='/proc', tp='proc', + options='rw,nosuid,nodev,noexec,relatime' + ), + MountEntry( + name='devtmpfs', mount='/dev', tp='devtmpfs', + options='rw,seclabel,nosuid,size=16131092k,nr_inodes=4032773,mode=755' + ), + MountEntry( + name='securityfs', mount='/sys/kernel/security', tp='securityfs', + options='rw,nosuid,nodev,noexec,relatime' + ), + MountEntry( + name='tmpfs', mount='/dev/shm', tp='tmpfs', + options='rw,seclabel,nosuid,nodev' + ), + MountEntry( + name='devpts', mount='/dev/pts', tp='devpts', + options='rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000' + ), + MountEntry( + name='tmpfs', mount='/run', tp='tmpfs', + options='rw,seclabel,nosuid,nodev,mode=755' + ), + MountEntry( + name='tmpfs', mount='/sys/fs/cgroup', tp='tmpfs', + options='ro,seclabel,nosuid,nodev,noexec,mode=755' + ), + MountEntry( + name='cgroup2', mount='/sys/fs/cgroup/unified', tp='cgroup2', + options='rw,seclabel,nosuid,nodev,noexec,relatime,nsdelegate' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/systemd', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,xattr,name=systemd' + ), + MountEntry( + name='pstore', mount='/sys/fs/pstore', tp='pstore', + options='rw,seclabel,nosuid,nodev,noexec,relatime' + ), + MountEntry( + name='bpf', mount='/sys/fs/bpf', tp='bpf', + options='rw,nosuid,nodev,noexec,relatime,mode=700' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/cpuset', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,cpuset' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/net_cls,net_prio', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,net_cls,net_prio' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/hugetlb', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,hugetlb' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/pids', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,pids' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/freezer', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,freezer' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/blkio', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,blkio' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/devices', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,devices' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/cpu,cpuacct', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,cpu,cpuacct' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/memory', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,memory' + ), + MountEntry( + name='cgroup', mount='/sys/fs/cgroup/perf_event', tp='cgroup', + options='rw,seclabel,nosuid,nodev,noexec,relatime,perf_event' + ), + MountEntry( + name='configfs', mount='/sys/kernel/config', tp='configfs', + options='rw,relatime' + ), + MountEntry( + name='/dev/mapper/fedora-root', mount='/', tp='ext4', + options='rw,seclabel,relatime' + ), + MountEntry( + name='selinuxfs', mount='/sys/fs/selinux', tp='selinuxfs', + options='rw,relatime' + ), + MountEntry( + name='debugfs', mount='/sys/kernel/debug', tp='debugfs', + options='rw,seclabel,relatime' + ), + MountEntry( + name='hugetlbfs', mount='/dev/hugepages', tp='hugetlbfs', + options='rw,seclabel,relatime,pagesize=2M' + ), + MountEntry( + name='systemd-1', mount='/proc/sys/fs/binfmt_misc', tp='autofs', + options='rw,relatime,fd=38,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=14019' + ), + MountEntry( + name='mqueue', mount='/dev/mqueue', tp='mqueue', + options='rw,seclabel,relatime' + ), + MountEntry( + name='fusectl', mount='/sys/fs/fuse/connections', tp='fusectl', + options='rw,relatime' + ), + MountEntry( + name='tmpfs', mount='/tmp', tp='tmpfs', + options='rw,seclabel,nosuid,nodev' + ), + MountEntry( + name='/dev/nvme0n1p1', mount='/boot', tp='ext4', + options='rw,seclabel,relatime' + ), + MountEntry( + name='/dev/mapper/fedora-home', mount='/home', tp='ext4', + options='rw,seclabel,relatime' + ), + MountEntry( + name='sunrpc', mount='/var/lib/nfs/rpc_pipefs', tp='rpc_pipefs', + options='rw,relatime' + ), + MountEntry( + name='tmpfs', mount='/run/user/1000', tp='tmpfs', + options='rw,seclabel,nosuid,nodev,relatime,size=3229704k,mode=700,uid=1000,gid=1000' + ), + MountEntry( + name='tmpfs', mount='/run/user/42', tp='tmpfs', + options='rw,seclabel,nosuid,nodev,relatime,size=3229704k,mode=700,uid=42,gid=42' + ), + MountEntry( + name='gvfsd-fuse', mount='/run/user/1000/gvfs', + tp='fuse.gvfsd-fuse', options='rw,nosuid,nodev,relatime,user_id=1000,group_id=1000' + ), + MountEntry( + name='/dev/loop2p1', mount='/mnt/foo\\040bar', tp='iso9660', + options='ro,nosuid,nodev,relatime,nojoliet,check=s,map=n,blocksize=2048' + ) + ] + + assert expected == storagescanner._get_mount_info(os.path.join(CUR_DIR, 'files/mounts')) + + +def test_get_lsblk_info(monkeypatch): + bytes_per_gb = 1 << 30 + + def get_cmd_output_mocked(cmd, delim, expected_len): + if cmd == ['lsblk', '-pbnr', '--output', 'NAME,MAJ:MIN,RM,SIZE,RO,TYPE,MOUNTPOINT']: + output_lines_split_on_whitespace = [ + ['vda', '252:0', '0', str(40 * bytes_per_gb), '0', 'disk', ''], + ['vda1', '252:1', '0', str(1 * bytes_per_gb), '0', 'part', '/boot'], + ['vda2', '252:2', '0', str(39 * bytes_per_gb), '0', 'part', ''], + ['rhel_ibm--p8--kvm--03--guest--02-root', '253:0', '0', str(38 * bytes_per_gb), '0', 'lvm', '/'], + ['rhel_ibm--p8--kvm--03--guest--02-swap', '253:1', '0', str(1 * bytes_per_gb), '0', 'lvm', '[SWAP]'] + ] + for output_line_parts in output_lines_split_on_whitespace: + yield output_line_parts + elif len(cmd) == 5 and cmd[:4] == ['lsblk', '-nr', '--output', 'NAME,KNAME,SIZE']: + # We cannot have the output in a list, since the command is called per device. Therefore, we have to map + # each device path to its output. + output_lines_split_on_whitespace_per_device = { + 'vda': ['vda', 'vda', '40G'], + 'vda1': ['vda1', 'vda1', '1G'], + 'vda2': ['vda2', 'vda2', '39G'], + 'rhel_ibm--p8--kvm--03--guest--02-root': ['rhel_ibm--p8--kvm--03--guest--02-root', 'kname1', '38G'], + 'rhel_ibm--p8--kvm--03--guest--02-swap': ['rhel_ibm--p8--kvm--03--guest--02-swap', 'kname2', '1G'] + } + dev_path = cmd[4] + if dev_path not in output_lines_split_on_whitespace_per_device: + raise ValueError('Attempting to call lsblk on an unexpected device: {}'.format(dev_path)) + yield output_lines_split_on_whitespace_per_device[dev_path] + + else: + raise ValueError('Attempting to call unexpected command: {}'.format(cmd)) + + monkeypatch.setattr(storagescanner, '_get_cmd_output', get_cmd_output_mocked) + expected = [ + LsblkEntry( + name='vda', + kname='vda', + maj_min='252:0', + rm='0', + size='40G', + bsize=40 * bytes_per_gb, + ro='0', + tp='disk', + mountpoint=''), + LsblkEntry( + name='vda1', + kname='vda1', + maj_min='252:1', + rm='0', + size='1G', + bsize=1 * bytes_per_gb, + ro='0', + tp='part', + mountpoint='/boot'), + LsblkEntry( + name='vda2', + kname='vda2', + maj_min='252:2', + rm='0', + size='39G', + bsize=39 * bytes_per_gb, + ro='0', + tp='part', + mountpoint=''), + LsblkEntry( + name='rhel_ibm--p8--kvm--03--guest--02-root', + kname='kname1', + maj_min='253:0', + rm='0', + size='38G', + bsize=38 * bytes_per_gb, + ro='0', + tp='lvm', + mountpoint='/'), + LsblkEntry( + name='rhel_ibm--p8--kvm--03--guest--02-swap', + kname='kname2', + maj_min='253:1', + rm='0', + size='1G', + bsize=1 * bytes_per_gb, + ro='0', + tp='lvm', + mountpoint='[SWAP]')] + + actual = storagescanner._get_lsblk_info() + assert expected == actual + + +def test_get_pvs_info(monkeypatch): + def get_cmd_output_mocked(cmd, delim, expected_len): + return [ + ['/dev/vda2', 'rhel_ibm-p8-kvm-03-guest-02', 'lvm2', 'a--', '<39.00g', '4.00m']] + + monkeypatch.setattr(storagescanner, '_get_cmd_output', get_cmd_output_mocked) + expected = [ + PvsEntry( + pv='/dev/vda2', + vg='rhel_ibm-p8-kvm-03-guest-02', + fmt='lvm2', + attr='a--', + psize='<39.00g', + pfree='4.00m')] + assert expected == storagescanner._get_pvs_info() + + +def test_get_vgs_info(monkeypatch): + def get_cmd_output_mocked(cmd, delim, expected_len): + return [ + ['rhel_ibm-p8-kvm-03-guest-02', '1', '2', '0', 'wz--n-', '<39.00g', '4.00m']] + + monkeypatch.setattr(storagescanner, '_get_cmd_output', get_cmd_output_mocked) + expected = [ + VgsEntry( + vg='rhel_ibm-p8-kvm-03-guest-02', + pv='1', + lv='2', + sn='0', + attr='wz--n-', + vsize='<39.00g', + vfree='4.00m')] + assert expected == storagescanner._get_vgs_info() + + +def test_get_lvdisplay_info(monkeypatch): + def get_cmd_output_mocked(cmd, delim, expected_len): + return [ + ['root', 'rhel_ibm-p8-kvm-03-guest-02', '-wi-ao----', '37.99g', '', '', '', '', '', '', '', ''], + ['swap', 'rhel_ibm-p8-kvm-03-guest-02', '-wi-ao----', '1.00g', '', '', '', '', '', '', '', '']] + + monkeypatch.setattr(storagescanner, '_get_cmd_output', get_cmd_output_mocked) + expected = [ + LvdisplayEntry( + lv='root', + vg='rhel_ibm-p8-kvm-03-guest-02', + attr='-wi-ao----', + lsize='37.99g', + pool='', + origin='', + data='', + meta='', + move='', + log='', + cpy_sync='', + convert=''), + LvdisplayEntry( + lv='swap', + vg='rhel_ibm-p8-kvm-03-guest-02', + attr='-wi-ao----', + lsize='1.00g', + pool='', + origin='', + data='', + meta='', + move='', + log='', + cpy_sync='', + convert='')] + assert expected == storagescanner._get_lvdisplay_info() + + +def test_get_systemd_mount_info(monkeypatch): + + class UdevDeviceMocked(object): + def __init__(self, device_node, path, model, wwn, fs_type, label, uuid): + self.device_node = device_node + # Simulate udev device attributes that should be queried + self.device_attributes = { + 'ID_PATH': path, + 'ID_MODEL': model, + 'ID_WWN': wwn, + 'ID_FS_TYPE': fs_type, + 'ID_FS_LABEL': label, + 'ID_FS_UUID': uuid, + } + + def get(self, attribute, default=None): + if attribute not in self.device_attributes: + raise KeyError('Actor tried to query an udev device attribute that is not a part of the mocks.') + + if self.device_attributes[attribute] is None: + return default + + return self.device_attributes[attribute] + + class UdevContextMocked(object): + def __init__(self, mocked_devices): + self.mocked_devices = mocked_devices + + def list_devices(self, **dummy_kwargs): + return self.mocked_devices + + mocked_block_devices = [ + UdevDeviceMocked( + device_node='/dev/dm-1', + path=None, + model=None, + wwn=None, + fs_type='ext4', + label=None, + uuid='bec30ca5-5403-4c23-ae6e-cb2a911bc076'), + UdevDeviceMocked( + device_node='/dev/dm-3', + path=None, + model=None, + wwn=None, + fs_type='ext4', + label=None, + uuid='d6eaf17d-e2a9-4e8d-bb54-a89c18923ea2'), + UdevDeviceMocked( + device_node='/dev/sda1', + path='pci-0000:00:17.0-ata-2', + model='LITEON_LCH-256V2S', + wwn='0x5002303100d82b06', + fs_type='ext4', + label=None, + uuid='c3890bf3-9273-4877-ad1f-68144e1eb858')] + + # Partially apply mocked_block_devices to the UdevContextMocked, so that it + # is OK to initialize it with no arguments (same as original Context) + monkeypatch.setattr(pyudev, 'Context', functools.partial(UdevContextMocked, mocked_block_devices)) + expected = [ + SystemdMountEntry( + node='/dev/dm-1', + path='n/a', + model='n/a', + wwn='n/a', + fs_type='ext4', + label='n/a', + uuid='bec30ca5-5403-4c23-ae6e-cb2a911bc076'), + SystemdMountEntry( + node='/dev/dm-3', + path='n/a', + model='n/a', + wwn='n/a', + fs_type='ext4', + label='n/a', + uuid='d6eaf17d-e2a9-4e8d-bb54-a89c18923ea2'), + SystemdMountEntry( + node='/dev/sda1', + path='pci-0000:00:17.0-ata-2', + model='LITEON_LCH-256V2S', + wwn='0x5002303100d82b06', + fs_type='ext4', + label='n/a', + uuid='c3890bf3-9273-4877-ad1f-68144e1eb858')] + assert expected == storagescanner._get_systemd_mount_info() diff --git a/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/actor.py b/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/actor.py new file mode 100644 index 0000000..257e8c3 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checksystemdbrokensymlinks +from leapp.models import SystemdBrokenSymlinksSource, SystemdServicesInfoSource +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckSystemdBrokenSymlinks(Actor): + """ + Check whether some systemd symlinks are broken + + If some systemd symlinks are broken, report them but do not inhibit the + upgrade. The symlinks broken already before the upgrade will not be + handled by the upgrade process anyhow. Two different reports are created: + - symlinks which have the same filename as an existing enabled systemd + service (the symlink doesn't point to an existing unit file, but the + service is enabled) + - broken symlinks which names do not correspond with any existing systemd + unit file (typically when the service is removed but not disabled + correctly) + """ + + name = 'check_systemd_broken_symlinks' + consumes = (SystemdBrokenSymlinksSource, SystemdServicesInfoSource) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checksystemdbrokensymlinks.process() diff --git a/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/libraries/checksystemdbrokensymlinks.py b/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/libraries/checksystemdbrokensymlinks.py new file mode 100644 index 0000000..8fca5d7 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/libraries/checksystemdbrokensymlinks.py @@ -0,0 +1,106 @@ +import os + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.models import SystemdBrokenSymlinksSource, SystemdServicesInfoSource + +FMT_LIST_SEPARATOR = '\n - ' + + +def _report_broken_symlinks(symlinks): + summary = ( + 'Leapp detected broken systemd symlinks on the system that do not' + ' correspond to any installed systemd unit.' + ' This typically happens when the original systemd unit file has been' + ' removed (e.g. an rpm removal) or renamed and the system configration' + ' has not been properly modified.' + ' These symlinks will not be handled during the in-place upgrade' + ' as they are already broken.' + ' The list of detected broken systemd symlinks:{}{}' + .format(FMT_LIST_SEPARATOR, FMT_LIST_SEPARATOR.join(sorted(symlinks))) + ) + + command = ['/usr/bin/rm'] + symlinks + + hint = ( + 'Remove the invalid symlinks before the upgrade.' + ) + + reporting.create_report([ + reporting.Title( + 'Detected broken systemd symlinks for non-existing services' + ), + reporting.Summary(summary), + reporting.Remediation(hint=hint, commands=[command]), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.FILESYSTEM]), + ]) + + +def _report_enabled_services_broken_symlinks(symlinks): + summary = ( + 'Leapp detected broken systemd symlinks on the system that correspond' + ' to existing systemd units, but on different paths. This could lead' + ' in future to unexpected behaviour. Also, these symlinks will not be' + ' handled during the in-place upgrade as they are already broken.' + ' The list of detected broken symlinks:{}{}' + .format(FMT_LIST_SEPARATOR, FMT_LIST_SEPARATOR.join(sorted(symlinks))) + ) + + hint = ( + 'Fix the broken symlinks before the upgrade or remove them. For this' + ' purpose, you can re-enable or disable the related systemd services' + ' using the systemctl tool.' + ) + + reporting.create_report([ + reporting.Title( + 'Detected broken systemd symlinks for existing services' + ), + reporting.Summary(summary), + reporting.Remediation(hint=hint), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.FILESYSTEM]), + ]) + + +def _is_enabled(unit, service_files): + # FIXME(pstodulk): currently our msgs contain only information about systemd + # services. If the unit (broken symlink) refers to timers, etc. They will + # be treated now as disabled (read: symlink is broken and there is not + # a corresponding unit-file on the system). Considering it for now as + # minor issue that will be resolved in future. + # NOTE: One of possible solution is to put the information about enabled broken + # symlinks to the msg, so it can be just consumed. + for service_file in service_files: + if service_file.name == unit: + return service_file.state == 'enabled' + return False + + +def process(): + broken_symlinks_info = next(api.consume(SystemdBrokenSymlinksSource), None) + if not broken_symlinks_info: + # nothing to do + return + services = next(api.consume(SystemdServicesInfoSource), None) + if not services: + # This is just a seatbelt. It's not expected this msg will be missing. + # Skipping tests. + raise StopActorExecutionError('Missing SystemdServicesInfoSource message.') + + enabled_to_report = [] + to_report = [] + for broken_symlink in broken_symlinks_info.broken_symlinks: + unit = os.path.basename(broken_symlink) + if _is_enabled(unit, services.service_files): + enabled_to_report.append(broken_symlink) + else: + to_report.append(broken_symlink) + + if enabled_to_report: + _report_enabled_services_broken_symlinks(enabled_to_report) + + if to_report: + _report_broken_symlinks(to_report) diff --git a/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/tests/test_checksystemdbrokensymlinks.py b/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/tests/test_checksystemdbrokensymlinks.py new file mode 100644 index 0000000..2364f7a --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/checksystemdbrokensymlinks/tests/test_checksystemdbrokensymlinks.py @@ -0,0 +1,89 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import checksystemdbrokensymlinks +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import SystemdBrokenSymlinksSource, SystemdServiceFile, SystemdServicesInfoSource + + +def test_report_broken_symlinks(monkeypatch): + + symlinks = [ + '/etc/systemd/system/multi-user.target.wants/hello.service', + '/etc/systemd/system/multi-user.target.wants/world.service', + ] + + created_reports = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', created_reports) + + checksystemdbrokensymlinks._report_broken_symlinks(symlinks) + + assert created_reports.called + assert all([s in created_reports.report_fields['summary'] for s in symlinks]) + + +def test_report_enabled_services_broken_symlinks(monkeypatch): + symlinks = [ + '/etc/systemd/system/multi-user.target.wants/foo.service', + '/etc/systemd/system/multi-user.target.wants/bar.service', + ] + + created_reports = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', created_reports) + + checksystemdbrokensymlinks._report_enabled_services_broken_symlinks(symlinks) + + assert created_reports.called + assert all([s in created_reports.report_fields['summary'] for s in symlinks]) + + +class ReportBrokenSymlinks(object): + def __init__(self): + self.symlinks = [] + + def __call__(self, unit, *args, **kwargs): + self.symlinks.append(unit) + return {} + + +def test_broken_symlinks_reported(monkeypatch): + broken_symlinks = SystemdBrokenSymlinksSource(broken_symlinks=[ + '/etc/systemd/system/multi-user.target.wants/foo.service', + '/etc/systemd/system/multi-user.target.wants/bar.service', + '/etc/systemd/system/multi-user.target.wants/hello.service', + '/etc/systemd/system/multi-user.target.wants/world.service', + ]) + systemd_services = SystemdServicesInfoSource(service_files=[ + SystemdServiceFile(name='foo.service', state='enabled'), + SystemdServiceFile(name='bar.service', state='enabled'), + SystemdServiceFile(name='hello.service', state='disabled'), + ]) + broken = [] + enabled_broken = [] + + def _report_broken_symlinks_mocked(symlinks): + broken.extend(symlinks) + + def _report_enabled_services_broken_symlinks_mocked(symlinks): + enabled_broken.extend(symlinks) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[broken_symlinks, systemd_services])) + monkeypatch.setattr(checksystemdbrokensymlinks, '_report_broken_symlinks', _report_broken_symlinks_mocked) + monkeypatch.setattr( + checksystemdbrokensymlinks, + '_report_enabled_services_broken_symlinks', + _report_enabled_services_broken_symlinks_mocked + ) + + checksystemdbrokensymlinks.process() + + assert broken == [ + '/etc/systemd/system/multi-user.target.wants/hello.service', + '/etc/systemd/system/multi-user.target.wants/world.service', + ] + + assert enabled_broken == [ + '/etc/systemd/system/multi-user.target.wants/foo.service', + '/etc/systemd/system/multi-user.target.wants/bar.service', + ] diff --git a/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/actor.py b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/actor.py new file mode 100644 index 0000000..547a13d --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checksystemdservicetasks +from leapp.models import SystemdServicesTasks +from leapp.reporting import Report +from leapp.tags import IPUWorkflowTag, TargetTransactionChecksPhaseTag + + +class CheckSystemdServicesTasks(Actor): + """ + Inhibit the upgrade if SystemdServicesTasks tasks are in conflict + + SystemdServicesTasks messages with conflicting requested service states + could be produced. For example a service could be requested to be both + - enabled and disabled. This actor inhibits upgrade in such cases. + + Note: We expect that SystemdServicesTasks could be produced even after the + TargetTransactionChecksPhase (e.g. during the ApplicationPhase). The + purpose of this actor is to report collisions in case we can already detect + them. In case of conflicts caused by messages produced later we just log + the collisions and the services will end up disabled. + """ + + name = 'check_systemd_services_tasks' + consumes = (SystemdServicesTasks,) + produces = (Report,) + tags = (TargetTransactionChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checksystemdservicetasks.check_conflicts() diff --git a/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/libraries/checksystemdservicetasks.py b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/libraries/checksystemdservicetasks.py new file mode 100644 index 0000000..4d1bcda --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/libraries/checksystemdservicetasks.py @@ -0,0 +1,34 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import SystemdServicesTasks + +FMT_LIST_SEPARATOR = '\n - ' + + +def _inhibit_upgrade_with_conflicts(conflicts): + summary = ( + 'The requested states for systemd services on the target system are in conflict.' + ' The following systemd services were requested to be both enabled and' + ' disabled on the target system:{}{}' + .format(FMT_LIST_SEPARATOR, FMT_LIST_SEPARATOR.join(sorted(conflicts))) + ) + report = [ + reporting.Title('Conflicting requirements of systemd service states'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + ] + reporting.create_report(report) + + +def check_conflicts(): + services_to_enable = set() + services_to_disable = set() + for task in api.consume(SystemdServicesTasks): + services_to_enable.update(task.to_enable) + services_to_disable.update(task.to_disable) + + conflicts = services_to_enable.intersection(services_to_disable) + if conflicts: + _inhibit_upgrade_with_conflicts(conflicts) diff --git a/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/tests/test_checksystemdservicestasks.py b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/tests/test_checksystemdservicestasks.py new file mode 100644 index 0000000..88c278d --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/checksystemdservicetasks/tests/test_checksystemdservicestasks.py @@ -0,0 +1,102 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import checksystemdservicetasks +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import SystemdServicesTasks +from leapp.utils.report import is_inhibitor + + +@pytest.mark.parametrize( + ('tasks', 'should_inhibit'), + [ + ( + [SystemdServicesTasks(to_enable=['hello.service'], to_disable=['hello.service'])], + True + ), + ( + [SystemdServicesTasks(to_enable=['hello.service', 'world.service'], + to_disable=['hello.service'])], + True + ), + ( + [ + SystemdServicesTasks(to_enable=['hello.service']), + SystemdServicesTasks(to_disable=['hello.service']) + ], + True + ), + ( + [SystemdServicesTasks(to_enable=['hello.service'], to_disable=['world.service'])], + False + ), + ( + [ + SystemdServicesTasks(to_enable=['hello.service']), + SystemdServicesTasks(to_disable=['world.service']) + ], + False + ), + ( + [ + SystemdServicesTasks(to_enable=['hello.service', 'world.service']), + SystemdServicesTasks(to_disable=['world.service', 'httpd.service']) + ], + True + ), + ( + [ + SystemdServicesTasks(to_enable=['hello.service']), + SystemdServicesTasks(to_disable=['world.service']), + SystemdServicesTasks(to_enable=['hello.service', 'kitty.service']) + ], + False + ), + ( + [], + False + ) + ] +) +def test_conflicts_detected(monkeypatch, tasks, should_inhibit): + + created_reports = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=tasks)) + monkeypatch.setattr(reporting, 'create_report', created_reports) + + checksystemdservicetasks.check_conflicts() + + assert bool(created_reports.called) == should_inhibit + assert is_inhibitor(created_reports.report_fields) == should_inhibit + + +@pytest.mark.parametrize( + ('tasks', 'expected_reported'), + [ + ( + [SystemdServicesTasks(to_enable=['world.service', 'httpd.service', 'hello.service'], + to_disable=['hello.service', 'world.service', 'test.service'])], + ['world.service', 'hello.service'] + ), + ( + [ + SystemdServicesTasks(to_enable=['hello.service', 'httpd.service'], + to_disable=['world.service']), + SystemdServicesTasks(to_enable=['world.service', 'httpd.service'], + to_disable=['hello.service', 'test.service']) + ], + ['world.service', 'hello.service'] + ), + ] +) +def test_coflict_reported(monkeypatch, tasks, expected_reported): + + created_reports = create_report_mocked() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=tasks)) + monkeypatch.setattr(reporting, 'create_report', created_reports) + + checksystemdservicetasks.check_conflicts() + + report_summary = created_reports.report_fields['summary'] + assert all(service in report_summary for service in expected_reported) diff --git a/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/actor.py b/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/actor.py new file mode 100644 index 0000000..2913437 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/actor.py @@ -0,0 +1,25 @@ +from leapp.actors import Actor +from leapp.libraries.actor import repairsystemdsymlinks +from leapp.models import SystemdBrokenSymlinksSource, SystemdBrokenSymlinksTarget, SystemdServicesInfoSource +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class RepairSystemdSymlinks(Actor): + """ + Fix broken or incorrect systemd symlinks + + Symlinks are handled in the following fashion, if the symlink points to: + - a removed unit, such a symlink is deleted + - a unit whose installation has been changed (e.g. changed WantedBy), + such symlinks are fixed (re-enabled using systemctl) + + Symlinks that have been already broken before the in-place upgrade are ignored. + """ + + name = 'repair_systemd_symlinks' + consumes = (SystemdBrokenSymlinksSource, SystemdBrokenSymlinksTarget, SystemdServicesInfoSource) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + repairsystemdsymlinks.process() diff --git a/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/libraries/repairsystemdsymlinks.py b/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/libraries/repairsystemdsymlinks.py new file mode 100644 index 0000000..884b001 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/libraries/repairsystemdsymlinks.py @@ -0,0 +1,76 @@ +import os + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import systemd +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SystemdBrokenSymlinksSource, SystemdBrokenSymlinksTarget, SystemdServicesInfoSource + +_INSTALLATION_CHANGED_EL8 = ['rngd.service', 'sysstat.service'] +_INSTALLATION_CHANGED_EL9 = [] + + +def _get_installation_changed_units(): + version = get_target_major_version() + if version == '8': + return _INSTALLATION_CHANGED_EL8 + if version == '9': + return _INSTALLATION_CHANGED_EL9 + + return [] + + +def _service_enabled_source(service_info, name): + service_file = next((s for s in service_info.service_files if s.name == name), None) + return service_file and service_file.state == 'enabled' + + +def _is_unit_enabled(unit): + try: + ret = run(['systemctl', 'is-enabled', unit], split=True)['stdout'] + return ret and ret[0] == 'enabled' + except (OSError, CalledProcessError): + return False + + +def _handle_newly_broken_symlinks(symlinks, service_info): + for symlink in symlinks: + unit = os.path.basename(symlink) + try: + if not _is_unit_enabled(unit): + # removes the broken symlink + systemd.disable_unit(unit) + elif _service_enabled_source(service_info, unit) and _is_unit_enabled(unit): + # removes the old symlinks and creates the new ones + systemd.reenable_unit(unit) + except CalledProcessError: + # TODO(mmatuska): Produce post-upgrade report: failed to handle broken symlink (and suggest a fix?) + pass + + +def _handle_bad_symlinks(service_files): + install_changed_units = _get_installation_changed_units() + potentially_bad = [s for s in service_files if s.name in install_changed_units] + + for unit_file in potentially_bad: + if unit_file.state == 'enabled' and _is_unit_enabled(unit_file.name): + systemd.reenable_unit(unit_file.name) + + +def process(): + service_info_source = next(api.consume(SystemdServicesInfoSource), None) + if not service_info_source: + raise StopActorExecutionError("Expected SystemdServicesInfoSource message, but got None") + + source_info = next(api.consume(SystemdBrokenSymlinksSource), None) + target_info = next(api.consume(SystemdBrokenSymlinksTarget), None) + + if source_info and target_info: + newly_broken = [] + newly_broken = [s for s in target_info.broken_symlinks if s not in source_info.broken_symlinks] + if not newly_broken: + return + + _handle_newly_broken_symlinks(newly_broken, service_info_source) + + _handle_bad_symlinks(service_info_source.service_files) diff --git a/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/tests/test_repairsystemdsymlinks.py b/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/tests/test_repairsystemdsymlinks.py new file mode 100644 index 0000000..2394df5 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/repairsystemdsymlinks/tests/test_repairsystemdsymlinks.py @@ -0,0 +1,91 @@ +from leapp.libraries.actor import repairsystemdsymlinks +from leapp.libraries.common import systemd +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import ( + SystemdBrokenSymlinksSource, + SystemdBrokenSymlinksTarget, + SystemdServiceFile, + SystemdServicesInfoSource +) + + +class MockedSystemdCmd(object): + def __init__(self): + self.units = [] + + def __call__(self, unit, *args, **kwargs): + self.units.append(unit) + return {} + + +def test_bad_symslinks(monkeypatch): + service_files = [ + SystemdServiceFile(name='rngd.service', state='enabled'), + SystemdServiceFile(name='sysstat.service', state='disabled'), + SystemdServiceFile(name='hello.service', state='enabled'), + SystemdServiceFile(name='world.service', state='disabled'), + ] + + def is_unit_enabled_mocked(unit): + return True + + monkeypatch.setattr(repairsystemdsymlinks, '_is_unit_enabled', is_unit_enabled_mocked) + + reenable_mocked = MockedSystemdCmd() + monkeypatch.setattr(systemd, 'reenable_unit', reenable_mocked) + + service_info = SystemdServicesInfoSource(service_files=service_files) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[service_info])) + + repairsystemdsymlinks._handle_bad_symlinks(service_info.service_files) + + assert reenable_mocked.units == ['rngd.service'] + + +def test_handle_newly_broken_symlink(monkeypatch): + + symlinks = [ + '/etc/systemd/system/default.target.wants/systemd-readahead-replay.service', + '/etc/systemd/system/multi-user.target.wants/vdo.service', + '/etc/systemd/system/multi-user.target.wants/hello.service', + '/etc/systemd/system/multi-user.target.wants/world.service', + '/etc/systemd/system/multi-user.target.wants/foo.service', + '/etc/systemd/system/multi-user.target.wants/bar.service', + ] + + def is_unit_enabled_mocked(unit): + return unit in ('hello.service', 'foo.service') + + expect_disabled = [ + 'systemd-readahead-replay.service', + 'vdo.service', + 'world.service', + 'bar.service', + ] + + expect_reenabled = [ + 'hello.service', + ] + + monkeypatch.setattr(repairsystemdsymlinks, '_is_unit_enabled', is_unit_enabled_mocked) + + reenable_mocked = MockedSystemdCmd() + monkeypatch.setattr(systemd, 'reenable_unit', reenable_mocked) + + disable_mocked = MockedSystemdCmd() + monkeypatch.setattr(systemd, 'disable_unit', disable_mocked) + + service_files = [ + SystemdServiceFile(name='systemd-readahead-replay.service', state='enabled'), + SystemdServiceFile(name='vdo.service', state='disabled'), + SystemdServiceFile(name='hello.service', state='enabled'), + SystemdServiceFile(name='world.service', state='disabled'), + SystemdServiceFile(name='foo.service', state='disabled'), + SystemdServiceFile(name='bar.service', state='enabled'), + ] + service_info = SystemdServicesInfoSource(service_files=service_files) + repairsystemdsymlinks._handle_newly_broken_symlinks(symlinks, service_info) + + assert reenable_mocked.units == expect_reenabled + assert disable_mocked.units == expect_disabled diff --git a/repos/system_upgrade/common/actors/systemd/scansystemdsource/actor.py b/repos/system_upgrade/common/actors/systemd/scansystemdsource/actor.py new file mode 100644 index 0000000..04a504b --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/scansystemdsource/actor.py @@ -0,0 +1,25 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scansystemdsource +from leapp.models import SystemdBrokenSymlinksSource, SystemdServicesInfoSource, SystemdServicesPresetInfoSource +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanSystemdSource(Actor): + """ + Provides info about systemd on the source system + + The provided info includes information about: + - vendor presets of services + - systemd service files, including their state + - broken systemd symlinks + + There is an analogous actor :class:`ScanSystemdTarget` for target system. + """ + + name = 'scan_systemd_source' + consumes = () + produces = (SystemdBrokenSymlinksSource, SystemdServicesInfoSource, SystemdServicesPresetInfoSource) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scansystemdsource.scan() diff --git a/repos/system_upgrade/common/actors/systemd/scansystemdsource/libraries/scansystemdsource.py b/repos/system_upgrade/common/actors/systemd/scansystemdsource/libraries/scansystemdsource.py new file mode 100644 index 0000000..f6d9599 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/scansystemdsource/libraries/scansystemdsource.py @@ -0,0 +1,45 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import systemd +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import SystemdBrokenSymlinksSource, SystemdServicesInfoSource, SystemdServicesPresetInfoSource + + +def scan(): + try: + broken_symlinks = systemd.get_broken_symlinks() + except (OSError, CalledProcessError) as err: + details = {'details': str(err)} + if isinstance(err, CalledProcessError): + details['stderr'] = err.stderr + raise StopActorExecutionError( + message='Cannot scan the system to list possible broken systemd symlinks.', + details=details + ) + + try: + services_files = systemd.get_service_files() + except CalledProcessError as err: + raise StopActorExecutionError( + message='Cannot obtain the list of systemd service unit files.', + details={'details': str(err), 'stderr': err.stderr} + ) + + try: + presets = systemd.get_system_service_preset_files(services_files, ignore_invalid_entries=False) + except (OSError, CalledProcessError) as err: + details = {'details': str(err)} + if isinstance(err, CalledProcessError): + details['stderr'] = err.stderr + raise StopActorExecutionError( + message='Cannot obtain the list of systemd preset files.', + details=details + ) + except ValueError as err: + raise StopActorExecutionError( + message='Discovered an invalid systemd preset file.', + details={'details': str(err)} + ) + + api.produce(SystemdBrokenSymlinksSource(broken_symlinks=broken_symlinks)) + api.produce(SystemdServicesInfoSource(service_files=services_files)) + api.produce(SystemdServicesPresetInfoSource(presets=presets)) diff --git a/repos/system_upgrade/common/actors/systemd/scansystemdsource/tests/test_scansystemdsource.py b/repos/system_upgrade/common/actors/systemd/scansystemdsource/tests/test_scansystemdsource.py new file mode 100644 index 0000000..7b95a2d --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/scansystemdsource/tests/test_scansystemdsource.py @@ -0,0 +1,100 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import scansystemdsource +from leapp.libraries.common import systemd +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import ( + SystemdServiceFile, + SystemdServicePreset, + SystemdServicesInfoSource, + SystemdServicesPresetInfoSource +) + +_BROKEN_SYMLINKS = [ + "/etc/systemd/system/multi-user.target.wants/vdo.service", + "/etc/systemd/system/multi-user.target.wants/rngd.service" +] + +_SERVICE_FILES = [ + SystemdServiceFile(name='getty@.service', state='enabled'), + SystemdServiceFile(name='vdo.service', state='disabled') +] + +_PRESETS = [ + SystemdServicePreset(service='getty@.service', state='enable'), + SystemdServicePreset(service='vdo.service', state='disable'), +] + + +@pytest.mark.parametrize( + ('broken_symlinks', 'files', 'presets'), + ( + (_BROKEN_SYMLINKS, _SERVICE_FILES, _PRESETS), + ([], [], []) + ) +) +def test_message_produced(monkeypatch, broken_symlinks, files, presets): + + def get_broken_symlinks_mocked(): + return broken_symlinks + + def get_service_files_mocked(): + return files + + def get_system_service_preset_files_mocked(service_files, ignore_invalid_entries): + return presets + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(systemd, 'get_broken_symlinks', get_broken_symlinks_mocked) + monkeypatch.setattr(systemd, 'get_service_files', get_service_files_mocked) + monkeypatch.setattr(systemd, 'get_system_service_preset_files', get_system_service_preset_files_mocked) + + scansystemdsource.scan() + + assert api.produce.called + assert api.produce.model_instances[0].broken_symlinks == broken_symlinks + assert api.produce.model_instances[1].service_files == files + assert api.produce.model_instances[2].presets == presets + + +_CALL_PROC_ERR = CalledProcessError( + message='BooCalled', + command=['find'], + result={ + 'stdout': 'stdout', + 'stderr': 'stderr', + 'exit_code': 1, + 'signal': 1, + 'pid': 1, + } +) + + +class GetOrRaise(object): + def __init__(self, value): + self.value = value + + def __call__(self, *dummyArgs, **dummy): + if isinstance(self.value, list): + return self.value + raise self.value + + +@pytest.mark.parametrize('symlinks', [OSError('Boo'), _CALL_PROC_ERR, []]) +@pytest.mark.parametrize('files', [_CALL_PROC_ERR, []]) +@pytest.mark.parametrize('presets', [OSError('Boo'), _CALL_PROC_ERR, ValueError('Hamster'), []]) +def test_exception_handling(monkeypatch, symlinks, files, presets): + if symlinks == files == presets == []: + # covered by test above + return + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(systemd, 'get_broken_symlinks', GetOrRaise(symlinks)) + monkeypatch.setattr(systemd, 'get_service_files', GetOrRaise(files)) + monkeypatch.setattr(systemd, 'get_system_service_preset_files', GetOrRaise(presets)) + with pytest.raises(StopActorExecutionError): + scansystemdsource.scan() diff --git a/repos/system_upgrade/common/actors/systemd/scansystemdtarget/actor.py b/repos/system_upgrade/common/actors/systemd/scansystemdtarget/actor.py new file mode 100644 index 0000000..185b30a --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/scansystemdtarget/actor.py @@ -0,0 +1,28 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scansystemdtarget +from leapp.models import SystemdBrokenSymlinksTarget, SystemdServicesInfoTarget, SystemdServicesPresetInfoTarget +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class ScanSystemdTarget(Actor): + """ + Provides info about systemd on the source system + + The provided info includes information about: + - vendor presets of services + - systemd service files, including their state + - broken systemd symlinks + + There is an analogous actor :class:`ScanSystemdSource` for source system + + The actor ignore errors (errors are logged, but do not stop the upgrade). + If some data cannot be obtained, particular message is not produced. + Actors are expected to check whether the data is available. + """ + name = 'scan_systemd_target' + consumes = () + produces = (SystemdBrokenSymlinksTarget, SystemdServicesInfoTarget, SystemdServicesPresetInfoTarget) + tags = (IPUWorkflowTag, ApplicationsPhaseTag) + + def process(self): + scansystemdtarget.scan() diff --git a/repos/system_upgrade/common/actors/systemd/scansystemdtarget/libraries/scansystemdtarget.py b/repos/system_upgrade/common/actors/systemd/scansystemdtarget/libraries/scansystemdtarget.py new file mode 100644 index 0000000..9c922c9 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/scansystemdtarget/libraries/scansystemdtarget.py @@ -0,0 +1,37 @@ +from leapp.libraries.common import systemd +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import SystemdBrokenSymlinksTarget, SystemdServicesInfoTarget, SystemdServicesPresetInfoTarget + + +def scan_broken_symlinks(): + try: + broken_symlinks = systemd.get_broken_symlinks() + except (OSError, CalledProcessError): + return + api.produce(SystemdBrokenSymlinksTarget(broken_symlinks=broken_symlinks)) + + +def scan_service_files(): + try: + services_files = systemd.get_service_files() + except CalledProcessError: + return None + api.produce(SystemdServicesInfoTarget(service_files=services_files)) + return services_files + + +def scan_preset_files(services_files): + if services_files is None: + return + try: + presets = systemd.get_system_service_preset_files(services_files, ignore_invalid_entries=True) + except (OSError, CalledProcessError): + return + api.produce(SystemdServicesPresetInfoTarget(presets=presets)) + + +def scan(): + # Errors are logged inside the systemd library, no need to log them here again. + scan_broken_symlinks() + services_files = scan_service_files() + scan_preset_files(services_files) diff --git a/repos/system_upgrade/common/actors/systemd/scansystemdtarget/tests/test_scansystemdtarget.py b/repos/system_upgrade/common/actors/systemd/scansystemdtarget/tests/test_scansystemdtarget.py new file mode 100644 index 0000000..227ba61 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/scansystemdtarget/tests/test_scansystemdtarget.py @@ -0,0 +1,110 @@ +import pytest + +from leapp.libraries.actor import scansystemdtarget +from leapp.libraries.common import systemd +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import ( + SystemdBrokenSymlinksTarget, + SystemdServiceFile, + SystemdServicePreset, + SystemdServicesInfoTarget, + SystemdServicesPresetInfoTarget +) + +_BROKEN_SYMLINKS = [ + "/etc/systemd/system/multi-user.target.wants/vdo.service", + "/etc/systemd/system/multi-user.target.wants/rngd.service" +] + +_SERVICE_FILES = [ + SystemdServiceFile(name='getty@.service', state='enabled'), + SystemdServiceFile(name='vdo.service', state='disabled') +] + +_PRESETS = [ + SystemdServicePreset(service='getty@.service', state='enable'), + SystemdServicePreset(service='vdo.service', state='disable'), +] + + +@pytest.mark.parametrize( + ('broken_symlinks', 'files', 'presets'), + ( + (_BROKEN_SYMLINKS, _SERVICE_FILES, _PRESETS), + ([], [], []) + ) +) +def test_message_produced(monkeypatch, broken_symlinks, files, presets): + + def scan_broken_symlinks_mocked(): + return broken_symlinks + + def get_service_files_mocked(): + return files + + def get_system_service_preset_files_mocked(service_files, ignore_invalid_entries): + return presets + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(systemd, 'get_broken_symlinks', scan_broken_symlinks_mocked) + monkeypatch.setattr(systemd, 'get_service_files', get_service_files_mocked) + monkeypatch.setattr(systemd, 'get_system_service_preset_files', get_system_service_preset_files_mocked) + + scansystemdtarget.scan() + + assert api.produce.called + assert api.produce.model_instances[0].broken_symlinks == broken_symlinks + assert api.produce.model_instances[1].service_files == files + assert api.produce.model_instances[2].presets == presets + + +_CALL_PROC_ERR = CalledProcessError( + message='BooCalled', + command=['find'], + result={ + 'stdout': 'stdout', + 'stderr': 'stderr', + 'exit_code': 1, + 'signal': 1, + 'pid': 1, + } +) + + +class GetOrRaise(object): + def __init__(self, value): + self.value = value + + def __call__(self, *dummyArgs, **dummy): + if isinstance(self.value, list): + return self.value + raise self.value + + +@pytest.mark.parametrize('symlinks', [OSError('Boo'), _CALL_PROC_ERR, []]) +@pytest.mark.parametrize('files', [_CALL_PROC_ERR, []]) +@pytest.mark.parametrize('presets', [OSError('Boo'), _CALL_PROC_ERR, []]) +def test_exception_handling(monkeypatch, symlinks, files, presets): + + def check_msg(input_data, msg_type, msgs, is_msg_expected): + for msg in msgs.model_instances: + if isinstance(msg, msg_type): + return is_msg_expected + return not is_msg_expected + + if symlinks == files == presets == []: + # covered by test above + return + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(api, 'produce', produce_mocked()) + monkeypatch.setattr(systemd, 'get_broken_symlinks', GetOrRaise(symlinks)) + monkeypatch.setattr(systemd, 'get_service_files', GetOrRaise(files)) + monkeypatch.setattr(systemd, 'get_system_service_preset_files', GetOrRaise(presets)) + scansystemdtarget.scan() + assert check_msg(symlinks, SystemdBrokenSymlinksTarget, api.produce, isinstance(symlinks, list)) + assert check_msg(files, SystemdServicesInfoTarget, api.produce, isinstance(files, list)) + is_msg_expected = isinstance(files, list) and isinstance(presets, list) + assert check_msg(presets, SystemdServicesPresetInfoTarget, api.produce, is_msg_expected) diff --git a/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/actor.py b/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/actor.py new file mode 100644 index 0000000..1709091 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import setsystemdservicesstate +from leapp.models import SystemdServicesTasks +from leapp.tags import FinalizationPhaseTag, IPUWorkflowTag + + +class SetSystemdServicesState(Actor): + """ + According to input messages sets systemd services states on the target system + """ + + name = 'set_systemd_services_state' + consumes = (SystemdServicesTasks,) + produces = () + tags = (FinalizationPhaseTag, IPUWorkflowTag) + + def process(self): + setsystemdservicesstate.process() diff --git a/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/libraries/setsystemdservicesstate.py b/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/libraries/setsystemdservicesstate.py new file mode 100644 index 0000000..641605d --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/libraries/setsystemdservicesstate.py @@ -0,0 +1,30 @@ +from leapp.libraries.common import systemd +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import SystemdServicesTasks + + +def process(): + services_to_enable = set() + services_to_disable = set() + for task in api.consume(SystemdServicesTasks): + services_to_enable.update(task.to_enable) + services_to_disable.update(task.to_disable) + + intersection = services_to_enable.intersection(services_to_disable) + for service in intersection: + msg = 'Attempted to both enable and disable systemd service "{}", service will be disabled.'.format(service) + api.current_logger().error(msg) + + for service in services_to_enable: + try: + systemd.enable_unit(service) + except CalledProcessError: + # TODO(mmatuska) produce post-upgrade report + pass + + for service in services_to_disable: + try: + systemd.disable_unit(service) + except CalledProcessError: + # TODO(mmatuska) produce post-upgrade report + pass diff --git a/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/tests/test_setsystemdservicesstate.py b/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/tests/test_setsystemdservicesstate.py new file mode 100644 index 0000000..14d0753 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemd/setsystemdservicesstates/tests/test_setsystemdservicesstate.py @@ -0,0 +1,97 @@ +import pytest + +from leapp.libraries import stdlib +from leapp.libraries.actor import setsystemdservicesstate +from leapp.libraries.common import systemd +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import SystemdServicesTasks + + +class MockedSystemdCmd(object): + def __init__(self): + self.units = [] + + def __call__(self, unit, *args, **kwargs): + self.units.append(unit) + return {} + + +@pytest.mark.parametrize( + ('msgs', 'expect_enable_units', 'expect_disable_units'), + [ + ( + [SystemdServicesTasks(to_enable=['hello.service'], + to_disable=['getty.service'])], + ['hello.service'], + ['getty.service'] + ), + ( + [SystemdServicesTasks(to_disable=['getty.service'])], + [], + ['getty.service'] + ), + ( + [SystemdServicesTasks(to_enable=['hello.service'])], + ['hello.service'], + [] + ), + ( + [SystemdServicesTasks()], + [], + [] + ), + ] +) +def test_process(monkeypatch, msgs, expect_enable_units, expect_disable_units): + mocked_enable = MockedSystemdCmd() + monkeypatch.setattr(systemd, 'enable_unit', mocked_enable) + + mocked_disable = MockedSystemdCmd() + monkeypatch.setattr(systemd, 'disable_unit', mocked_disable) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + + setsystemdservicesstate.process() + + assert mocked_enable.units == expect_enable_units + assert mocked_disable.units == expect_disable_units + + +def test_process_invalid(monkeypatch): + + def mocked_run(cmd, *args, **kwargs): + if cmd == ['systemctl', 'enable', 'invalid.service']: + message = 'Command {0} failed with exit code {1}.'.format(str(cmd), 1) + raise CalledProcessError(message, cmd, 1) + + msgs = [SystemdServicesTasks(to_enable=['invalid.service'])] + + monkeypatch.setattr(systemd, 'run', mocked_run) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + setsystemdservicesstate.process() + + expect_msg = ("Failed to enable systemd unit \"invalid.service\". Message:" + " Command ['systemctl', 'enable', 'invalid.service'] failed with exit code 1.") + assert expect_msg in api.current_logger.errmsg + + +def test_enable_disable_conflict_logged(monkeypatch): + msgs = [SystemdServicesTasks(to_enable=['hello.service'], to_disable=['hello.service'])] + + mocked_enable = MockedSystemdCmd() + monkeypatch.setattr(systemd, 'enable_unit', mocked_enable) + + mocked_disable = MockedSystemdCmd() + monkeypatch.setattr(systemd, 'disable_unit', mocked_disable) + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=msgs)) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + setsystemdservicesstate.process() + + expect_msg = ('Attempted to both enable and disable systemd service "hello.service",' + ' service will be disabled.') + assert expect_msg in api.current_logger.errmsg diff --git a/repos/system_upgrade/common/actors/systemfacts/Makefile b/repos/system_upgrade/common/actors/systemfacts/Makefile new file mode 100644 index 0000000..d16a9ac --- /dev/null +++ b/repos/system_upgrade/common/actors/systemfacts/Makefile @@ -0,0 +1,3 @@ +install-deps: + yum install -y kmod procps-ng policycoreutils findutils libselinux-python || yum install -y kmod procps-ng policycoreutils findutils python3-libselinux + diff --git a/repos/system_upgrade/common/actors/systemfacts/actor.py b/repos/system_upgrade/common/actors/systemfacts/actor.py new file mode 100644 index 0000000..59b12c8 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemfacts/actor.py @@ -0,0 +1,67 @@ +from leapp.actors import Actor +from leapp.libraries.actor import systemfacts +from leapp.libraries.common.config import architecture +from leapp.models import ( + ActiveKernelModulesFacts, + DefaultGrubInfo, + FirewallsFacts, + FirmwareFacts, + GroupsFacts, + GrubCfgBios, + Report, + RepositoriesFacts, + SELinuxFacts, + SysctlVariablesFacts, + UsersFacts +) +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class SystemFactsActor(Actor): + """ + Provides data about many facts from system. + + After collecting data from multiple tools, messages with relevant data will be produced to + describe: + - Sysctl variables; + - Active Linux Kernel Modules; + - Users; + - Groups; + - Package repositories; + - SELinux status; + - Firewalls status. + """ + + name = 'system_facts' + consumes = () + produces = ( + SysctlVariablesFacts, + ActiveKernelModulesFacts, + UsersFacts, + GroupsFacts, + RepositoriesFacts, + SELinuxFacts, + FirewallsFacts, + FirmwareFacts, + DefaultGrubInfo, + GrubCfgBios, + Report + ) + tags = (IPUWorkflowTag, FactsPhaseTag,) + + def process(self): + self.produce(systemfacts.get_sysctls_status()) + self.produce(systemfacts.get_active_kernel_modules_status(self.log)) + self.produce(systemfacts.get_system_users_status()) + self.produce(systemfacts.get_system_groups_status()) + self.produce(systemfacts.get_repositories_status()) + self.produce(systemfacts.get_selinux_status()) + self.produce(systemfacts.get_firewalls_status()) + self.produce(systemfacts.get_firmware()) + + if not architecture.matches_architecture(architecture.ARCH_S390X): + self.produce(systemfacts.get_default_grub_conf()) + + bios_grubcfg_details = systemfacts.get_bios_grubcfg_details() + if bios_grubcfg_details: + self.produce(bios_grubcfg_details) diff --git a/repos/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py b/repos/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py new file mode 100644 index 0000000..d1eeb28 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py @@ -0,0 +1,356 @@ +import errno +import functools +import grp +import logging +import os +import pwd +import re + +import six + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import repofileutils +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import ( + ActiveKernelModule, + ActiveKernelModulesFacts, + DefaultGrub, + DefaultGrubInfo, + FirewallsFacts, + FirewallStatus, + FirmwareFacts, + Group, + GroupsFacts, + GrubCfgBios, + KernelModuleParameter, + RepositoriesFacts, + SELinuxFacts, + SysctlVariable, + SysctlVariablesFacts, + User, + UsersFacts +) + + +def aslist(f): + """ Decorator used to convert generator to list """ + @functools.wraps(f) + def inner(*args, **kwargs): + return list(f(*args, **kwargs)) + return inner + + +def anyendswith(value, ends): + """ Check if `value` ends with one of the possible `ends` """ + for end in ends: + if value.endswith(end): + return True + return False + + +def anyhasprefix(value, prefixes): + """ Check if `value` starts with on of the possible `prefixes` """ + for p in prefixes: + if value.startswith(p): + return True + return False + + +@aslist +def _get_system_users(): + skipped_user_names = [] + for p in pwd.getpwall(): + # The /etc/passwd can contain special entries from another service source such as NIS or LDAP. These entries + # start with + or - sign and might not contain all the mandatory fields, thus are skipped along with other + # invalid entries for now. The UID and GID fields are always defined by pwd to 0 even when not specifiead in + # /etc/passwd. + if p.pw_name != '' and not p.pw_name.startswith(('+', '-')) and p.pw_dir: + yield User( + name=p.pw_name, + uid=p.pw_uid, + gid=p.pw_gid, + home=p.pw_dir + ) + else: + skipped_user_names.append(p.pw_name) + + if skipped_user_names: + api.current_logger().debug("These users from /etc/passwd that are special entries for service " + "like NIS, or don't contain all mandatory fields won't be included " + "in UsersFacts: {}".format(skipped_user_names)) + + +def get_system_users_status(): + """ Get a list of users from `/etc/passwd` """ + return UsersFacts(users=_get_system_users()) + + +@aslist +def _get_system_groups(): + skipped_group_names = [] + for g in grp.getgrall(): + # The /etc/group can contain special entries from another service source such as NIS or LDAP. These entries + # start with + or - sign and might not contain all the mandatory fields, thus are skipped along with other + # invalid entries for now. The GID field is always defined by pwd to 0 even when not specifiead in + # /etc/group. + if g.gr_name != '' and not g.gr_name.startswith(('+', '-')): + yield Group( + name=g.gr_name, + gid=g.gr_gid, + members=g.gr_mem + ) + else: + skipped_group_names.append(g.gr_name) + + if skipped_group_names: + api.current_logger().debug("These groups from /etc/group that are special entries for service " + "like NIS, or don't contain all mandatory fields won't be included " + "in GroupsFacts: {}".format(skipped_group_names)) + + +def get_system_groups_status(): + """ Get a list of groups from `/etc/groups` """ + return GroupsFacts(groups=_get_system_groups()) + + +@aslist +def _get_active_kernel_modules(logger): + lines = run(['lsmod'], split=True)['stdout'] + for l in lines[1:]: + name = l.split(' ')[0] + + # Read parameters of the given module as exposed by the + # `/sys` VFS, if there are no parameters exposed we just + # take the name of the module + base_path = '/sys/module/{module}'.format(module=name) + parameters_path = os.path.join(base_path, 'parameters') + if not os.path.exists(parameters_path): + yield ActiveKernelModule(filename=name, parameters=[]) + continue + + # Use `modinfo` to probe for signature information + parameter_dict = {} + try: + signature = run(['modinfo', '-F', 'signature', name], split=False)['stdout'] + except CalledProcessError: + signature = None + + signature_string = None + if signature: + # Remove whitespace from the signature string + signature_string = re.sub(r"\s+", "", signature, flags=re.UNICODE) + + # Since we're using the `/sys` VFS we need to use `os.listdir()` to get + # all the property names and then just read from all the listed paths + parameters = sorted(os.listdir(parameters_path)) + for param in parameters: + try: + with open(os.path.join(parameters_path, param), mode='r') as fp: + parameter_dict[param] = fp.read().strip() + except IOError as exc: + # Some parameters are write-only, in that case we just log the name of parameter + # and the module and continue + if exc.errno in (errno.EACCES, errno.EPERM): + msg = 'Unable to read parameter "{param}" of kernel module "{name}"' + logger.warning(msg.format(param=param, name=name)) + else: + raise exc + + # Project the dictionary as a list of key values + items = [ + KernelModuleParameter(name=k, value=v) + for (k, v) in six.iteritems(parameter_dict) + ] + + yield ActiveKernelModule( + filename=name, + parameters=items, + signature=signature_string + ) + + +def get_active_kernel_modules_status(logger): + """ Get a list of active kernel modules """ + return ActiveKernelModulesFacts(kernel_modules=_get_active_kernel_modules(logger)) + + +@aslist +def _get_sysctls(): + unstable = ('fs.dentry-state', 'fs.file-nr', 'fs.inode-nr', + 'fs.inode-state', 'kernel.random.uuid', 'kernel.random.entropy_avail', + 'kernel.ns_last_pid', 'net.netfilter.nf_conntrack_count', + 'net.netfilter.nf_conntrack_events', 'kernel.sched_domain.', + 'dev.cdrom.info', 'kernel.pty.nr') + + variables = [] + for sc in run(['sysctl', '-a'], split=True)['stdout']: + name = sc.split(' ', 1)[0] + # if the sysctl name has an unstable prefix, we skip + if anyhasprefix(name, unstable): + continue + variables.append(sc) + + # sort our variables so they can be diffed directly when needed + for var in sorted(variables): + name, value = tuple(map(type(var).strip, var.split('=', 1))) + yield SysctlVariable( + name=name, + value=value + ) + + +def get_sysctls_status(): + r""" Get a list of stable `sysctls` variables + + Note that some variables are inherently unstable and we need to blacklist + them: + + diff -u <(sysctl -a 2>/dev/null | sort) <(sysctl -a 2>/dev/null | sort)\ + | grep -E '^\+[a-z]'\ + | cut -d' ' -f1\ + | cut -d+ -f2 + """ + return SysctlVariablesFacts(sysctl_variables=_get_sysctls()) + + +def get_repositories_status(): + """ Get a basic information about YUM repositories installed in the system """ + return RepositoriesFacts(repositories=repofileutils.get_parsed_repofiles()) + + +def get_selinux_status(): + """ Get SELinux status information """ + # will be None if something went wrong or contain SELinuxFacts otherwise + res = None + try: + import selinux # pylint: disable=import-outside-toplevel + except ImportError: + api.report_error("SELinux Import Error", details="libselinux-python package must be installed.") + return res + + outdata = dict({'enabled': selinux.is_selinux_enabled() == 1}) + outdata['mls_enabled'] = selinux.is_selinux_mls_enabled() == 1 + + try: + outdata['runtime_mode'] = "enforcing" if selinux.security_getenforce() == 1 else "permissive" + # FIXME: check selinux_getenforcemode[0] (that should be return value of a underneath function) + enforce_mode = selinux.selinux_getenforcemode()[1] + if enforce_mode >= 0: + outdata['static_mode'] = "enforcing" if enforce_mode == 1 else "permissive" + else: + outdata['static_mode'] = "disabled" + outdata['policy'] = selinux.selinux_getpolicytype()[1] + except OSError: + # This happens when SELinux is disabled + # [Errno 2] No such file or directory + outdata['runtime_mode'] = 'permissive' + outdata['static_mode'] = 'disabled' + outdata['policy'] = 'targeted' + + res = SELinuxFacts(**outdata) + return res + + +def get_firewalls_status(): + """ Get firewalld status information """ + logger = logging.getLogger('get_firewalld_status') + + def _get_firewall_status(service_name): + try: + ret_list = run(['systemctl', 'is-active', service_name], split=True)['stdout'] + active = ret_list[0] == 'active' + except CalledProcessError: + active = False + logger.debug('The %s service is likely not active', service_name) + + try: + ret_list = run(['systemctl', 'is-enabled', service_name], split=True)['stdout'] + enabled = ret_list[0] == 'enabled' + except CalledProcessError: + enabled = False + logger.debug('The %s service is likely not enabled nor running', service_name) + + return FirewallStatus( + active=active, + enabled=enabled, + ) + + return FirewallsFacts( + firewalld=_get_firewall_status('firewalld'), + iptables=_get_firewall_status('iptables'), + ip6tables=_get_firewall_status('ip6tables'), + ) + + +def get_firmware(): + firmware = 'efi' if os.path.isdir('/sys/firmware/efi') else 'bios' + if architecture.matches_architecture(architecture.ARCH_PPC64LE): + ppc64le_opal = bool(os.path.isdir('/sys/firmware/opal/')) + return FirmwareFacts(firmware=firmware, ppc64le_opal=ppc64le_opal) + return FirmwareFacts(firmware=firmware) + + +@aslist +def _default_grub_info(): + default_grb_fpath = '/etc/default/grub' + if not os.path.isfile(default_grb_fpath): + reporting.create_report([ + reporting.Title('File "{}" does not exist!'.format(default_grb_fpath)), + reporting.Summary( + 'Leapp detected "{}" does not exist. The file is essential for the in-place upgrade ' + 'to finish successfully. This scenario might have occurred if the system was already ' + 'upgraded from RHEL 6. Please re-create the file manually.'.format(default_grb_fpath) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.BOOT]), + reporting.RelatedResource('file', default_grb_fpath), + reporting.ExternalLink( + url='https://access.redhat.com/solutions/3185891', + title='How to re-create the missing "{}" file in Red Hat Enterprise Linux 7?'.format( + default_grb_fpath + ) + ), + ]) + else: + for line in run(['cat', default_grb_fpath], split=True)['stdout']: + line = line.strip() + if not line or line[0] == '#': + # skip comments and empty lines + continue + try: + name, value = tuple(map(type(line).strip, line.split('=', 1))) + except ValueError as e: + # we do not want to really continue when we cannot parse this file + # TODO(pstodulk): rewrite this in the form we produce inhibitor + # with problematic lines. This is improvement just in comparison + # to the original hard crash. + raise StopActorExecutionError( + 'Failed parsing of {}'.format(default_grb_fpath), + details={ + 'error': str(e), + 'problematic line': str(line) + } + ) + + yield DefaultGrub( + name=name, + value=value + ) + + +def get_default_grub_conf(): + """ Get a list of GRUB parameters from /etc/default/grub """ + return DefaultGrubInfo(default_grub_info=_default_grub_info()) + + +def get_bios_grubcfg_details(): + """ Get BIOS (non-EFI) Grub config details """ + if get_firmware().firmware == 'bios' and not architecture.matches_architecture(architecture.ARCH_S390X): + with open('/boot/grub2/grub.cfg') as fo: + content = fo.read() + insmod_bls = bool('insmod blscfg' in content) + return GrubCfgBios(insmod_bls=insmod_bls) + return None diff --git a/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts.py b/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts.py new file mode 100644 index 0000000..badf174 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts.py @@ -0,0 +1,118 @@ +import grp +import pwd + +import pytest + +from leapp.libraries.actor.systemfacts import _get_system_groups, _get_system_users, anyendswith, anyhasprefix, aslist +from leapp.libraries.common.testutils import logger_mocked +from leapp.libraries.stdlib import api +from leapp.snactor.fixture import current_actor_libraries + + +def test_anyendswith(current_actor_libraries): + value = 'this_is_a_test' + + assert anyendswith(value, ['a_test']) + assert anyendswith(value, ['a_test', 'bgerwh', 'g52h4q']) + assert anyendswith(value, ['est']) + assert not anyendswith(value, ['asafsaf', 'gbfdshh', '123f', 'gdsgsnb']) + assert not anyendswith(value, []) + + +def test_anyhasprefix(current_actor_libraries): + value = 'this_is_a_test' + + assert anyhasprefix(value, ['this']) + assert anyhasprefix(value, ['this', 'ddsvssd', 'bsdhn', '125fff']) + assert anyhasprefix(value, ['this_is']) + assert not anyhasprefix(value, ['ccbbb', 'xasbnn', 'xavavav', 'bbnkk1']) + assert not anyhasprefix(value, []) + + +def test_aslist(current_actor_libraries): + + @aslist + def local(): + yield True + yield False + yield True + + r = local() + + assert isinstance(r, list) and r[0] and r[2] and not r[1] + + +@pytest.mark.parametrize( + ('etc_passwd_names', 'etc_passwd_directory', 'skipped_user_names'), + [ + (['root', 'unbound', 'dbus'], '/', []), + (['root', '+@scanners', 'dbus', '-@usrc', ''], '/', ['+@scanners', '-@usrc', '']), + (['root', '+@scanners', 'dbus'], '', ['root', '+@scanners', 'dbus']), + ] +) +def test_get_system_users(monkeypatch, etc_passwd_names, etc_passwd_directory, skipped_user_names): + + class MockedPwdEntry(object): + def __init__(self, pw_name, pw_uid, pw_gid, pw_dir): + self.pw_name = pw_name + self.pw_uid = pw_uid + self.pw_gid = pw_gid + self.pw_dir = pw_dir + + etc_passwd_contents = [] + for etc_passwd_name in etc_passwd_names: + etc_passwd_contents.append(MockedPwdEntry(etc_passwd_name, 0, 0, etc_passwd_directory)) + + monkeypatch.setattr(pwd, 'getpwall', lambda: etc_passwd_contents) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + _get_system_users() + + if skipped_user_names: + assert len(api.current_logger().dbgmsg) == 1 + + for skipped_user_name in skipped_user_names: + assert skipped_user_name in api.current_logger().dbgmsg[0] + + for user_name in etc_passwd_names: + if user_name not in skipped_user_names: + assert user_name not in api.current_logger().dbgmsg[0] + else: + assert not api.current_logger().dbgmsg + + +@pytest.mark.parametrize( + ('etc_group_names', 'skipped_group_names'), + [ + (['cdrom', 'floppy', 'tape'], []), + (['cdrom', '+@scanners', 'floppy', '-@usrc', ''], ['+@scanners', '-@usrc', '']), + ] +) +def test_get_system_groups(monkeypatch, etc_group_names, skipped_group_names): + + class MockedGrpEntry(object): + def __init__(self, gr_name, gr_gid, gr_mem): + self.gr_name = gr_name + self.gr_gid = gr_gid + self.gr_mem = gr_mem + + etc_group_contents = [] + for etc_group_name in etc_group_names: + etc_group_contents.append(MockedGrpEntry(etc_group_name, 0, [])) + + monkeypatch.setattr(grp, 'getgrall', lambda: etc_group_contents) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + _get_system_groups() + + if skipped_group_names: + assert len(api.current_logger().dbgmsg) == 1 + + for skipped_group_name in skipped_group_names: + assert skipped_group_name in api.current_logger().dbgmsg[0] + + for group_name in etc_group_names: + if group_name not in skipped_group_names: + assert group_name not in api.current_logger().dbgmsg[0] + else: + assert not api.current_logger().dbgmsg diff --git a/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts_grub.py b/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts_grub.py new file mode 100644 index 0000000..0855277 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts_grub.py @@ -0,0 +1,46 @@ +import os + +from leapp.libraries.actor import systemfacts +from leapp.models import DefaultGrub + + +class RunMocked(object): + def __init__(self, cmd_result): + self.called = 0 + self.cmd_result = cmd_result + self.split = False + self.cmd = None + + def __call__(self, cmd, split=False): + self.cmd = cmd + self.split = split + self.called += 1 + return self.cmd_result + + +def test_default_grub_info_valid(monkeypatch): + mocked_run = RunMocked({ + 'stdout': [ + 'line="whatever else here"', + 'newline="whatever"', + '# comment here', + 'why_not=value', + ' # whitespaces around comment ', + ' ', + ' last=last really' + ], + }) + expected_result = [ + DefaultGrub(name='line', value='"whatever else here"'), + DefaultGrub(name='newline', value='"whatever"'), + DefaultGrub(name='why_not', value='value'), + DefaultGrub(name='last', value='last really'), + ] + monkeypatch.setattr(systemfacts, 'run', mocked_run) + monkeypatch.setattr(os.path, 'isfile', lambda dummy: True) + for msg in systemfacts._default_grub_info(): + expected_msg = expected_result.pop(0) + assert msg.name == expected_msg.name + assert msg.value == expected_msg.value + assert mocked_run.called + assert not expected_result diff --git a/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts_selinux.py b/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts_selinux.py new file mode 100644 index 0000000..b9e0c71 --- /dev/null +++ b/repos/system_upgrade/common/actors/systemfacts/tests/test_systemfacts_selinux.py @@ -0,0 +1,98 @@ +import warnings + +import pytest + +from leapp.libraries.actor.systemfacts import get_selinux_status +from leapp.models import SELinuxFacts + +no_selinux = False +try: + import selinux +except ImportError: + no_selinux = True + warnings.warn( + 'Tests which uses `selinux` will be skipped' + ' due to library unavailability.', ImportWarning) + + +reason_to_skip_msg = "Selinux is not available" + +# FIXME: create valid tests... + + +@pytest.mark.skipif(no_selinux, reason=reason_to_skip_msg) +def test_selinux_enabled_enforcing(monkeypatch): + """ + Test case SELinux is enabled in enforcing mode + """ + monkeypatch.setattr(selinux, 'is_selinux_mls_enabled', lambda: 1) + monkeypatch.setattr(selinux, 'security_getenforce', lambda: 1) + monkeypatch.setattr(selinux, 'selinux_getenforcemode', lambda: [0, 1]) + monkeypatch.setattr(selinux, 'is_selinux_enabled', lambda: 1) + monkeypatch.setattr(selinux, 'selinux_getpolicytype', lambda: [0, 'targeted']) + expected_data = {'policy': 'targeted', + 'mls_enabled': True, + 'enabled': True, + 'runtime_mode': 'enforcing', + 'static_mode': 'enforcing'} + assert SELinuxFacts(**expected_data) == get_selinux_status() + + +@pytest.mark.skipif(no_selinux, reason=reason_to_skip_msg) +def test_selinux_enabled_permissive(monkeypatch): + """ + Test case SELinux is enabled in permissive mode + """ + monkeypatch.setattr(selinux, 'is_selinux_mls_enabled', lambda: 1) + monkeypatch.setattr(selinux, 'security_getenforce', lambda: 0) + monkeypatch.setattr(selinux, 'selinux_getenforcemode', lambda: [0, 0]) + monkeypatch.setattr(selinux, 'is_selinux_enabled', lambda: 1) + monkeypatch.setattr(selinux, 'selinux_getpolicytype', lambda: [0, 'targeted']) + expected_data = {'policy': 'targeted', + 'mls_enabled': True, + 'enabled': True, + 'runtime_mode': 'permissive', + 'static_mode': 'permissive'} + assert SELinuxFacts(**expected_data) == get_selinux_status() + + +@pytest.mark.skipif(no_selinux, reason=reason_to_skip_msg) +def test_selinux_disabled(monkeypatch): + """ + Test case SELinux is disabled + """ + monkeypatch.setattr(selinux, 'is_selinux_mls_enabled', lambda: 0) + monkeypatch.setattr(selinux, 'security_getenforce', lambda: 0) + monkeypatch.setattr(selinux, 'selinux_getenforcemode', lambda: [0, 0]) + monkeypatch.setattr(selinux, 'is_selinux_enabled', lambda: 0) + monkeypatch.setattr(selinux, 'selinux_getpolicytype', lambda: [0, 'targeted']) + expected_data = {'policy': 'targeted', + 'mls_enabled': False, + 'enabled': False, + 'runtime_mode': 'permissive', + 'static_mode': 'permissive'} + assert SELinuxFacts(**expected_data) == get_selinux_status() + + +class MockNoConfigFileOSError(object): + def __init__(self): + raise OSError + + +@pytest.mark.skipif(no_selinux, reason=reason_to_skip_msg) +def test_selinux_disabled_no_config_file(monkeypatch): + """ + Test case SELinux is disabled + """ + monkeypatch.setattr(selinux, 'is_selinux_mls_enabled', lambda: 0) + monkeypatch.setattr(selinux, 'security_getenforce', lambda: 0) + monkeypatch.setattr(selinux, 'selinux_getenforcemode', MockNoConfigFileOSError) + monkeypatch.setattr(selinux, 'is_selinux_enabled', lambda: 0) + monkeypatch.setattr(selinux, 'selinux_getpolicytype', lambda: [0, 'targeted']) + expected_data = {'policy': 'targeted', + 'mls_enabled': False, + 'enabled': False, + 'runtime_mode': 'permissive', + 'static_mode': 'disabled'} + + assert SELinuxFacts(**expected_data) == get_selinux_status() diff --git a/repos/system_upgrade/common/actors/targetuserspacecreator/actor.py b/repos/system_upgrade/common/actors/targetuserspacecreator/actor.py new file mode 100644 index 0000000..b122523 --- /dev/null +++ b/repos/system_upgrade/common/actors/targetuserspacecreator/actor.py @@ -0,0 +1,58 @@ +from leapp.actors import Actor +from leapp.libraries.actor import userspacegen +from leapp.libraries.common.config import get_env, version +from leapp.models import RequiredTargetUserspacePackages # deprecated +from leapp.models import TMPTargetRepositoriesFacts # deprecated +from leapp.models import ( + CustomTargetRepositoryFile, + PkgManagerInfo, + Report, + RepositoriesFacts, + RepositoriesMapping, + RHSMInfo, + RHUIInfo, + StorageInfo, + TargetOSInstallationImage, + TargetRepositories, + TargetUserSpaceInfo, + TargetUserSpacePreupgradeTasks, + UsedTargetRepositories, + XFSPresence +) +from leapp.tags import IPUWorkflowTag, TargetTransactionFactsPhaseTag + + +# @suppress_deprecation(RequiredTargetUserspacePackages, TMPTargetRepositoriesFacts) +class TargetUserspaceCreator(Actor): + """ + Initializes a directory to be populated as a minimal environment to run binaries from the target system. + + The target userspace is set up in a directory so one can run it in a containerized environment to perform tasks + as if the system running would be the target system. This allows us to use the target system RPM stack including + DNF which gives us the ability to use RPM features from the target system. + The userspace environment is also used to generate a initram disk with dracut using the target system binaries + such as kernel, systemd etc etc + """ + + name = 'target_userspace_creator' + consumes = ( + CustomTargetRepositoryFile, + RHSMInfo, + RHUIInfo, + RepositoriesFacts, + RepositoriesMapping, + RequiredTargetUserspacePackages, + StorageInfo, + TargetOSInstallationImage, + TargetRepositories, + TargetUserSpacePreupgradeTasks, + XFSPresence, + PkgManagerInfo, + ) + produces = (TargetUserSpaceInfo, UsedTargetRepositories, Report, TMPTargetRepositoriesFacts,) + tags = (IPUWorkflowTag, TargetTransactionFactsPhaseTag) + + def process(self): + skip_check = get_env('LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE', False) + if (skip_check or version.is_supported_version()) and next(self.consume(RepositoriesMapping), None): + userspacegen.perform() diff --git a/repos/system_upgrade/common/actors/targetuserspacecreator/libraries/constants.py b/repos/system_upgrade/common/actors/targetuserspacecreator/libraries/constants.py new file mode 100644 index 0000000..dcbb24f --- /dev/null +++ b/repos/system_upgrade/common/actors/targetuserspacecreator/libraries/constants.py @@ -0,0 +1,5 @@ +import os + +SCRATCH_DIR = os.getenv('LEAPP_CONTAINER_ROOT', '/var/lib/leapp/scratch') +MOUNTS_DIR = os.path.join(SCRATCH_DIR, 'mounts') +TARGET_USERSPACE = '/var/lib/leapp/el{}userspace' diff --git a/repos/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py b/repos/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py new file mode 100644 index 0000000..9dfa0f1 --- /dev/null +++ b/repos/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py @@ -0,0 +1,867 @@ +import itertools +import os +import re +import shutil + +from leapp import reporting +from leapp.exceptions import StopActorExecution, StopActorExecutionError +from leapp.libraries.actor import constants +from leapp.libraries.common import dnfplugin, mounting, overlaygen, repofileutils, rhsm, rhui, utils +from leapp.libraries.common.config import get_env, get_product_type +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api, CalledProcessError, config, run +from leapp.models import RequiredTargetUserspacePackages # deprecated +from leapp.models import TMPTargetRepositoriesFacts # deprecated all the time +from leapp.models import ( + CustomTargetRepositoryFile, + PkgManagerInfo, + RepositoriesFacts, + RHSMInfo, + RHUIInfo, + StorageInfo, + TargetOSInstallationImage, + TargetRepositories, + TargetUserSpaceInfo, + TargetUserSpacePreupgradeTasks, + UsedTargetRepositories, + UsedTargetRepository, + XFSPresence +) +from leapp.utils.deprecation import suppress_deprecation + +# TODO: "refactor" (modify) the library significantly +# The current shape is really bad and ineffective (duplicit parsing +# of repofiles). The library is doing 3 (5) things: +# # (0.) consume process input data +# # 1. prepare the first container, to be able to obtain repositories for the +# # target system (this is extra neededwhen rhsm is used, but not reason to +# # do such thing only when rhsm is used. Be persistent here +# # 2. gather target repositories that should AND can be used +# # - basically here is the main thing that is PITA; I started +# # the refactoring but realized that it needs much more changes because +# # of RHSM... +# # 3. create the target userspace bootstrap +# # (4.) produce messages with the data +# +# Because of the lack of time, I am extending the current bad situation, +# but after the release, the related code should be really refactored. +# It would be probably ideal, if this and other actors in the current and the +# next phase are modified properly and we could create inhibitors in the check +# phase and keep everything on the report. But currently it seems it doesn't +# worth to invest so much energy into it. So let's just make this really +# readable (includes split of the functionality into several libraries) +# and do not mess. +# Issue: #486 + +PROD_CERTS_FOLDER = 'prod-certs' +GPG_CERTS_FOLDER = 'rpm-gpg' +PERSISTENT_PACKAGE_CACHE_DIR = '/var/lib/leapp/persistent_package_cache' +DEDICATED_LEAPP_PART_URL = 'https://access.redhat.com/solutions/7011704' + + +def _check_deprecated_rhsm_skip(): + # we do not plan to cover this case by tests as it is purely + # devel/testing stuff, that becomes deprecated now + # just log the warning now (better than nothing?); deprecation process will + # be specified in close future + if get_env('LEAPP_DEVEL_SKIP_RHSM', '0') == '1': + api.current_logger().warning( + 'The LEAPP_DEVEL_SKIP_RHSM has been deprecated. Use' + ' LEAPP_NO_RHSM instead or use the --no-rhsm option for' + ' leapp. as well custom repofile has not been defined.' + ' Please read documentation about new "skip rhsm" solution.' + ) + + +class _InputData(object): + def __init__(self): + self._consume_data() + + @suppress_deprecation(RequiredTargetUserspacePackages) + def _consume_data(self): + """ + Wrapper function to consume majority input data. + + It doesn't consume TargetRepositories, which are consumed in the + own function. + """ + self.packages = {'dnf', 'dnf-command(config-manager)'} + self.files = [] + _cftuples = set() + + def _update_files(copy_files): + # add just uniq CopyFile objects to omit duplicate copying of files + for cfile in copy_files: + cftuple = (cfile.src, cfile.dst) + if cftuple not in _cftuples: + _cftuples.add(cftuple) + self.files.append(cfile) + + for task in api.consume(TargetUserSpacePreupgradeTasks): + self.packages.update(task.install_rpms) + _update_files(task.copy_files) + + for message in api.consume(RequiredTargetUserspacePackages): + self.packages.update(message.packages) + + # Get the RHSM information (available repos, attached SKUs, etc.) of the source system + self.rhsm_info = next(api.consume(RHSMInfo), None) + self.rhui_info = next(api.consume(RHUIInfo), None) + if not self.rhsm_info and not rhsm.skip_rhsm(): + api.current_logger().warning('Could not receive RHSM information - Is this system registered?') + raise StopActorExecution() + if rhsm.skip_rhsm() and self.rhsm_info: + # this should not happen. if so, raise an error as something in + # other actors is wrong really + raise StopActorExecutionError("RHSM is not handled but the RHSMInfo message has been produced.") + + self.custom_repofiles = list(api.consume(CustomTargetRepositoryFile)) + self.xfs_info = next(api.consume(XFSPresence), XFSPresence()) + self.storage_info = next(api.consume(StorageInfo), None) + if not self.storage_info: + raise StopActorExecutionError('No storage info available cannot proceed.') + + +def _restore_persistent_package_cache(userspace_dir): + if get_env('LEAPP_DEVEL_USE_PERSISTENT_PACKAGE_CACHE', None) == '1': + if not os.path.exists(PERSISTENT_PACKAGE_CACHE_DIR): + return + dst_cache = os.path.join(userspace_dir, 'var', 'cache', 'dnf') + if os.path.exists(dst_cache): + run(['rm', '-rf', dst_cache]) + shutil.move(PERSISTENT_PACKAGE_CACHE_DIR, dst_cache) + # We always want to remove the persistent cache here to unclutter the system + run(['rm', '-rf', PERSISTENT_PACKAGE_CACHE_DIR]) + + +def _backup_to_persistent_package_cache(userspace_dir): + if get_env('LEAPP_DEVEL_USE_PERSISTENT_PACKAGE_CACHE', None) == '1': + # Clean up any dead bodies, just in case + run(['rm', '-rf', PERSISTENT_PACKAGE_CACHE_DIR]) + src_cache = os.path.join(userspace_dir, 'var', 'cache', 'dnf') + if os.path.exists(src_cache): + shutil.move(src_cache, PERSISTENT_PACKAGE_CACHE_DIR) + + +def _the_nogpgcheck_option_used(): + return get_env('LEAPP_NOGPGCHECK', False) == '1' + + +def _get_path_to_gpg_certs(target_major_version): + target_product_type = get_product_type('target') + certs_dir = target_major_version + # only beta is special in regards to the GPG signing keys + if target_product_type == 'beta': + certs_dir = '{}beta'.format(target_major_version) + return os.path.join(api.get_common_folder_path(GPG_CERTS_FOLDER), certs_dir) + + +def _import_gpg_keys(context, install_root_dir, target_major_version): + certs_path = _get_path_to_gpg_certs(target_major_version) + # Import the RHEL X+1 GPG key to be able to verify the installation of initial packages + try: + # Import also any other keys provided by the customer in the same directory + for certname in os.listdir(certs_path): + cmd = ['rpm', '--root', install_root_dir, '--import', os.path.join(certs_path, certname)] + context.call(cmd, callback_raw=utils.logging_handler) + except CalledProcessError as exc: + raise StopActorExecutionError( + message=( + 'Unable to import GPG certificates to install RHEL {} userspace packages.' + .format(target_major_version) + ), + details={'details': str(exc), 'stderr': exc.stderr} + ) + + +def _handle_transaction_err_msg_size_old(err): + # NOTE(pstodulk): This is going to be removed in future! + + article_section = 'Generic case' + xfs_info = next(api.consume(XFSPresence), XFSPresence()) + if xfs_info.present and xfs_info.without_ftype: + article_section = 'XFS ftype=0 case' + + message = ('There is not enough space on the file system hosting /var/lib/leapp directory ' + 'to extract the packages.') + details = {'hint': "Please follow the instructions in the '{}' section of the article at: " + "link: https://access.redhat.com/solutions/5057391".format(article_section)} + + raise StopActorExecutionError(message=message, details=details) + + +def _handle_transaction_err_msg_size(err): + if get_env('LEAPP_OVL_LEGACY', '0') == '1': + _handle_transaction_err_msg_size_old(err) + return # not needed actually as the above function raises error, but for visibility + NO_SPACE_STR = 'more space needed on the' + + # Disk Requirements: + # At least more space needed on the filesystem. + # + missing_space = [line.strip() for line in err.stderr.split('\n') if NO_SPACE_STR in line] + size_str = re.match(r'At least (.*) more space needed', missing_space[0]).group(1) + message = 'There is not enough space on the file system hosting /var/lib/leapp.' + hint = ( + 'Increase the free space on the filesystem hosting' + ' /var/lib/leapp by {} at minimum. It is suggested to provide' + ' reasonably more space to be able to perform all planned actions' + ' (e.g. when 200MB is missing, add 1700MB or more).\n\n' + 'It is also a good practice to create dedicated partition' + ' for /var/lib/leapp when more space is needed, which can be' + ' dropped after the system upgrade is fully completed' + ' For more info, see: {}' + .format(size_str, DEDICATED_LEAPP_PART_URL) + ) + # we do not want to confuse customers by the orig msg speaking about + # missing space on '/'. Skip the Disk Requirements section. + # The information is part of the hint. + details = {'hint': hint} + + raise StopActorExecutionError(message=message, details=details) + + +def prepare_target_userspace(context, userspace_dir, enabled_repos, packages): + """ + Implement the creation of the target userspace. + """ + _backup_to_persistent_package_cache(userspace_dir) + + run(['rm', '-rf', userspace_dir]) + _create_target_userspace_directories(userspace_dir) + + target_major_version = get_target_major_version() + install_root_dir = '/el{}target'.format(target_major_version) + with mounting.BindMount(source=userspace_dir, target=os.path.join(context.base_dir, install_root_dir.lstrip('/'))): + _restore_persistent_package_cache(userspace_dir) + if not _the_nogpgcheck_option_used(): + _import_gpg_keys(context, install_root_dir, target_major_version) + + repos_opt = [['--enablerepo', repo] for repo in enabled_repos] + repos_opt = list(itertools.chain(*repos_opt)) + cmd = ['dnf', 'install', '-y'] + if _the_nogpgcheck_option_used(): + cmd.append('--nogpgcheck') + cmd += [ + '--setopt=module_platform_id=platform:el{}'.format(target_major_version), + '--setopt=keepcache=1', + '--releasever', api.current_actor().configuration.version.target, + '--installroot', install_root_dir, + '--disablerepo', '*' + ] + repos_opt + packages + if config.is_verbose(): + cmd.append('-v') + if rhsm.skip_rhsm(): + cmd += ['--disableplugin', 'subscription-manager'] + try: + context.call(cmd, callback_raw=utils.logging_handler) + except CalledProcessError as exc: + message = 'Unable to install RHEL {} userspace packages.'.format(target_major_version) + details = {'details': str(exc), 'stderr': exc.stderr} + + if 'more space needed on the' in exc.stderr: + # The stderr contains this error summary: + # Disk Requirements: + # At least more space needed on the filesystem. + _handle_transaction_err_msg_size(exc) + + # If a proxy was set in dnf config, it should be the reason why dnf + # failed since leapp does not support updates behind proxy yet. + for manager_info in api.consume(PkgManagerInfo): + if manager_info.configured_proxies: + details['details'] = ("DNF failed to install userspace packages, likely due to the proxy " + "configuration detected in the YUM/DNF configuration file.") + + # Similarly if a proxy was set specifically for one of the repositories. + for repo_facts in api.consume(RepositoriesFacts): + for repo_file in repo_facts.repositories: + if any(repo_data.proxy and repo_data.enabled for repo_data in repo_file.data): + details['details'] = ("DNF failed to install userspace packages, likely due to the proxy " + "configuration detected in a repository configuration file.") + + raise StopActorExecutionError(message=message, details=details) + + +def _get_all_rhui_pkgs(): + """ + Return the list of rhui packages + + Currently, do not care about what rhui we have, release, etc. + Just take all packages. We need them just for the purpose of filtering + what files we have to remove (see _prep_repository_access) and it's ok + for us to use whatever rhui rpms (the relevant rpms catch the problem, + the others are just taking bytes in memory...). It's a hot-fix. We are going + to refactor the library later completely.. + """ + upg_path = rhui.get_upg_path() + pkgs = [] + for rhui_map in rhui.RHUI_CLOUD_MAP[upg_path].values(): + for key in rhui_map.keys(): + if not key.endswith('pkg'): + continue + pkgs.append(rhui_map[key]) + return pkgs + + +def _get_files_owned_by_rpms(context, dirpath, pkgs=None, recursive=False): + """ + Return the list of file names inside dirpath owned by RPMs. + + This is important e.g. in case of RHUI which installs specific repo files + in the yum.repos.d directory. + + In case the pkgs param is None or empty, do not filter any specific rpms. + Otherwise return filenames that are owned by any pkg in the given list. + + If the recursive param is set to True, all files owned by a package in the + directory tree starting at dirpath are returned. Otherwise, only the + files within dirpath are checked. + """ + + files_owned_by_rpms = [] + + file_list = [] + searchdir = context.full_path(dirpath) + if recursive: + for root, _, files in os.walk(searchdir): + for filename in files: + relpath = os.path.relpath(os.path.join(root, filename), searchdir) + file_list.append(relpath) + else: + file_list = os.listdir(searchdir) + + for fname in file_list: + try: + result = context.call(['rpm', '-qf', os.path.join(dirpath, fname)]) + except CalledProcessError: + api.current_logger().debug('SKIP the {} file: not owned by any rpm'.format(fname)) + continue + if pkgs and not [pkg for pkg in pkgs if pkg in result['stdout']]: + api.current_logger().debug('SKIP the {} file: not owned by any searched rpm:'.format(fname)) + continue + api.current_logger().debug('Found the file owned by an rpm: {}.'.format(fname)) + files_owned_by_rpms.append(fname) + + return files_owned_by_rpms + + +def _copy_certificates(context, target_userspace): + """ + Copy the needed cetificates into the container, but preserve original ones + + Some certificates are already installed in the container and those are + default certificates for the target OS, so we preserve these. + """ + + target_pki = os.path.join(target_userspace, 'etc', 'pki') + backup_pki = os.path.join(target_userspace, 'etc', 'pki.backup') + + with mounting.NspawnActions(base_dir=target_userspace) as target_context: + files_owned_by_rpms = _get_files_owned_by_rpms(target_context, '/etc/pki', recursive=True) + api.current_logger().debug('Files owned by rpms: {}'.format(' '.join(files_owned_by_rpms))) + + run(['mv', target_pki, backup_pki]) + context.copytree_from('/etc/pki', target_pki) + + for filepath in files_owned_by_rpms: + src_path = os.path.join(backup_pki, filepath) + dst_path = os.path.join(target_pki, filepath) + + # Resolve and skip any broken symlinks + is_broken_symlink = False + while os.path.islink(src_path): + # The symlink points to a path relative to the target userspace so + # we need to readjust it + next_path = os.path.join(target_userspace, os.readlink(src_path)[1:]) + if not os.path.exists(next_path): + is_broken_symlink = True + + # The path original path of the broken symlink in the container + report_path = os.path.join(target_pki, os.path.relpath(src_path, backup_pki)) + api.current_logger().warn('File {} is a broken symlink!'.format(report_path)) + break + + src_path = next_path + + if is_broken_symlink: + continue + + run(['rm', '-rf', dst_path]) + parent_dir = os.path.dirname(dst_path) + run(['mkdir', '-p', parent_dir]) + run(['cp', '-a', src_path, dst_path]) + + +def _prep_repository_access(context, target_userspace): + """ + Prepare repository access by copying all relevant certificates and configuration files to the userspace + """ + target_etc = os.path.join(target_userspace, 'etc') + target_yum_repos_d = os.path.join(target_etc, 'yum.repos.d') + backup_yum_repos_d = os.path.join(target_etc, 'yum.repos.d.backup') + + _copy_certificates(context, target_userspace) + + if not rhsm.skip_rhsm(): + run(['rm', '-rf', os.path.join(target_etc, 'rhsm')]) + context.copytree_from('/etc/rhsm', os.path.join(target_etc, 'rhsm')) + # NOTE: we cannot just remove the original target yum.repos.d dir + # as e.g. in case of RHUI a special RHUI repofiles are installed by a pkg + # when the target userspace container is created. Removing these files we loose + # RHUI target repositories. So ...-> + # -> detect such a files... + with mounting.NspawnActions(base_dir=target_userspace) as target_context: + files_owned_by_rpms = _get_files_owned_by_rpms(target_context, '/etc/yum.repos.d') + + # -> backup the orig dir & install the new one + run(['mv', target_yum_repos_d, backup_yum_repos_d]) + context.copytree_from('/etc/yum.repos.d', target_yum_repos_d) + + # -> find old rhui repo files (we have to remove these as they cause duplicates) + rhui_pkgs = _get_all_rhui_pkgs() + old_files_owned_by_rhui_rpms = _get_files_owned_by_rpms(context, '/etc/yum.repos.d', rhui_pkgs) + for fname in old_files_owned_by_rhui_rpms: + api.current_logger().debug('Remove the old repofile: {}'.format(fname)) + run(['rm', '-f', os.path.join(target_yum_repos_d, fname)]) + # .. continue: remove our leapp rhui repo file (do not care if we are on rhui or not) + for rhui_map in rhui.gen_rhui_files_map().values(): + for item in rhui_map: + if item[1] != rhui.YUM_REPOS_PATH: + continue + target_leapp_repofile = os.path.join(target_yum_repos_d, item[0]) + if not os.path.isfile(target_leapp_repofile): + continue + # we found it!! + run(['rm', '-f', target_leapp_repofile]) + break + + # -> copy expected files back + for fname in files_owned_by_rpms: + api.current_logger().debug('Copy the backed up repo file: {}'.format(fname)) + run(['mv', os.path.join(backup_yum_repos_d, fname), os.path.join(target_yum_repos_d, fname)]) + + # -> remove the backed up dir + run(['rm', '-rf', backup_yum_repos_d]) + + +def _get_product_certificate_path(): + """ + Retrieve the required / used product certificate for RHSM. + """ + architecture = api.current_actor().configuration.architecture + target_version = api.current_actor().configuration.version.target + target_product_type = get_product_type('target') + certs_dir = api.get_common_folder_path(PROD_CERTS_FOLDER) + + # We do not need any special certificates to reach repos from non-ga channels, only beta requires special cert. + if target_product_type != 'beta': + target_product_type = 'ga' + + prod_certs = { + 'x86_64': { + 'ga': '479.pem', + 'beta': '486.pem', + }, + 'aarch64': { + 'ga': '419.pem', + 'beta': '363.pem', + }, + 'ppc64le': { + 'ga': '279.pem', + 'beta': '362.pem', + }, + 's390x': { + 'ga': '72.pem', + 'beta': '433.pem', + } + } + + try: + cert = prod_certs[architecture][target_product_type] + except KeyError as e: + raise StopActorExecutionError(message='Failed to determine what certificate to use for {}.'.format(e)) + + cert_path = os.path.join(certs_dir, target_version, cert) + if not os.path.isfile(cert_path): + additional_summary = '' + if target_product_type != 'ga': + additional_summary = ( + ' This can happen when upgrading a beta system and the chosen target version does not have' + ' beta certificates attached (for example, because the GA has been released already).' + + ) + + reporting.create_report([ + reporting.Title('Cannot find the product certificate file for the chosen target system.'), + reporting.Summary( + 'Expected certificate: {cert} with path {path} but it could not be found.{additional}'.format( + cert=cert, path=cert_path, additional=additional_summary) + ), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Remediation(hint=( + 'Set the corresponding target os version in the LEAPP_DEVEL_TARGET_RELEASE environment variable for' + 'which the {cert} certificate is provided'.format(cert=cert) + )), + ]) + raise StopActorExecution() + + return cert_path + + +def _create_target_userspace_directories(target_userspace): + api.current_logger().debug('Creating target userspace directories.') + try: + utils.makedirs(target_userspace) + api.current_logger().debug('Done creating target userspace directories.') + except OSError: + api.current_logger().error( + 'Failed to create temporary target userspace directories %s', target_userspace, exc_info=True) + # This is an attempt for giving the user a chance to resolve it on their own + raise StopActorExecutionError( + message='Failed to prepare environment for package download while creating directories.', + details={ + 'hint': 'Please ensure that {directory} is empty and modifiable.'.format(directory=target_userspace) + } + ) + + +def _inhibit_on_duplicate_repos(repofiles): + """ + Inhibit the upgrade if any repoid is defined multiple times. + + When that happens, it not only shows misconfigured system, but then + we can't get details of all the available repos as well. + """ + # TODO: this is is duplicate of rhsm._inhibit_on_duplicate_repos + # Issue: #486 + duplicates = repofileutils.get_duplicate_repositories(repofiles).keys() + + if not duplicates: + return + list_separator_fmt = '\n - ' + api.current_logger().warning( + 'The following repoids are defined multiple times:{0}{1}' + .format(list_separator_fmt, list_separator_fmt.join(duplicates)) + ) + + reporting.create_report([ + reporting.Title('A YUM/DNF repository defined multiple times'), + reporting.Summary( + 'The following repositories are defined multiple times inside the' + ' "upgrade" container:{0}{1}' + .format(list_separator_fmt, list_separator_fmt.join(duplicates)) + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint=( + 'Remove the duplicate repository definitions or change repoids of' + ' conflicting repositories on the system to prevent the' + ' conflict.' + ) + ) + ]) + + +def _get_all_available_repoids(context): + repofiles = repofileutils.get_parsed_repofiles(context) + # TODO: this is not good solution, but keep it as it is now + # Issue: #486 + if rhsm.skip_rhsm(): + # only if rhsm is skipped, the duplicate repos are not detected + # automatically and we need to do it extra + _inhibit_on_duplicate_repos(repofiles) + repoids = [] + for rfile in repofiles: + if rfile.data: + repoids += [repo.repoid for repo in rfile.data] + return set(repoids) + + +def _get_rhsm_available_repoids(context): + target_major_version = get_target_major_version() + # FIXME: check that required repo IDs (baseos, appstream) + # + or check that all required RHEL repo IDs are available. + if rhsm.skip_rhsm(): + return set() + # Get the RHSM repos available in the target RHEL container + # TODO: very similar thing should happens for all other repofiles in container + # + repoids = rhsm.get_available_repo_ids(context) + # NOTE(ivasilev) For the moment at least AppStream and BaseOS repos are required. While we are still + # contemplating on what can be a generic solution to checking this, let's introduce a minimal check for + # at-least-one-appstream and at-least-one-baseos among present repoids + if not repoids or all("baseos" not in ri for ri in repoids) or all("appstream" not in ri for ri in repoids): + reporting.create_report([ + reporting.Title('Cannot find required basic RHEL target repositories.'), + reporting.Summary( + 'This can happen when a repository ID was entered incorrectly either while using the --enablerepo' + ' option of leapp or in a third party actor that produces a CustomTargetRepositoryMessage.' + ), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint=( + 'It is required to have RHEL repositories on the system' + ' provided by the subscription-manager unless the --no-rhsm' + ' option is specified. You might be missing a valid SKU for' + ' the target system or have a failed network connection.' + ' Check whether your system is attached to a valid SKU that is' + ' providing RHEL {} repositories.' + ' If you are using Red Hat Satellite, read the upgrade documentation' + ' to set up Satellite and the system properly.' + + ).format(target_major_version)), + reporting.ExternalLink( + # TODO: How to handle different documentation links for each version? + url='https://red.ht/preparing-for-upgrade-to-rhel8', + title='Preparing for the upgrade') + ]) + raise StopActorExecution() + return set(repoids) + + +def _get_rhui_available_repoids(context, cloud_repo): + repofiles = repofileutils.get_parsed_repofiles(context) + + # TODO: same refactoring as Issue #486? + _inhibit_on_duplicate_repos(repofiles) + repoids = [] + for rfile in repofiles: + if rfile.file == cloud_repo and rfile.data: + repoids = [repo.repoid for repo in rfile.data] + repoids.sort() + break + return set(repoids) + + +def _get_rh_available_repoids(context, indata): + """ + RH repositories are provided either by RHSM or are stored in the expected repo file provided by + RHUI special packages (every cloud provider has itw own rpm). + """ + + upg_path = rhui.get_upg_path() + + rh_repoids = _get_rhsm_available_repoids(context) + + if indata and indata.rhui_info: + cloud_repo = os.path.join( + '/etc/yum.repos.d/', rhui.RHUI_CLOUD_MAP[upg_path][indata.rhui_info.provider]['leapp_pkg_repo'] + ) + rhui_repoids = _get_rhui_available_repoids(context, cloud_repo) + rh_repoids.update(rhui_repoids) + + return rh_repoids + + +def gather_target_repositories(context, indata): + """ + Get available required target repositories and inhibit or raise error if basic checks do not pass. + + In case of repositories provided by Red Hat, it's checked whether the basic + required repositories are available (or at least defined) in the given + context. If not, raise StopActorExecutionError. + + For the custom target repositories we expect all of them have to be defined. + If any custom target repository is missing, raise StopActorExecutionError. + + If any repository is defined multiple times, produce the inhibitor Report + msg. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: List of target system repoids + :rtype: List(string) + """ + rh_available_repoids = _get_rh_available_repoids(context, indata) + all_available_repoids = _get_all_available_repoids(context) + + target_repoids = [] + missing_custom_repoids = [] + for target_repo in api.consume(TargetRepositories): + for rhel_repo in target_repo.rhel_repos: + if rhel_repo.repoid in rh_available_repoids: + target_repoids.append(rhel_repo.repoid) + else: + # TODO: We shall report that the RHEL repos that we deem necessary for + # the upgrade are not available; but currently it would just print bunch of + # data every time as we maps EUS and other repositories as well. But these + # do not have to be necessary available on the target system in the time + # of the upgrade. Let's skip it for now until it's clear how we will deal + # with it. + pass + for custom_repo in target_repo.custom_repos: + if custom_repo.repoid in all_available_repoids: + target_repoids.append(custom_repo.repoid) + else: + missing_custom_repoids.append(custom_repo.repoid) + api.current_logger().debug("Gathered target repositories: {}".format(', '.join(target_repoids))) + if not target_repoids: + reporting.create_report([ + reporting.Title('There are no enabled target repositories'), + reporting.Summary( + 'This can happen when a system is not correctly registered with the subscription manager' + ' or, when the leapp --no-rhsm option has been used, no custom repositories have been' + ' passed on the command line.' + ), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Remediation(hint=( + 'Ensure the system is correctly registered with the subscription manager and that' + ' the current subscription is entitled to install the requested target version {version}.' + ' If you used the --no-rhsm option (or the LEAPP_NO_RHSM=1 environment variable is set),' + ' ensure the custom repository file is provided with' + ' properly defined repositories and that the --enablerepo option for leapp is set if the' + ' repositories are defined in any repofiles under the /etc/yum.repos.d/ directory.' + ' For more information on custom repository files, see the documentation.' + ' Finally, verify that the "/etc/leapp/files/repomap.json" file is up-to-date.' + ).format(version=api.current_actor().configuration.version.target)), + reporting.ExternalLink( + # TODO: How to handle different documentation links for each version? + url='https://red.ht/preparing-for-upgrade-to-rhel8', + title='Preparing for the upgrade'), + reporting.RelatedResource("file", "/etc/leapp/files/repomap.json"), + reporting.RelatedResource("file", "/etc/yum.repos.d/") + ]) + raise StopActorExecution() + if missing_custom_repoids: + reporting.create_report([ + reporting.Title('Some required custom target repositories have not been found'), + reporting.Summary( + 'This can happen when a repository ID was entered incorrectly either' + ' while using the --enablerepo option of leapp, or in a third party actor that produces a' + ' CustomTargetRepositoryMessage.\n' + 'The following repositories IDs could not be found in the target configuration:\n' + '- {}\n'.format('\n- '.join(missing_custom_repoids)) + ), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Severity(reporting.Severity.HIGH), + reporting.ExternalLink( + # TODO: How to handle different documentation links for each version? + url='https://access.redhat.com/articles/4977891', + title='Customizing your Red Hat Enterprise Linux in-place upgrade'), + reporting.Remediation(hint=( + 'Consider using the custom repository file, which is documented in the official' + ' upgrade documentation. Check whether a repository ID has been' + ' entered incorrectly with the --enablerepo option of leapp.' + ' Check the leapp logs to see the list of all available repositories.' + )) + ]) + raise StopActorExecution() + return set(target_repoids) + + +def _install_custom_repofiles(context, custom_repofiles): + """ + Install the required custom repository files into the container. + + The repository files are copied from the host into the /etc/yum.repos.d + directory into the container. + + :param context: the container where the repofiles should be copied + :type context: mounting.IsolatedActions class + :param custom_repofiles: list of custom repo files + :type custom_repofiles: List(CustomTargetRepositoryFile) + """ + for rfile in custom_repofiles: + _dst_path = os.path.join('/etc/yum.repos.d', os.path.basename(rfile.file)) + context.copy_to(rfile.file, _dst_path) + + +def _gather_target_repositories(context, indata, prod_cert_path): + """ + This is wrapper function to gather the target repoids. + + Probably the function could be partially merged into gather_target_repositories + and this could be really just wrapper with the switch of certificates. + I am keeping that for now as it is as interim step. + + :param context: the container where the repofiles should be copied + :type context: mounting.IsolatedActions class + :param indata: majority of input data for the actor + :type indata: class _InputData + :param prod_cert_path: path where the target product cert is stored + :type prod_cert_path: string + """ + rhsm.set_container_mode(context) + rhsm.switch_certificate(context, indata.rhsm_info, prod_cert_path) + if indata.rhui_info: + rhui.copy_rhui_data(context, indata.rhui_info.provider) + _install_custom_repofiles(context, indata.custom_repofiles) + return gather_target_repositories(context, indata) + + +def _copy_files(context, files): + """ + Copy the files/dirs from the host to the `context` userspace + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :param files: list of files that should be copied from the host to the context + :type files: list of CopyFile + """ + for file_task in files: + if not file_task.dst: + file_task.dst = file_task.src + if os.path.isdir(file_task.src): + context.remove_tree(file_task.dst) + context.copytree_to(file_task.src, file_task.dst) + else: + context.copy_to(file_task.src, file_task.dst) + + +def _get_target_userspace(): + return constants.TARGET_USERSPACE.format(get_target_major_version()) + + +def _create_target_userspace(context, packages, files, target_repoids): + """Create the target userspace.""" + target_path = _get_target_userspace() + prepare_target_userspace(context, target_path, target_repoids, list(packages)) + _prep_repository_access(context, target_path) + + with mounting.NspawnActions(base_dir=target_path) as target_context: + _copy_files(target_context, files) + dnfplugin.install(_get_target_userspace()) + + # and do not forget to set the rhsm into the container mode again + with mounting.NspawnActions(_get_target_userspace()) as target_context: + rhsm.set_container_mode(target_context) + + +@suppress_deprecation(TMPTargetRepositoriesFacts) +def perform(): + # NOTE: this one action is out of unit-tests completely; we do not use + # in unit tests the LEAPP_DEVEL_SKIP_RHSM envar anymore + _check_deprecated_rhsm_skip() + + indata = _InputData() + prod_cert_path = _get_product_certificate_path() + reserve_space = overlaygen.get_recommended_leapp_free_space(_get_target_userspace()) + with overlaygen.create_source_overlay( + mounts_dir=constants.MOUNTS_DIR, + scratch_dir=constants.SCRATCH_DIR, + storage_info=indata.storage_info, + xfs_info=indata.xfs_info, + scratch_reserve=reserve_space) as overlay: + with overlay.nspawn() as context: + # Mount the ISO into the scratch container + target_iso = next(api.consume(TargetOSInstallationImage), None) + with mounting.mount_upgrade_iso_to_root_dir(overlay.target, target_iso): + target_repoids = _gather_target_repositories(context, indata, prod_cert_path) + _create_target_userspace(context, indata.packages, indata.files, target_repoids) + # TODO: this is tmp solution as proper one needs significant refactoring + target_repo_facts = repofileutils.get_parsed_repofiles(context) + api.produce(TMPTargetRepositoriesFacts(repositories=target_repo_facts)) + # ## TODO ends here + api.produce(UsedTargetRepositories( + repos=[UsedTargetRepository(repoid=repo) for repo in target_repoids])) + api.produce(TargetUserSpaceInfo( + path=_get_target_userspace(), + scratch=constants.SCRATCH_DIR, + mounts=constants.MOUNTS_DIR)) diff --git a/repos/system_upgrade/common/actors/targetuserspacecreator/tests/unit_test_targetuserspacecreator.py b/repos/system_upgrade/common/actors/targetuserspacecreator/tests/unit_test_targetuserspacecreator.py new file mode 100644 index 0000000..a519275 --- /dev/null +++ b/repos/system_upgrade/common/actors/targetuserspacecreator/tests/unit_test_targetuserspacecreator.py @@ -0,0 +1,410 @@ +import os +from collections import namedtuple + +import pytest + +from leapp import models, reporting +from leapp.exceptions import StopActorExecution, StopActorExecutionError +from leapp.libraries.actor import userspacegen +from leapp.libraries.common import overlaygen, repofileutils, rhsm +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked, produce_mocked +from leapp.utils.deprecation import suppress_deprecation + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) +_CERTS_PATH = os.path.join(CUR_DIR, '../../../files', userspacegen.PROD_CERTS_FOLDER) +_DEFAULT_CERT_PATH = os.path.join(_CERTS_PATH, '8.1', '479.pem') + + +@pytest.fixture +def adjust_cwd(): + previous_cwd = os.getcwd() + os.chdir(os.path.join(CUR_DIR, "../")) + yield + os.chdir(previous_cwd) + + +class MockedMountingBase(object): + def __init__(self, **dummy_kwargs): + self.called_copytree_from = [] + self.target = '' + + def copytree_from(self, src, dst): + self.called_copytree_from.append((src, dst)) + + def __call__(self, **dummy_kwarg): + yield self + + def call(self, *args, **kwargs): + return {'stdout': ''} + + def nspawn(self): + return self + + def __enter__(self): + return self + + def __exit__(self, exception_type, exception_value, traceback): + pass + + +@pytest.mark.parametrize('result,dst_ver,arch,prod_type', [ + (os.path.join(_CERTS_PATH, '8.1', '479.pem'), '8.1', architecture.ARCH_X86_64, 'ga'), + (os.path.join(_CERTS_PATH, '8.1', '419.pem'), '8.1', architecture.ARCH_ARM64, 'ga'), + (os.path.join(_CERTS_PATH, '8.1', '279.pem'), '8.1', architecture.ARCH_PPC64LE, 'ga'), + (os.path.join(_CERTS_PATH, '8.2', '479.pem'), '8.2', architecture.ARCH_X86_64, 'ga'), + (os.path.join(_CERTS_PATH, '8.5', '486.pem'), '8.5', architecture.ARCH_X86_64, 'beta'), + (os.path.join(_CERTS_PATH, '8.2', '72.pem'), '8.2', architecture.ARCH_S390X, 'ga'), + (os.path.join(_CERTS_PATH, '8.5', '433.pem'), '8.5', architecture.ARCH_S390X, 'beta'), +]) +def test_get_product_certificate_path(monkeypatch, adjust_cwd, result, dst_ver, arch, prod_type): + envars = {'LEAPP_DEVEL_TARGET_PRODUCT_TYPE': prod_type} + curr_actor_mocked = CurrentActorMocked(dst_ver=dst_ver, arch=arch, envars=envars) + monkeypatch.setattr(userspacegen.api, 'current_actor', curr_actor_mocked) + assert userspacegen._get_product_certificate_path() in result + + +@suppress_deprecation(models.RequiredTargetUserspacePackages) +def _gen_packages_msgs(): + _cfiles = [ + models.CopyFile(src='/path/src', dst='/path/dst'), + models.CopyFile(src='/path/foo', dst='/path/bar'), + ] + return [ + models.RequiredTargetUserspacePackages(), + models.RequiredTargetUserspacePackages(packages=['pkgA']), + models.RequiredTargetUserspacePackages(packages=['pkgB', 'pkgsC']), + models.RequiredTargetUserspacePackages(packages=['pkgD']), + models.TargetUserSpacePreupgradeTasks(), + models.TargetUserSpacePreupgradeTasks(install_rpms=['pkgA']), + models.TargetUserSpacePreupgradeTasks(install_rpms=['pkgB', 'pkgsC']), + models.TargetUserSpacePreupgradeTasks(install_rpms=['pkgD', 'pkgE'], copy_files=[_cfiles[0]]), + models.TargetUserSpacePreupgradeTasks(copy_files=_cfiles), + ] + + +_PACKAGES_MSGS = _gen_packages_msgs() +_RHSMINFO_MSG = models.RHSMInfo(attached_skus=['testing-sku']) +_RHUIINFO_MSG = models.RHUIInfo(provider='aws') +_XFS_MSG = models.XFSPresence() +_STORAGEINFO_MSG = models.StorageInfo() +_CTRF_MSGS = [ + models.CustomTargetRepositoryFile(file='rfileA'), + models.CustomTargetRepositoryFile(file='rfileB'), +] +_SAEE = StopActorExecutionError +_SAE = StopActorExecution + + +class MockedConsume(object): + def __init__(self, *args): + self._msgs = [] + for arg in args: + if not arg: + continue + if isinstance(arg, list): + self._msgs.extend(arg) + else: + self._msgs.append(arg) + + def __call__(self, model): + return iter([msg for msg in self._msgs if isinstance(msg, model)]) + + +testInData = namedtuple( + 'TestInData', ['pkg_msgs', 'rhsm_info', 'rhui_info', 'xfs', 'storage', 'custom_repofiles'] +) + + +# NOTE: tests cover know new, deprecated, and both ways how to require packages +# that should be installed to create the target userspace. Cases which could be +# removed completely after the drop of the deprecated functionality, are marked +# with the `# dep` str. +@pytest.mark.parametrize('raised,no_rhsm,testdata', [ + # valid cases with RHSM + (None, '0', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None)), + (None, '0', testInData(_PACKAGES_MSGS[:4], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None)), # dep + (None, '0', testInData(_PACKAGES_MSGS[4:8], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None)), # dep + (None, '0', testInData(_PACKAGES_MSGS[0], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None)), + (None, '0', testInData(_PACKAGES_MSGS[4], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None)), # dep + (None, '0', testInData([], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None)), + (None, '0', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, None, _STORAGEINFO_MSG, None)), + (None, '0', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, _CTRF_MSGS)), + (None, '0', testInData(_PACKAGES_MSGS[0], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, _CTRF_MSGS)), + (None, '0', testInData(_PACKAGES_MSGS[4], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, _CTRF_MSGS)), # dep + (None, '0', testInData([], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, _CTRF_MSGS)), + (None, '0', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, None, _STORAGEINFO_MSG, _CTRF_MSGS)), + + # valid cases without RHSM (== skip_rhsm) + (None, '1', testInData(_PACKAGES_MSGS, None, _RHUIINFO_MSG, _XFS_MSG, _STORAGEINFO_MSG, None)), + (None, '1', testInData(_PACKAGES_MSGS[:4], None, _RHUIINFO_MSG, _XFS_MSG, _STORAGEINFO_MSG, None)), # dep + (None, '1', testInData(_PACKAGES_MSGS[4:8], None, _RHUIINFO_MSG, _XFS_MSG, _STORAGEINFO_MSG, None)), # dep + (None, '1', testInData(_PACKAGES_MSGS, None, _RHUIINFO_MSG, None, _STORAGEINFO_MSG, None)), + (None, '1', testInData([], None, _RHUIINFO_MSG, _XFS_MSG, _STORAGEINFO_MSG, None)), + (None, '1', testInData([], None, _RHUIINFO_MSG, None, _STORAGEINFO_MSG, None)), + (None, '1', testInData(_PACKAGES_MSGS, None, _RHUIINFO_MSG, _XFS_MSG, _STORAGEINFO_MSG, _CTRF_MSGS)), + (None, '1', testInData(_PACKAGES_MSGS, None, _RHUIINFO_MSG, None, _STORAGEINFO_MSG, _CTRF_MSGS)), + (None, '1', testInData([], None, _RHUIINFO_MSG, _XFS_MSG, _STORAGEINFO_MSG, _CTRF_MSGS)), + (None, '1', testInData([], None, _RHUIINFO_MSG, None, _STORAGEINFO_MSG, _CTRF_MSGS)), + + # no-rhsm but RHSMInfo defined (should be _RHSMINFO_MSG) + ((_SAEE, 'RHSM is not'), '1', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None)), + ((_SAEE, 'RHSM is not'), '1', testInData(_PACKAGES_MSGS[0], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, + None)), + ((_SAEE, 'RHSM is not'), '1', testInData(_PACKAGES_MSGS[4], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, + None)), # dep + ((_SAEE, 'RHSM is not'), '1', testInData([], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None)), + ((_SAEE, 'RHSM is not'), '1', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, None, _STORAGEINFO_MSG, None)), + ((_SAEE, 'RHSM is not'), '1', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, + _CTRF_MSGS)), + ((_SAEE, 'RHSM is not'), '1', testInData(_PACKAGES_MSGS[0], _RHSMINFO_MSG, None, _XFS_MSG, + _STORAGEINFO_MSG, _CTRF_MSGS)), + ((_SAEE, 'RHSM is not'), '1', testInData(_PACKAGES_MSGS[4], _RHSMINFO_MSG, None, _XFS_MSG, + _STORAGEINFO_MSG, _CTRF_MSGS)), # dep + ((_SAEE, 'RHSM is not'), '1', testInData([], _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, _CTRF_MSGS)), + ((_SAEE, 'RHSM is not'), '1', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, None, _STORAGEINFO_MSG, _CTRF_MSGS)), + + # missing RHSMInfo but it should exist + # NOTE: should be this Error?! + ((_SAE, 'RHSM information'), '0', testInData(_PACKAGES_MSGS, None, None, _XFS_MSG, _STORAGEINFO_MSG, None)), + ((_SAE, 'RHSM information'), '0', testInData(_PACKAGES_MSGS, None, None, None, _STORAGEINFO_MSG, None)), + ((_SAE, 'RHSM information'), '0', testInData([], None, None, _XFS_MSG, _STORAGEINFO_MSG, None)), + ((_SAE, 'RHSM information'), '0', testInData([], None, None, None, _STORAGEINFO_MSG, None)), + + # in the end, error when StorageInfo is missing + ((_SAEE, 'No storage'), '0', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, _XFS_MSG, None, None)), + ((_SAEE, 'No storage'), '0', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, None, None, None)), + ((_SAEE, 'No storage'), '0', testInData([], _RHSMINFO_MSG, None, _XFS_MSG, None, None)), + ((_SAEE, 'No storage'), '0', testInData([], _RHSMINFO_MSG, None, None, None, None)), + ((_SAEE, 'No storage'), '0', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, _XFS_MSG, None, _CTRF_MSGS)), + ((_SAEE, 'No storage'), '0', testInData(_PACKAGES_MSGS, _RHSMINFO_MSG, None, None, None, _CTRF_MSGS)), + ((_SAEE, 'No storage'), '0', testInData([], _RHSMINFO_MSG, None, _XFS_MSG, None, _CTRF_MSGS)), + ((_SAEE, 'No storage'), '0', testInData([], _RHSMINFO_MSG, None, None, None, _CTRF_MSGS)), +]) +def test_consume_data(monkeypatch, raised, no_rhsm, testdata): + # do not write never into testdata inside the test !! + xfs = testdata.xfs + custom_repofiles = testdata.custom_repofiles + _exp_pkgs = {'dnf', 'dnf-command(config-manager)'} + _exp_files = [] + + def _get_pkgs(msg): + if isinstance(msg, models.TargetUserSpacePreupgradeTasks): + return msg.install_rpms + return msg.packages + + def _get_files(msg): + if isinstance(msg, models.TargetUserSpacePreupgradeTasks): + return msg.copy_files + return [] + + def _cfiles2set(cfiles): + return {(i.src, i.dst) for i in cfiles} + + if isinstance(testdata.pkg_msgs, list): + for msg in testdata.pkg_msgs: + _exp_pkgs.update(_get_pkgs(msg)) + _exp_files += _get_files(msg) + else: + _exp_pkgs.update(_get_pkgs(testdata.pkg_msgs)) + _exp_files += _get_files(testdata.pkg_msgs) + mocked_consume = MockedConsume(testdata.pkg_msgs, + testdata.rhsm_info, + testdata.rhui_info, + xfs, + testdata.storage, + custom_repofiles) + + monkeypatch.setattr(userspacegen.api, 'consume', mocked_consume) + monkeypatch.setattr(userspacegen.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(userspacegen.api, 'current_actor', CurrentActorMocked(envars={'LEAPP_NO_RHSM': no_rhsm})) + if not xfs: + xfs = models.XFSPresence() + if not custom_repofiles: + custom_repofiles = [] + if not raised: + result = userspacegen._InputData() + assert result.packages == _exp_pkgs + assert _cfiles2set(result.files) == _cfiles2set(_exp_files) + assert result.rhsm_info == testdata.rhsm_info + assert result.rhui_info == testdata.rhui_info + assert result.xfs_info == xfs + assert result.storage_info == testdata.storage + assert result.custom_repofiles == custom_repofiles + assert not userspacegen.api.current_logger.warnmsg + assert not userspacegen.api.current_logger.errmsg + else: + with pytest.raises(raised[0]) as err: + userspacegen._InputData() + if isinstance(err.value, StopActorExecutionError): + assert raised[1] in err.value.message + else: + assert userspacegen.api.current_logger.warnmsg + assert any([raised[1] in x for x in userspacegen.api.current_logger.warnmsg]) + + +@pytest.mark.skip(reason="Currently not implemented in the actor. It's TODO.") +def test_gather_target_repositories(monkeypatch): + monkeypatch.setattr(userspacegen.api, 'current_actor', CurrentActorMocked()) + # The available RHSM repos + monkeypatch.setattr(rhsm, 'get_available_repo_ids', lambda x: ['repoidX', 'repoidY', 'repoidZ']) + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: False) + # The required RHEL repos based on the repo mapping and PES data + custom repos required by third party actors + monkeypatch.setattr(userspacegen.api, 'consume', lambda x: iter([models.TargetRepositories( + rhel_repos=[models.RHELTargetRepository(repoid='repoidX'), + models.RHELTargetRepository(repoid='repoidY')], + custom_repos=[models.CustomTargetRepository(repoid='repoidCustom')])])) + + target_repoids = userspacegen.gather_target_repositories(None, None) + + assert target_repoids == ['repoidX', 'repoidY', 'repoidCustom'] + + +def test_gather_target_repositories_none_available(monkeypatch): + + mocked_produce = produce_mocked() + monkeypatch.setattr(userspacegen.api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(userspacegen.api.current_actor(), 'produce', mocked_produce) + monkeypatch.setattr(rhsm, 'get_available_repo_ids', lambda x: []) + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: False) + with pytest.raises(StopActorExecution): + userspacegen.gather_target_repositories(None, None) + assert mocked_produce.called + reports = [m.report for m in mocked_produce.model_instances if isinstance(m, reporting.Report)] + inhibitors = [m for m in reports if 'INHIBITOR' in m.get('flags', ())] + assert len(inhibitors) == 1 + assert inhibitors[0].get('title', '') == 'Cannot find required basic RHEL target repositories.' + + +def test_gather_target_repositories_rhui(monkeypatch): + + indata = testInData( + _PACKAGES_MSGS, _RHSMINFO_MSG, _RHUIINFO_MSG, _XFS_MSG, _STORAGEINFO_MSG, None + ) + + monkeypatch.setattr(userspacegen.api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(userspacegen, '_get_all_available_repoids', lambda x: []) + monkeypatch.setattr( + userspacegen, '_get_rh_available_repoids', lambda x, y: ['rhui-1', 'rhui-2', 'rhui-3'] + ) + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: True) + monkeypatch.setattr( + userspacegen.api, 'consume', lambda x: iter( + [models.TargetRepositories( + rhel_repos=[ + models.RHELTargetRepository(repoid='rhui-1'), + models.RHELTargetRepository(repoid='rhui-2') + ] + ) + ]) + ) + target_repoids = userspacegen.gather_target_repositories(None, indata) + assert target_repoids == set(['rhui-1', 'rhui-2']) + + +def test_gather_target_repositories_baseos_appstream_not_available(monkeypatch): + # If the repos that Leapp identifies as required for the upgrade (based on the repo mapping and PES data) are not + # available, an exception shall be raised + + indata = testInData( + _PACKAGES_MSGS, _RHSMINFO_MSG, None, _XFS_MSG, _STORAGEINFO_MSG, None + ) + monkeypatch.setattr(rhsm, 'skip_rhsm', lambda: False) + + mocked_produce = produce_mocked() + monkeypatch.setattr(userspacegen.api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(userspacegen.api.current_actor(), 'produce', mocked_produce) + # The available RHSM repos + monkeypatch.setattr(rhsm, 'get_available_repo_ids', lambda x: ['repoidA', 'repoidB', 'repoidC']) + # The required RHEL repos based on the repo mapping and PES data + custom repos required by third party actors + monkeypatch.setattr(userspacegen.api, 'consume', lambda x: iter([models.TargetRepositories( + rhel_repos=[models.RHELTargetRepository(repoid='repoidX'), + models.RHELTargetRepository(repoid='repoidY')], + custom_repos=[models.CustomTargetRepository(repoid='repoidCustom')])])) + + with pytest.raises(StopActorExecution): + userspacegen.gather_target_repositories(None, indata) + assert mocked_produce.called + reports = [m.report for m in mocked_produce.model_instances if isinstance(m, reporting.Report)] + inhibitors = [m for m in reports if 'inhibitor' in m.get('groups', ())] + assert len(inhibitors) == 1 + assert inhibitors[0].get('title', '') == 'Cannot find required basic RHEL target repositories.' + # Now test the case when either of AppStream and BaseOs is not available, upgrade should be inhibited + mocked_produce = produce_mocked() + monkeypatch.setattr(userspacegen.api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(userspacegen.api.current_actor(), 'produce', mocked_produce) + monkeypatch.setattr(rhsm, 'get_available_repo_ids', lambda x: ['repoidA', 'repoidB', 'repoidC-appstream']) + monkeypatch.setattr(userspacegen.api, 'consume', lambda x: iter([models.TargetRepositories( + rhel_repos=[models.RHELTargetRepository(repoid='repoidC-appstream'), + models.RHELTargetRepository(repoid='repoidA')], + custom_repos=[models.CustomTargetRepository(repoid='repoidCustom')])])) + with pytest.raises(StopActorExecution): + userspacegen.gather_target_repositories(None, indata) + reports = [m.report for m in mocked_produce.model_instances if isinstance(m, reporting.Report)] + inhibitors = [m for m in reports if 'inhibitor' in m.get('groups', ())] + assert len(inhibitors) == 1 + assert inhibitors[0].get('title', '') == 'Cannot find required basic RHEL target repositories.' + mocked_produce = produce_mocked() + monkeypatch.setattr(userspacegen.api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(userspacegen.api.current_actor(), 'produce', mocked_produce) + monkeypatch.setattr(rhsm, 'get_available_repo_ids', lambda x: ['repoidA', 'repoidB', 'repoidC-baseos']) + monkeypatch.setattr(userspacegen.api, 'consume', lambda x: iter([models.TargetRepositories( + rhel_repos=[models.RHELTargetRepository(repoid='repoidC-baseos'), + models.RHELTargetRepository(repoid='repoidA')], + custom_repos=[models.CustomTargetRepository(repoid='repoidCustom')])])) + with pytest.raises(StopActorExecution): + userspacegen.gather_target_repositories(None, indata) + reports = [m.report for m in mocked_produce.model_instances if isinstance(m, reporting.Report)] + inhibitors = [m for m in reports if 'inhibitor' in m.get('groups', ())] + assert len(inhibitors) == 1 + assert inhibitors[0].get('title', '') == 'Cannot find required basic RHEL target repositories.' + + +def mocked_consume_data(): + packages = {'dnf', 'dnf-command(config-manager)', 'pkgA', 'pkgB'} + rhsm_info = _RHSMINFO_MSG + rhui_info = _RHUIINFO_MSG + xfs_info = models.XFSPresence() + storage_info = models.StorageInfo() + custom_repofiles = [] + files = set() + fields = [ + 'packages', + 'rhsm_info', + 'rhui_info', + 'xfs_info', + 'storage_info', + 'custom_repofiles', + 'files' + ] + + return namedtuple('TestInData', fields)( + packages, + rhsm_info, + rhui_info, + xfs_info, + storage_info, + custom_repofiles, + files, + ) + + +# TODO: come up with additional tests for the main function +def test_perform_ok(monkeypatch): + repoids = ['repoidX', 'repoidY'] + monkeypatch.setattr(userspacegen, '_InputData', mocked_consume_data) + monkeypatch.setattr(userspacegen, '_get_product_certificate_path', lambda: _DEFAULT_CERT_PATH) + monkeypatch.setattr(overlaygen, 'create_source_overlay', MockedMountingBase) + monkeypatch.setattr(userspacegen, '_gather_target_repositories', lambda *x: repoids) + monkeypatch.setattr(userspacegen, '_create_target_userspace', lambda *x: None) + monkeypatch.setattr(userspacegen.api, 'current_actor', CurrentActorMocked()) + monkeypatch.setattr(userspacegen.api, 'produce', produce_mocked()) + monkeypatch.setattr(repofileutils, 'get_repodirs', lambda: ['/etc/yum.repos.d']) + userspacegen.perform() + msg_target_repos = models.UsedTargetRepositories( + repos=[models.UsedTargetRepository(repoid=repo) for repo in repoids]) + assert userspacegen.api.produce.called == 3 + assert isinstance(userspacegen.api.produce.model_instances[0], models.TMPTargetRepositoriesFacts) + assert userspacegen.api.produce.model_instances[1] == msg_target_repos + # this one is full of constants, so it's safe to check just the instance + assert isinstance(userspacegen.api.produce.model_instances[2], models.TargetUserSpaceInfo) diff --git a/repos/system_upgrade/common/actors/transactionworkarounds/actor.py b/repos/system_upgrade/common/actors/transactionworkarounds/actor.py new file mode 100644 index 0000000..c1817d6 --- /dev/null +++ b/repos/system_upgrade/common/actors/transactionworkarounds/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import transactionworkarounds +from leapp.models import RpmTransactionTasks +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class TransactionWorkarounds(Actor): + """ + Provides additional RPM transaction tasks based on bundled RPM packages. + + After collecting bundled RPM packages, a message with relevant data will be produced. + """ + + name = 'transaction_workarounds' + consumes = () + produces = (RpmTransactionTasks,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + transactionworkarounds.process() diff --git a/repos/system_upgrade/common/actors/transactionworkarounds/libraries/transactionworkarounds.py b/repos/system_upgrade/common/actors/transactionworkarounds/libraries/transactionworkarounds.py new file mode 100644 index 0000000..0c5d453 --- /dev/null +++ b/repos/system_upgrade/common/actors/transactionworkarounds/libraries/transactionworkarounds.py @@ -0,0 +1,17 @@ +import os + +from leapp.libraries.stdlib import api +from leapp.models import RpmTransactionTasks + + +def process(): + location = api.get_folder_path('bundled-rpms') + local_rpms = [] + for name in os.listdir(location): + if name.endswith('.rpm'): + # It is important to put here the realpath to the files here, because + # symlinks cannot be resolved properly inside of the target userspace since they use the /installroot + # mount target + local_rpms.append(os.path.realpath(os.path.join(location, name))) + if local_rpms: + api.produce(RpmTransactionTasks(local_rpms=local_rpms)) diff --git a/repos/system_upgrade/common/actors/transactionworkarounds/tests/test_transaction_workarounds_transactionworkarounds.py b/repos/system_upgrade/common/actors/transactionworkarounds/tests/test_transaction_workarounds_transactionworkarounds.py new file mode 100644 index 0000000..fbb6983 --- /dev/null +++ b/repos/system_upgrade/common/actors/transactionworkarounds/tests/test_transaction_workarounds_transactionworkarounds.py @@ -0,0 +1,28 @@ +from leapp.libraries.actor import transactionworkarounds as tw +from leapp.models import RpmTransactionTasks + + +def test_transactionworkarounds_2rpms(monkeypatch): + result = [] + monkeypatch.setattr(tw.os, 'listdir', lambda _: ('abc.rpm', 'def.rpm', 'random.file'),) + monkeypatch.setattr(tw.api, 'get_folder_path', lambda _: '/FAKE/FOLDER/PATH') + monkeypatch.setattr(tw.api, 'produce', lambda *models: result.extend(models)) + + tw.process() + + assert result + assert isinstance(result[0], RpmTransactionTasks) + assert result[0].local_rpms + assert result[0].local_rpms == ['/FAKE/FOLDER/PATH/abc.rpm', '/FAKE/FOLDER/PATH/def.rpm'] + assert not result[0].to_install + assert not result[0].to_remove + assert not result[0].to_keep + + +def test_transactionworkarounds_0rpms(monkeypatch): + result = [] + monkeypatch.setattr(tw.os, 'listdir', lambda _: ('abc.not', 'def.duh', 'random.file'),) + monkeypatch.setattr(tw.api, 'get_folder_path', lambda _: '/FAKE/FOLDER/PATH') + monkeypatch.setattr(tw.api, 'produce', lambda *models: result.extend(models)) + tw.process() + assert not result diff --git a/repos/system_upgrade/common/actors/udev/udevadminfo/actor.py b/repos/system_upgrade/common/actors/udev/udevadminfo/actor.py new file mode 100644 index 0000000..b674e56 --- /dev/null +++ b/repos/system_upgrade/common/actors/udev/udevadminfo/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.stdlib import run +from leapp.models import UdevAdmInfoData +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class UdevAdmInfo(Actor): + """ + Produces data exported by the "udevadm info" command. + """ + + name = 'udevadm_info' + consumes = () + produces = (UdevAdmInfoData,) + tags = (IPUWorkflowTag, FactsPhaseTag,) + + def process(self): + out = run(['udevadm', 'info', '-e'])['stdout'] + self.produce(UdevAdmInfoData(db=out)) diff --git a/repos/system_upgrade/common/actors/unsupportedupgradecheck/actor.py b/repos/system_upgrade/common/actors/unsupportedupgradecheck/actor.py new file mode 100644 index 0000000..e8b3499 --- /dev/null +++ b/repos/system_upgrade/common/actors/unsupportedupgradecheck/actor.py @@ -0,0 +1,74 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class UnsupportedUpgradeCheck(Actor): + """ + Checks environment variables and produces a warning report if the upgrade is unsupported. + + Upgrade is unsupported if any LEAPP_DEVEL_* variable is used or an experimental actor is enabled. + This can be overridden by setting the variable LEAPP_UNSUPPORTED (at user's own risk). + """ + + name = 'unsupported_upgrade_check' + consumes = () + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + leapp_vars = self.configuration.leapp_env_vars + devel_vars = [v for v in leapp_vars if v.name.startswith('LEAPP_DEVEL_')] + experimental = bool([v for v in leapp_vars if v.name == 'LEAPP_EXPERIMENTAL' and v.value == '1']) + override = bool([v for v in leapp_vars if v.name == 'LEAPP_UNSUPPORTED' and v.value == '1']) + + if override: + reporting.create_report([ + reporting.Title('Upgrade is unsupported'), + reporting.Summary( + 'Environment variable LEAPP_UNSUPPORTED has been detected. A successful and safe ' + 'upgrade process cannot be guaranteed. From now on you are continuing at your own ' + 'risk.\n' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS, reporting.Groups.SANITY]), + ]) + + else: + if devel_vars: + reporting.create_report([ + reporting.Title('Upgrade inhibited due to usage of development variables'), + reporting.Summary( + 'One or more environment variables in the form of LEAPP_DEVEL_* have been detected.\n' + 'These variables are for development purposes only and can interfere with the upgrade ' + 'process in unexpected ways. As such, a successful and safe upgrade process cannot be ' + 'guaranteed and the upgrade is unsupported.\n' + 'You can bypass this error by setting the LEAPP_UNSUPPORTED variable but by doing so, ' + 'you continue at your own risk.\n' + 'Found development variables:\n- {}\n'.format('\n- '.join([v.name for v in devel_vars])) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS, reporting.Groups.SANITY]), + reporting.Remediation(hint=('Invoke leapp without any LEAPP_DEVEL_* environment variables ' + 'or set LEAPP_UNSUPPORTED=1.')) + ]) + + if experimental: + reporting.create_report([ + reporting.Title('Upgrade inhibited due to enabled experimental actors'), + reporting.Summary( + 'One or more enabled experimental actors have been detected.\n' + 'These actors are unstable or in development and can interfere with the upgrade ' + 'process in unexpected ways. As such, a successful and safe upgrade process cannot be ' + 'guaranteed and the upgrade is unsupported.\n' + 'You can bypass this error by setting the LEAPP_UNSUPPORTED variable but by doing so, ' + 'you continue at your own risk.\n' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS, reporting.Groups.SANITY]), + reporting.Remediation(hint=('Invoke leapp without any --whitelist-experimental options ' + 'or set LEAPP_UNSUPPORTED=1.')) + ]) diff --git a/repos/system_upgrade/common/actors/updategrubcore/actor.py b/repos/system_upgrade/common/actors/updategrubcore/actor.py new file mode 100644 index 0000000..1e005fb --- /dev/null +++ b/repos/system_upgrade/common/actors/updategrubcore/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor import updategrubcore +from leapp.models import FirmwareFacts, TransactionCompleted +from leapp.reporting import Report +from leapp.tags import IPUWorkflowTag, RPMUpgradePhaseTag + + +class UpdateGrubCore(Actor): + """ + Update GRUB2 core on legacy BIOS systems. + + On legacy (BIOS) systems, GRUB core (located in the gap between the MBR and the + first partition), does not get automatically updated when GRUB is upgraded. + """ + + name = 'update_grub_core' + consumes = (TransactionCompleted, FirmwareFacts) + produces = (Report,) + tags = (RPMUpgradePhaseTag, IPUWorkflowTag) + + def process(self): + updategrubcore.process() diff --git a/repos/system_upgrade/common/actors/updategrubcore/libraries/updategrubcore.py b/repos/system_upgrade/common/actors/updategrubcore/libraries/updategrubcore.py new file mode 100644 index 0000000..6a116db --- /dev/null +++ b/repos/system_upgrade/common/actors/updategrubcore/libraries/updategrubcore.py @@ -0,0 +1,68 @@ +from leapp import reporting +from leapp.libraries.common import grub +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api, CalledProcessError, config, run +from leapp.models import FirmwareFacts + + +def update_grub_core(grub_devs): + """ + Update GRUB core after upgrade from RHEL7 to RHEL8 + + On legacy systems, GRUB core does not get automatically updated when GRUB packages + are updated. + """ + + successful = [] + failed = [] + for dev in grub_devs: + cmd = ['grub2-install', dev] + if config.is_debug(): + cmd += ['-v'] + try: + run(cmd) + except CalledProcessError as err: + api.current_logger().warning('GRUB core update on {} failed: {}'.format(dev, err)) + failed.append(dev) + continue + + successful.append(dev) + + if failed: + if successful: + # partial failure + summary = ( + 'GRUB was successfully updated on the following devices: {},\n' + 'however GRUB update failed on the following devices: {}' + ).format(', '.join(successful), ', '.join(failed)) + else: + summary = 'Leapp failed to update GRUB on {}'.format(', '.join(failed)) + + reporting.create_report([ + reporting.Title('GRUB core update failed'), + reporting.Summary(summary), + reporting.Groups([reporting.Groups.BOOT]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Remediation( + hint='Please run "grub2-install " manually after upgrade' + ) + ]) + else: + reporting.create_report([ + reporting.Title('GRUB core successfully updated'), + reporting.Summary('GRUB core on {} was successfully updated'.format(', '.join(successful))), + reporting.Groups([reporting.Groups.BOOT]), + reporting.Severity(reporting.Severity.INFO) + ]) + + +def process(): + if architecture.matches_architecture(architecture.ARCH_S390X): + return + ff = next(api.consume(FirmwareFacts), None) + if ff and ff.firmware == 'bios': + grub_devs = grub.get_grub_devices() + if grub_devs: + update_grub_core(grub_devs) + else: + api.current_logger().warning('Leapp could not detect GRUB devices') diff --git a/repos/system_upgrade/common/actors/updategrubcore/tests/test_updategrubcore.py b/repos/system_upgrade/common/actors/updategrubcore/tests/test_updategrubcore.py new file mode 100644 index 0000000..7e658a7 --- /dev/null +++ b/repos/system_upgrade/common/actors/updategrubcore/tests/test_updategrubcore.py @@ -0,0 +1,124 @@ +import pytest + +from leapp import reporting +from leapp.exceptions import StopActorExecution +from leapp.libraries.actor import updategrubcore +from leapp.libraries.common import testutils +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import CalledProcessError +from leapp.models import FirmwareFacts +from leapp.reporting import Report + +UPDATE_OK_TITLE = 'GRUB core successfully updated' +UPDATE_FAILED_TITLE = 'GRUB core update failed' + + +def raise_call_error(args=None): + raise CalledProcessError( + message='A Leapp Command Error occurred.', + command=args, + result={'signal': None, 'exit_code': 1, 'pid': 0, 'stdout': 'fake', 'stderr': 'fake'} + ) + + +class run_mocked(object): + def __init__(self, raise_err=False, raise_callback=raise_call_error): + self.called = 0 + self.args = [] + self.raise_err = raise_err + self.raise_callback = raise_callback + + def __call__(self, *args): + self.called += 1 + self.args.append(args) + if self.raise_err: + self.raise_callback(args) + + +@pytest.mark.parametrize('devices', [['/dev/vda'], ['/dev/vda', '/dev/vdb']]) +def test_update_grub(monkeypatch, devices): + monkeypatch.setattr(reporting, 'create_report', testutils.create_report_mocked()) + monkeypatch.setattr(updategrubcore, 'run', run_mocked()) + updategrubcore.update_grub_core(devices) + assert reporting.create_report.called + assert UPDATE_OK_TITLE == reporting.create_report.reports[0]['title'] + assert all(dev in reporting.create_report.reports[0]['summary'] for dev in devices) + + +@pytest.mark.parametrize('devices', [['/dev/vda'], ['/dev/vda', '/dev/vdb']]) +def test_update_grub_failed(monkeypatch, devices): + monkeypatch.setattr(reporting, 'create_report', testutils.create_report_mocked()) + monkeypatch.setattr(updategrubcore, 'run', run_mocked(raise_err=True)) + updategrubcore.update_grub_core(devices) + assert reporting.create_report.called + assert UPDATE_FAILED_TITLE == reporting.create_report.reports[0]['title'] + assert all(dev in reporting.create_report.reports[0]['summary'] for dev in devices) + assert 'successfully updated on ' not in reporting.create_report.reports[0]['summary'] + + +def test_update_grub_partial_success(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', testutils.create_report_mocked()) + + def run_mocked(args): + if args == ['grub2-install', '/dev/vdb']: + raise_call_error(args) + else: + assert args == ['grub2-install', '/dev/vda'] + + monkeypatch.setattr(updategrubcore, 'run', run_mocked) + + devices = ['/dev/vda', '/dev/vdb'] + updategrubcore.update_grub_core(devices) + + assert reporting.create_report.called + assert UPDATE_FAILED_TITLE == reporting.create_report.reports[0]['title'] + summary = reporting.create_report.reports[0]['summary'] + assert 'GRUB was successfully updated on the following devices: /dev/vda' in summary + assert 'however GRUB update failed on the following devices: /dev/vdb' in summary + + +@pytest.mark.parametrize('msgs', [ + [], + [FirmwareFacts(firmware='efi')] +]) +def test_update_no_bios(monkeypatch, msgs): + + monkeypatch.setattr(reporting, 'create_report', testutils.create_report_mocked()) + monkeypatch.setattr(updategrubcore, 'run', run_mocked()) + + curr_actor_mocked = testutils.CurrentActorMocked(msgs=msgs) + monkeypatch.setattr(updategrubcore.api, 'current_actor', curr_actor_mocked) + updategrubcore.process() + assert not updategrubcore.run.called + assert not reporting.create_report.called + + +def test_update_grub_nogrub_system_ibmz(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', testutils.create_report_mocked()) + monkeypatch.setattr(updategrubcore, 'run', run_mocked()) + + msgs = [FirmwareFacts(firmware='bios')] + curr_actor_mocked = testutils.CurrentActorMocked(arch=architecture.ARCH_S390X, msgs=msgs) + monkeypatch.setattr(updategrubcore.api, 'current_actor', curr_actor_mocked) + + updategrubcore.process() + assert not reporting.create_report.called + assert not updategrubcore.run.called + + +def test_update_grub_nogrub_system(monkeypatch): + def raise_call_oserror(dummy): + # Note: grub2-probe is enough right now. If the implementation is changed, + # the test will most likely start to fail and better mocking will be needed. + raise OSError('File not found: grub2-probe') + + monkeypatch.setattr(reporting, 'create_report', testutils.create_report_mocked()) + monkeypatch.setattr(updategrubcore, 'run', run_mocked(raise_err=True, raise_callback=raise_call_oserror)) + + msgs = [FirmwareFacts(firmware='bios')] + curr_actor_mocked = testutils.CurrentActorMocked(arch=architecture.ARCH_X86_64, msgs=msgs) + monkeypatch.setattr(updategrubcore.api, 'current_actor', curr_actor_mocked) + + with pytest.raises(StopActorExecution): + updategrubcore.process() + assert not reporting.create_report.called diff --git a/repos/system_upgrade/common/actors/usedrepositoriesscanner/actor.py b/repos/system_upgrade/common/actors/usedrepositoriesscanner/actor.py new file mode 100644 index 0000000..0e8e6ef --- /dev/null +++ b/repos/system_upgrade/common/actors/usedrepositoriesscanner/actor.py @@ -0,0 +1,44 @@ +from leapp.actors import Actor +from leapp.models import ( + InstalledRedHatSignedRPM, + RepositoriesFacts, + UsedRepositories, + UsedRepository +) +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class UsedRepositoriesScanner(Actor): + """ + Scan used enabled repositories + + Based on lists of installed RPM packages and enabled RPM repositories, check which packages + were installed from each repository. + """ + + name = 'used_repository_scanner' + consumes = (InstalledRedHatSignedRPM, RepositoriesFacts) + produces = (UsedRepositories,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + enabled_repos = [] + for repos in self.consume(RepositoriesFacts): + for repo_file in repos.repositories: + for repo in repo_file.data: + if repo.enabled: + enabled_repos.append(repo.repoid) + + installed_pkgs = [] + for rpm_pkgs in self.consume(InstalledRedHatSignedRPM): + installed_pkgs.extend(rpm_pkgs.items) + + used_repos = {} + for pkg in installed_pkgs: + if pkg.repository in enabled_repos: + used_repos.setdefault(pkg.repository, []).append(pkg.name) + + result = UsedRepositories() + for repo, pkgs in used_repos.items(): + result.repositories.append(UsedRepository(repository=repo, packages=pkgs)) + self.produce(result) diff --git a/repos/system_upgrade/common/actors/usedrepositoriesscanner/tests/test_usedrepositoriesscanner.py b/repos/system_upgrade/common/actors/usedrepositoriesscanner/tests/test_usedrepositoriesscanner.py new file mode 100644 index 0000000..d3cecc8 --- /dev/null +++ b/repos/system_upgrade/common/actors/usedrepositoriesscanner/tests/test_usedrepositoriesscanner.py @@ -0,0 +1,57 @@ +from leapp.models import ( + InstalledRedHatSignedRPM, + RepositoriesFacts, + RepositoryData, + RepositoryFile, + RPM, + UsedRepositories +) +from leapp.snactor.fixture import current_actor_context + + +def get_sample_rpm(name, repository): + return RPM( + name=name, + epoch='1', + packager='Red Hat Inc.', + version='0.0.1', + release='1.el7', + arch='x86_64', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM UTC, Key ID 0123456789abcdef', + repository=repository) + + +def get_sample_installed_pkgs(pkgs): + return InstalledRedHatSignedRPM(items=[get_sample_rpm(*p) for p in pkgs]) + + +def get_sample_repository(repoid, name): + return RepositoryFile(file='/etc/yum.d/sample.repo', data=[RepositoryData( + repoid=repoid, + name=name, + enabled=True)]) + + +def get_sample_repositories(repos): + return RepositoriesFacts( + repositories=[get_sample_repository(*r) for r in repos]) + + +def test_actor_execution(current_actor_context): + installed = get_sample_installed_pkgs([ + ('pkg1', 'rhel-7-server-rpms'), + ('pkg2', 'rhel-7-server-rpms')]) + + repos = get_sample_repositories([ + ('rhel-7-server-rpms', 'RHEL 7 Server'), + ('rhel-7-unused-rpms', 'RHEL 7 Unused')]) + + current_actor_context.feed(installed) + current_actor_context.feed(repos) + current_actor_context.run() + assert current_actor_context.consume(UsedRepositories) + used_repos = current_actor_context.consume(UsedRepositories)[0].repositories + assert len(used_repos) == 1 + assert used_repos[0].repository == 'rhel-7-server-rpms' + assert len(used_repos[0].packages) == 2 + assert used_repos[0].packages == ['pkg1', 'pkg2'] diff --git a/repos/system_upgrade/common/actors/verifycheckresults/actor.py b/repos/system_upgrade/common/actors/verifycheckresults/actor.py new file mode 100644 index 0000000..f2916f3 --- /dev/null +++ b/repos/system_upgrade/common/actors/verifycheckresults/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.verifycheckresults import check +from leapp.reporting import Report +from leapp.tags import IPUWorkflowTag, ReportPhaseTag + + +class VerifyCheckResults(Actor): + """ + Check all generated results messages and notify user about them. + + A report file containing all messages will be generated, together with log messages displayed + to the user. + """ + + name = 'verify_check_results' + consumes = (Report,) + produces = () + tags = (ReportPhaseTag, IPUWorkflowTag) + + def process(self): + check() diff --git a/repos/system_upgrade/common/actors/verifycheckresults/libraries/verifycheckresults.py b/repos/system_upgrade/common/actors/verifycheckresults/libraries/verifycheckresults.py new file mode 100644 index 0000000..a5cd50b --- /dev/null +++ b/repos/system_upgrade/common/actors/verifycheckresults/libraries/verifycheckresults.py @@ -0,0 +1,9 @@ +from leapp.exceptions import RequestStopAfterPhase +from leapp.libraries.stdlib import api +from leapp.reporting import Report +from leapp.utils.report import is_inhibitor + + +def check(): + if [msg for msg in api.consume(Report) if is_inhibitor(msg.report)]: + raise RequestStopAfterPhase() diff --git a/repos/system_upgrade/common/actors/verifycheckresults/tests/unit_test_verifycheckresults.py b/repos/system_upgrade/common/actors/verifycheckresults/tests/unit_test_verifycheckresults.py new file mode 100644 index 0000000..6f459a6 --- /dev/null +++ b/repos/system_upgrade/common/actors/verifycheckresults/tests/unit_test_verifycheckresults.py @@ -0,0 +1,38 @@ +from collections import namedtuple + +import pytest + +from leapp.exceptions import RequestStopAfterPhase +from leapp.libraries.actor import verifycheckresults +from leapp.libraries.stdlib import api + + +class Report(object): + def __init__(self, message): + self.message = message + + def get(self, _, __): + if self.message == 'title_with_inhibitor': + return ['inhibitor'] + return [] + + def __getitem__(self, _): + return self.message + + +def test_actor(monkeypatch): + def report_mocked(*models): + yield namedtuple('msg', ['report'])(Report('title_with_inhibitor')) + + monkeypatch.setattr(api, "consume", report_mocked) + + with pytest.raises(RequestStopAfterPhase): + verifycheckresults.check() + + +def test_actor_no_inhibitor(monkeypatch): + def report_mocked(*models): + yield namedtuple('msg', ['report'])(Report('title_without_inhibitor')) + + monkeypatch.setattr(api, "consume", report_mocked) + verifycheckresults.check() diff --git a/repos/system_upgrade/common/actors/verifydialogs/actor.py b/repos/system_upgrade/common/actors/verifydialogs/actor.py new file mode 100644 index 0000000..e206585 --- /dev/null +++ b/repos/system_upgrade/common/actors/verifydialogs/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.verifydialogs import check_dialogs +from leapp.models import DialogModel +from leapp.reporting import Report +from leapp.tags import IPUWorkflowTag, ReportPhaseTag + + +class VerifyDialogs(Actor): + """ + Check all dialogs and notify that user needs to make some choices. + + Report messages containing all dialogs with questions that need to be answered will be produced. + """ + + name = 'verify_check_results' + consumes = (DialogModel,) + produces = (Report,) + tags = (ReportPhaseTag, IPUWorkflowTag) + + def process(self): + check_dialogs(inhibit_if_no_userchoice=self.skip_dialogs) diff --git a/repos/system_upgrade/common/actors/verifydialogs/libraries/verifydialogs.py b/repos/system_upgrade/common/actors/verifydialogs/libraries/verifydialogs.py new file mode 100644 index 0000000..a6dbe6e --- /dev/null +++ b/repos/system_upgrade/common/actors/verifydialogs/libraries/verifydialogs.py @@ -0,0 +1,24 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import DialogModel + + +def check_dialogs(inhibit_if_no_userchoice=True): + results = list(api.consume(DialogModel)) + for dialog in results: + sections = dialog.answerfile_sections + summary = ('One or more sections in answerfile are missing user choices: {}\n' + 'For more information consult https://red.ht/leapp-dialogs.') + dialog_resources = [reporting.RelatedResource('dialog', s) for s in sections] + dialogs_remediation = ('Please register user choices with leapp answer cli command or by manually editing ' + 'the answerfile.') + # FIXME: Enable more choices once we can do multi-command remediations + cmd_remediation = [['leapp', 'answer', '--section', "{}={}".format(s, choice)] + for s, choices in dialog.answerfile_sections.items() for choice in choices[:1]] + report_data = [reporting.Title('Missing required answers in the answer file'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Summary(summary.format('\n'.join(sections))), + reporting.Groups([reporting.Groups.INHIBITOR] if inhibit_if_no_userchoice else []), + reporting.Remediation(hint=dialogs_remediation, commands=cmd_remediation), + reporting.Key(dialog.key)] + reporting.create_report(report_data + dialog_resources) diff --git a/repos/system_upgrade/common/actors/xfsinfoscanner/actor.py b/repos/system_upgrade/common/actors/xfsinfoscanner/actor.py new file mode 100644 index 0000000..ebc7e17 --- /dev/null +++ b/repos/system_upgrade/common/actors/xfsinfoscanner/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor.xfsinfoscanner import scan_xfs +from leapp.models import StorageInfo, XFSPresence +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class XFSInfoScanner(Actor): + """ + This actor scans all mounted mountpoints for XFS information + + The actor will check each mountpoint reported in the StorageInfo message, if the mountpoint is a partition with XFS + using ftype = 0. The actor will produce a message with the findings. + It will contain a list of all XFS mountpoints with ftype = 0 so that those mountpoints can be handled appropriately + for the overlayfs that is going to be created. + """ + + name = 'xfs_info_scanner' + consumes = (StorageInfo,) + produces = (XFSPresence,) + tags = (FactsPhaseTag, IPUWorkflowTag,) + + def process(self): + scan_xfs() diff --git a/repos/system_upgrade/common/actors/xfsinfoscanner/libraries/xfsinfoscanner.py b/repos/system_upgrade/common/actors/xfsinfoscanner/libraries/xfsinfoscanner.py new file mode 100644 index 0000000..fafe456 --- /dev/null +++ b/repos/system_upgrade/common/actors/xfsinfoscanner/libraries/xfsinfoscanner.py @@ -0,0 +1,64 @@ +import os + +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import StorageInfo, XFSPresence + + +def scan_xfs_fstab(data): + mountpoints = set() + for entry in data: + if entry.fs_vfstype == "xfs": + mountpoints.add(entry.fs_file) + + return mountpoints + + +def scan_xfs_mount(data): + mountpoints = set() + for entry in data: + if entry.tp == "xfs": + mountpoints.add(entry.mount) + + return mountpoints + + +def is_xfs_without_ftype(mp): + if not os.path.ismount(mp): + # Check if mp is actually a mountpoint + api.current_logger().warning('{} is not mounted'.format(mp)) + return False + try: + xfs_info = run(['/usr/sbin/xfs_info', '{}'.format(mp)], split=True) + except CalledProcessError as err: + api.current_logger().warning('Error during command execution: {}'.format(err)) + return False + + for l in xfs_info['stdout']: + if 'ftype=0' in l: + return True + + return False + + +def scan_xfs(): + storage_info_msgs = api.consume(StorageInfo) + storage_info = next(storage_info_msgs, None) + + if list(storage_info_msgs): + api.current_logger().warning('Unexpectedly received more than one StorageInfo message.') + + fstab_data = set() + mount_data = set() + if storage_info: + fstab_data = scan_xfs_fstab(storage_info.fstab) + mount_data = scan_xfs_mount(storage_info.mount) + + mountpoints = fstab_data | mount_data + mountpoints_ftype0 = list(filter(is_xfs_without_ftype, mountpoints)) + + # By now, we only have XFS mountpoints and check whether or not it has ftype = 0 + api.produce(XFSPresence( + present=len(mountpoints) > 0, + without_ftype=len(mountpoints_ftype0) > 0, + mountpoints_without_ftype=mountpoints_ftype0, + )) diff --git a/repos/system_upgrade/common/actors/xfsinfoscanner/tests/unit_test_xfsinfoscanner.py b/repos/system_upgrade/common/actors/xfsinfoscanner/tests/unit_test_xfsinfoscanner.py new file mode 100644 index 0000000..4ac6a0d --- /dev/null +++ b/repos/system_upgrade/common/actors/xfsinfoscanner/tests/unit_test_xfsinfoscanner.py @@ -0,0 +1,207 @@ +import os + +from leapp.libraries.actor import xfsinfoscanner +from leapp.libraries.common.testutils import produce_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import FstabEntry, MountEntry, StorageInfo, SystemdMountEntry, XFSPresence + + +class run_mocked(object): + def __init__(self): + self.called = 0 + self.args = None + + def __call__(self, args, split=True): + self.called += 1 + self.args = args + + with_ftype = {'stdout': [ + "meta-data=/dev/loop0 isize=512 agcount=4, agsize=131072 blks", + " = sectsz=512 attr=2, projid32bit=1", + " = crc=1 finobt=0 spinodes=0", + "data = bsize=4096 blocks=524288, imaxpct=25", + " = sunit=0 swidth=0 blks", + "naming =version 2 bsize=4096 ascii-ci=0 ftype=1", + "log =internal bsize=4096 blocks=2560, version=2", + " = sectsz=512 sunit=0 blks, lazy-count=1", + "realtime =none extsz=4096 blocks=0, rtextents=0"]} + + without_ftype = {'stdout': [ + "meta-data=/dev/loop0 isize=512 agcount=4, agsize=131072 blks", + " = sectsz=512 attr=2, projid32bit=1", + " = crc=1 finobt=0 spinodes=0", + "data = bsize=4096 blocks=524288, imaxpct=25", + " = sunit=0 swidth=0 blks", + "naming =version 2 bsize=4096 ascii-ci=0 ftype=0", + "log =internal bsize=4096 blocks=2560, version=2", + " = sectsz=512 sunit=0 blks, lazy-count=1", + "realtime =none extsz=4096 blocks=0, rtextents=0"]} + + if "/var" in self.args: + return without_ftype + + return with_ftype + + +def test_scan_xfs_fstab(monkeypatch): + fstab_data_no_xfs = { + "fs_spec": "/dev/mapper/fedora-home", + "fs_file": "/home", + "fs_vfstype": "ext4", + "fs_mntops": "defaults,x-systemd.device-timeout=0", + "fs_freq": "1", + "fs_passno": "2"} + + mountpoints = xfsinfoscanner.scan_xfs_fstab([FstabEntry(**fstab_data_no_xfs)]) + assert not mountpoints + + fstab_data_xfs = { + "fs_spec": "/dev/mapper/rhel-root", + "fs_file": "/", + "fs_vfstype": "xfs", + "fs_mntops": "defaults", + "fs_freq": "0", + "fs_passno": "0"} + + mountpoints = xfsinfoscanner.scan_xfs_fstab([FstabEntry(**fstab_data_xfs)]) + assert mountpoints == {"/"} + + +def test_scan_xfs_mount(monkeypatch): + mount_data_no_xfs = { + "name": "tmpfs", + "mount": "/run/snapd/ns", + "tp": "tmpfs", + "options": "rw,nosuid,nodev,seclabel,mode=755"} + + mountpoints = xfsinfoscanner.scan_xfs_mount([MountEntry(**mount_data_no_xfs)]) + assert not mountpoints + + mount_data_xfs = { + "name": "/dev/vda1", + "mount": "/boot", + "tp": "xfs", + "options": "rw,relatime,seclabel,attr2,inode64,noquota"} + + mountpoints = xfsinfoscanner.scan_xfs_mount([MountEntry(**mount_data_xfs)]) + assert mountpoints == {"/boot"} + + +def test_is_xfs_without_ftype(monkeypatch): + monkeypatch.setattr(xfsinfoscanner, "run", run_mocked()) + monkeypatch.setattr(os.path, "ismount", lambda _: True) + + assert xfsinfoscanner.is_xfs_without_ftype("/var") + assert ' '.join(xfsinfoscanner.run.args) == "/usr/sbin/xfs_info /var" + + assert not xfsinfoscanner.is_xfs_without_ftype("/boot") + assert ' '.join(xfsinfoscanner.run.args) == "/usr/sbin/xfs_info /boot" + + +def test_is_xfs_command_failed(monkeypatch): + def _run_mocked_exception(*args, **kwargs): + raise CalledProcessError(message="No such file or directory", command=["xfs_info", "/nosuchmountpoint"], + result=1) + # not a mountpoint + monkeypatch.setattr(os.path, "ismount", lambda _: False) + monkeypatch.setattr(xfsinfoscanner, "run", _run_mocked_exception) + assert not xfsinfoscanner.is_xfs_without_ftype("/nosuchmountpoint") + # a real mountpoint but something else caused command to fail + monkeypatch.setattr(os.path, "ismount", lambda _: True) + assert not xfsinfoscanner.is_xfs_without_ftype("/nosuchmountpoint") + + +def test_scan_xfs(monkeypatch): + monkeypatch.setattr(xfsinfoscanner, "run", run_mocked()) + monkeypatch.setattr(os.path, "ismount", lambda _: True) + + def consume_no_xfs_message_mocked(*models): + yield StorageInfo() + + monkeypatch.setattr(api, "consume", consume_no_xfs_message_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + + xfsinfoscanner.scan_xfs() + assert api.produce.called == 1 + assert len(api.produce.model_instances) == 1 + assert isinstance(api.produce.model_instances[0], XFSPresence) + assert not api.produce.model_instances[0].present + assert not api.produce.model_instances[0].without_ftype + assert not api.produce.model_instances[0].mountpoints_without_ftype + + def consume_ignored_xfs_message_mocked(*models): + mount_data = { + "name": "/dev/vda1", + "mount": "/boot", + "tp": "xfs", + "options": "rw,relatime,seclabel,attr2,inode64,noquota"} + yield StorageInfo(mount=[MountEntry(**mount_data)]) + + monkeypatch.setattr(api, "consume", consume_ignored_xfs_message_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + + xfsinfoscanner.scan_xfs() + assert api.produce.called == 1 + assert len(api.produce.model_instances) == 1 + assert isinstance(api.produce.model_instances[0], XFSPresence) + assert api.produce.model_instances[0].present + assert not api.produce.model_instances[0].without_ftype + assert not api.produce.model_instances[0].mountpoints_without_ftype + + def consume_xfs_with_ftype_message_mocked(*models): + fstab_data = { + "fs_spec": "/dev/mapper/rhel-root", + "fs_file": "/", + "fs_vfstype": "xfs", + "fs_mntops": "defaults", + "fs_freq": "0", + "fs_passno": "0"} + yield StorageInfo(fstab=[FstabEntry(**fstab_data)]) + + monkeypatch.setattr(api, "consume", consume_xfs_with_ftype_message_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + + xfsinfoscanner.scan_xfs() + assert api.produce.called == 1 + assert len(api.produce.model_instances) == 1 + assert isinstance(api.produce.model_instances[0], XFSPresence) + assert api.produce.model_instances[0].present + assert not api.produce.model_instances[0].without_ftype + assert not api.produce.model_instances[0].mountpoints_without_ftype + + def consume_xfs_without_ftype_message_mocked(*models): + fstab_data = { + "fs_spec": "/dev/mapper/rhel-root", + "fs_file": "/var", + "fs_vfstype": "xfs", + "fs_mntops": "defaults", + "fs_freq": "0", + "fs_passno": "0"} + yield StorageInfo(fstab=[FstabEntry(**fstab_data)]) + + monkeypatch.setattr(api, "consume", consume_xfs_without_ftype_message_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + + xfsinfoscanner.scan_xfs() + assert api.produce.called == 1 + assert len(api.produce.model_instances) == 1 + assert isinstance(api.produce.model_instances[0], XFSPresence) + assert api.produce.model_instances[0].present + assert api.produce.model_instances[0].without_ftype + assert api.produce.model_instances[0].mountpoints_without_ftype + assert len(api.produce.model_instances[0].mountpoints_without_ftype) == 1 + assert api.produce.model_instances[0].mountpoints_without_ftype[0] == '/var' + + def consume_no_message_mocked(*models): + yield None + + monkeypatch.setattr(api, "consume", consume_no_message_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + + xfsinfoscanner.scan_xfs() + assert api.produce.called == 1 + assert len(api.produce.model_instances) == 1 + assert isinstance(api.produce.model_instances[0], XFSPresence) + assert not api.produce.model_instances[0].present + assert not api.produce.model_instances[0].without_ftype + assert not api.produce.model_instances[0].mountpoints_without_ftype diff --git a/repos/system_upgrade/common/files/prod-certs/8.0/279.pem b/repos/system_upgrade/common/files/prod-certs/8.0/279.pem new file mode 100644 index 0000000..b96bfbf --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.0/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tWFpMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDIxMzEzMDYwOFoXDTM5MDIw +ODEzMDYwOFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiMTRkNzk4 +My0zYjdjLTQ4MWEtYjdjMS00NjQwZGZhNGM5YjBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjAwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQUFAAOCAgEAytj2bKu2XCr/fLUyBpLk/gmp4Vua2jXwwyBmAzJC2419DiqgQCcR +u/GvzPxC0EFzqueVFs1Aa8185Lia5S37l2TFcROeCfW0s2/SVmlTln2vQRQ/G36c +2VPZJyjhWL8j7ZhZmSxQ3qvmh+8qeTM4Ntz3IImF+SvUqAos8hNidnpvseqT8rzb +x8icZX6MTzQ148Bg7dsGPYtHF9O8oOJ8GaRq047n4TTcuBBcyFsO2KAG0I49vry1 +wv2D0gytrlMeugunNnJwK38j72XsG3xKrF3P1UUjoODB6QSi1sjZ/Hp6sR/kzlmF +BqolkI0HtN1pIYQxrZ+I77ZSYMoKDa/FfwWdGIBrrtlQG0rbTg6yIExzXwwYxX3n +z1ZspXgVzWQtpxRV4dSykD+6NpXZt0I98b3v2ZQUD1AeTZvhQR7lG/lWvJwJCmKE +qUWqYN5dQyJIWUc42QhODTP+2ZH7FWIAmjpDq7tkvaSnBgi1cCuSqKupDsBdOSjr +I4t73sJcgOMTMKdRaMk86J4lOULPbmMiNfpZqaK49AqMre+3aInh9wvkMb3MoqtE +qCmm4YFk4p9wwK1IeB4PbKDn4K+T8FCivHDl2As56kt0CsTeq4SVvtPpJRMNj9+/ +W42e6PamdT94Go7WbGI34153P+UGy2KUOZ9YwMLOpmOM0tMGxTVit5w= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.0/419.pem b/repos/system_upgrade/common/files/prod-certs/8.0/419.pem new file mode 100644 index 0000000..3c98096 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.0/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tWFoMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDIxMzEzMDYwMFoXDTM5MDIw +ODEzMDYwMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs2NDk0N2Qz +NS03ZWY3LTQ1NzktYWIyYS01ODY1YmYwMTk1OGJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC4wMBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQEFBQADggIBAJUaDwFm +pYScGPFsvDRujR1L36j2hxUw4+GfL9Y8Us+0azAq2X96rHHtYg6QmjOSfev8gA/H +EQExLXjIFNS40HIX7NMsxjmtH65Ar2xFj6OkKXrVZlQ/p1JLAxJ2IJQ9wcQ1OFw+ +1oVUyRCLWD+5SLSHSOKmMpEM2UQFoUcfH4WOp4gFSMy3DU8t4PZgBNeowhAn8kU6 +XUJrdYtHxyx1jt2pzR47/9R8F3Kw4ENl0K/qtZdBm3lpkL4JRc05QdgOXGzJYhiT +BIZwSNlNO2xO5anZpEcBxVsWHMVPyaP6mDaqvyQcnuChw4Qn+j/vbdDZNGQroyCq +/szyODwB/cKLVM7y5UT2e5vWG4m1QB9M58B/iiJWfAE4QXNd4+4aKvwSQm5XE+5B +Ns6vpOnmOai2J5g7FpMu8HluNyYQYxub7Gfs6Lflvk78c6ckLHjQX1z+eVLwkCPo +Btn5MFNAW9xT1OkoUimdGIjqRR//QqxmstTQDR5xrrxEODHNA5jciX7HN+y/fka+ +iFf1s9GZp/mKAlS2TzmvFJUP5+QTqthUw3tK4zIkmrkg8zFkbsD7VhcUw/zl+r5S +6U8zudY+IjdtNE5tkWWTXQX72zuif65xKygdU2gTfVAyX83kPBoyExi81EQ2Upm2 +6302SF+tYP+wyK9ubzwTmaHT8mnGcsGt3BGC +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.0/479.pem b/repos/system_upgrade/common/files/prod-certs/8.0/479.pem new file mode 100644 index 0000000..bb97ab2 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.0/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tWFrMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDIxMzEzMDYyM1oXDTM5MDIw +ODEzMDYyM1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs1ZTQ2YjYw +Mi05NWZiLTQ2YzItYjkxNi1jOGY4Mjc1OWY0YmVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC4wMBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBBQUAA4ICAQAVktfvsImT +mFQxVtokyZOCUS1fWVXAn0GEksMtnq49ArQYVWzFNSy+HBJKkqLPkloi6Q/8eAOo +Ndk+8QEyo+UIooopZ2JO/kYJChXX8r4Jo5h3Xh4rDCIcJQQgF3ghTr7JwYdzevzD +bQhus+uc28ls3UrKT3fuZpp5ExnOp2XFVWRRY0HA+O/m7YnrlWoZoC5XjZgKke1M +BfRRUfaBp1E7r8kw90JLA63rrHb/V7xuIV+5YNu7HYp0RULH9+QOq06WhdiIkvmc ++JrFRUFGrRYfpdLRqn0G7jKGtTfrSwwvcoeyfjoFBn2/h7jPvSEBt62zwlDsw839 +OpnAKhFQ74iYNzF8voKdiKBXD3iyWBXKAXCUGMi+EuVAUun4WYs4cygalXa/Hj2M +hDHI5nOlE6fDodkNZ2MHbttsHLhL5bj313pwpGfCF9YQ5p5P/ZntW9/24gVEuLHA +nQeI5YF8Vo0QIqXQA+OKR2q+D9k2Ni45Co4E2DU+VzP6294jlQs1Q3s+7uP3lMmH +IGgW4GSTeuVpg2aQUCJBbNpgSl6cODnistM/SRpuNtlKqZtXNa16clRc2h+kM1CL +XX7V7UDlin1tXLBR1Mex8aLpq1xFLbjjotNRociUycerJhLntL8yduwSylTEiU5S +4Rqc3LkhbU+KyABJqniyweE4iJXHYMIHDQ== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.0/72.pem b/repos/system_upgrade/common/files/prod-certs/8.0/72.pem new file mode 100644 index 0000000..bf8517a --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.0/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tWFqMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDIxMzEzMDYxNloXDTM5MDIw +ODEzMDYxNlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4ZDQxZGJk +ZC03NDM2LTQ2NjktYTc1OS1hMWNmOGM0ZGNiNTldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjAwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQUFAAOCAgEAQkp8xNRo +JlkySWDvThtmc+lIpKhfOm68Dgs8uN69po0OYk9Rro90hZ3S10G6r9Y8zDvHSQBQ +UpfFKyRN8k1IwBpijacwbpA9alg/uFhRzArGY7/z4cSv953nKapJMKvYfcAYF7ob +Xkz5rC7rw/9OGm1XcX4SkB1i5XueOzhN44Mv7jU8QAC0+ezD+NTatlcISdPxU8Ix +iUXii5OwaJxPVHlZ7RuLF3bj8nQsdIShT04198E+vuwnR8oSQjYiSRCqt+ZSVxUE +M3txNJNjMhfVfiAu31EFe68e7WwwJ3MUyzSRZgZKGriGewRXG3EorMx2EPx0LncF +XeL7p9xIBzHhYZ//gZ0zC8oqZRpGVRK31e2HaU3+8yut6BM4hCmjjO5BmvlrYKdY +CsiIsGe77No7jO8aIamiCd7jA5rqTLJ6ZtRfcbocix0ZruJWHYF3Bjd55/7BDAJw +N/lIG+V2t3waUx2sjDLTIvU51AZF0Swry7k9vb0SgUieSMeJMj179+dXf4CUdN7o +GixS9NDd9n2Aoqpd+X9B9mRB7sqE4YmVrxmD6c+V7ebPEdnoE5Xn09Oi9iwX+HYv +Wz0Kk7e+aWmgJ4W/Zti/Fx/Kjdw9VddYnDw4Ce9BRjjgC6aAQ4fi5pcKIVJ8i8Oz +LAqhFXPh6roht7MYPkqb2LGUN0IzT74bQkw= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.1/279.pem b/repos/system_upgrade/common/files/prod-certs/8.1/279.pem new file mode 100644 index 0000000..fab0246 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.1/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU7zMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDQwNDExMTgzOVoXDTM5MDMz +MDExMTgzOVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsxODI2ZmE5 +OC1kNWQyLTQxNTctYjY5Ny1kZGQwOWMxZDExYmFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjEwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQUFAAOCAgEAjBi2D5GIvE+czyvMDtbIHaaS6qZQix/D5LOhrrFUKdNE0nCZaCvq +RkG5En9lMr9Kl3nqCUR3+QgwwTXXnBBscgIoWjRVSkMnzRaE4Tg2BjEZOLZDKr5R +Qh1xWFb6Bi0YHFa/nd7ALbrO3OPMkr1sHQo7WpA7laCVAsI9nsWs5JpFBFvt2rX4 +/JT0XG6Wmx+M8dNDHBPY/10w5qk1zZjx8PWfBM7r+ZapFtgkH5xio25aNWJ51GNa +n2meoYkQn7Ll5g9hVd0l1pntPeDdw2+KLtSt/16UNTZX2vBwa6GExvF/VAvPgjyX +hON8K2gNbWk/ob7SDTClV9OZISEtWUbOHWwXVpqIqNztYRUu+2DE1SC8l1+6wois +6DYNtWxgHMHc5TC6tyqL1Lq3Gpptn9g5KaYvaRniEwwN7rqMAioNyzg1DN/XCCDW +LS5prKEoAVfOAczV6wMwauAiPt+Jt+A4DpJIq3J7yeApFXi4nSrqZZ6XOzRIqkod +0rMkMtIYK+HmRqG9SjzHYxgURtPo0Im2bv7IiF/M7O/2sPqiW4NmQEkCl2dYDQxt +X1TYEoJKhFP7z4XsmiraIVHqOH+zJGnaUzM+ZzPGulXEVLsszAdfDtNmS8FaK6IZ +z5pyUlexMItUEWMhy5CNJne0qDEosQ7Og1ni+WOGK5OH6WMZTO1+CZQ= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.1/419.pem b/repos/system_upgrade/common/files/prod-certs/8.1/419.pem new file mode 100644 index 0000000..9013a18 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.1/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU7yMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDQwNDExMTgzMVoXDTM5MDMz +MDExMTgzMVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtjYTMyODUx +Zi1hMTgzLTRiN2MtYmM5Ni03NDk3ZGRjZDRkYjBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC4xMBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQEFBQADggIBADw9OmKU +Nyyy9giexFHoJKEExY0guWWBrUnaW5WI/QaSb8WXl+Z4+DJZR/sj/Wno/AyA1k6W +YIZZJCEbKGuwHj8uTUyXfBYXj9Ow5rfHihCA8RVceprNRT6cFOQFU6ySlyK1nRjZ +p5n3RZL2SOgNJkAPvMOou5EiVWZBlbUInyM4sYvI/Ci1oH3ynSclZKL2BnSOlhZQ +AWGIdAC3tffCO8hqhifigUMizdl8Xlzsuznneqyw8en90N+FT6Katgh194TeH4Td +WWhxA083cAt0bkt3SEA5xYXmmmwV8MN9/0PoFz4nwrPLHg+8F11TKTvJmfwvhuw6 +eO9yiGp5YMAIKuU1GPyO7lmU3dCna0rqfqlOakAU2bq444/G7tqzhJaCNE6zeQYK +AeDMBMIXuNNZGHCXjWr03pvjaLnthPjzqZyB00mUrGsTC6jU3tnNbCU2gCDvROl2 +XvDbGfN8tDtoqSj66faH8T1jOlhpTXEOavCBWRM73GK458s2z0I53e4nLCD7B0fo +DpMmWL6RB0Guv0nCop0Mec9PtMZhKw5583pTr6UhmJnvMn6HxT4DnjG9OTxNHnAN +RA5tW8wODBxRKmrgltl3GmZ01/5DFxyzGtX6l6EIvM3e2LH2dAuXyXtO0zsPJcjQ +xNXbkTFaH+KhMo8oYi12Uc+eLA8/9dOf5OlX +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.1/479.pem b/repos/system_upgrade/common/files/prod-certs/8.1/479.pem new file mode 100644 index 0000000..9752266 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.1/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU71MA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDQwNDExMTg1NVoXDTM5MDMz +MDExMTg1NVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtmNGQ5MzFm +OS1jODE0LTQyYjktYjFkZC1lYzNjOTVhZTY4NDhdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC4xMBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBBQUAA4ICAQDW6tiX6HRH +O3YDmrNj/6cIiXcpX93X7yR3wo1u8+zbTQTNnmSDCymAaVI4xMCsFJleej2xdJyc +w18QGHS/caMRU8VfNxdcQ5TTRq3rSWdV5s54do4hnFtWVt3tUq/Jwh5yFbYWtS7s +XyeAKQkAfihJjQRjzZ4OAIpU9DQrprev5bJ1wJi1JAhW6tMqjRptuOdfaXFk04Tm +YzI6GhCGER64HauX4ijybWk1GmsAEngxmBqJNCzrkoBHloHFjYjCyuF1lMk2Yk/w +poS5btk81njrudydPiYs1AMOr7SE25DwIRNUh5sBpXNBQuGbcEqJUn4rTL2AP0gI +SJDYt8wz8quPDqtw+e86k/DRH37Gu6c59GGOSddXd6HKQWxRutaK9FaYzcxnYZJP +NmEBk5SA7xqIjzkKAHIPZszbzct91Lk4QVL6c70rejV9Yln5wfr3X1cdEXBYElZP +bGb+CA8mr9W8sXZF1cbRokOLbxxIRbl8FCT5PTyo7CcM5VhWR5NtwqYbejrGEXd9 +Ni/c1Kfh0kx+DNOmDjnaJ7bR6hCWFCw+UOIIoMFZEm9EGL3roVF9zS2et1LxXHw0 +YRYaQEtVlgOcnkggRGTZqRwf1u5tArPOXLHAMAmA4v1cK0IBF71b5q10cJlJZTr6 +Dg+q8qQ7yq+ZN+kg+tcl1oF/MDYtd5kuAA== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.1/72.pem b/repos/system_upgrade/common/files/prod-certs/8.1/72.pem new file mode 100644 index 0000000..a2441cb --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.1/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU70MA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDQwNDExMTg0N1oXDTM5MDMz +MDExMTg0N1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs2YjU5YTQ4 +YS01MzI0LTRmNDMtOWY0MC02Zjc4Mjc2MmUwNDJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjEwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQUFAAOCAgEACBZ9PU08 +kKYhEWZYowZd8lZsN0cKK8i3wcJsKDi+BmNIgeBGK2h3jnFCtd65pY6cbyn52Dsx +ldEgTvHRVU7Bfb3GHfRx3SVyC5Vm/CK//JkKKeQ5CmLZsglqpeAenZ6iqfvTwhHl +wTuqzO/qVIWYjjcH4ZVWuv1aN7fsHbgxEe2uE/sR4piOgrW1eai0F3Ashc+BdyHX +d5egOFhbjBAKCygDEuFrb9TsMJxct4IMlVnAUQ4dbhk1Jg5PXI0SkIAh+GosJ4dH +3h8cZwkU5cfoT3ExTLP/YzRZAvs5bb+KJCGiqZl5DVk0Azwm0rX6cVWICLAeSLH7 +Hay8HktWfAvpapoxYeT7NdyALU6lUCcUlTh6wUrTrq+Bfv4+uYIlscdUXlYzDkXT +iQgZEHq8m53jKpRO9N+uIrF595M7baxoNx/kimjU1unkMY5I66dJF4NO//NXn3oz +TCHZwzV85EQvKf7gzBseHCe9J2zP6mwUvYDPURr7iZciRlOHRhfBm5hnWrUjqfbU +/iocaZC3OGy6MlN+ttLMuY3U0eVT3JcGjkgw0zmCJzrZwLz2pRFdBcuLHz3GGqh+ +HgSmF0/u3ttF0T8fgLCILo3diZE8sC45V6D7qP3p9LbLhVHI3IBRy3gMm8FIBtCB +HtM1RftMPv2lhSsQ/NZML24f6DxTiF+tNk8= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.2/279.pem b/repos/system_upgrade/common/files/prod-certs/8.2/279.pem new file mode 100644 index 0000000..4e762ac --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.2/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tWIDMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDgyNzE5NTMyMFoXDTM5MDgy +MjE5NTMyMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4YjI2MWQy +Yy03MDU1LTRiN2MtODUyMS04M2ViYjM4YmFkMzVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjIwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQUFAAOCAgEAX3qZ7KjxMS1WAEz67hanxM6A4NbsNjIczLSBa48o5N3Y4y2sjqJe +kuSE2gLH8KTOyzhNa7pHO6YMH5WbsumU2+pCmZk+TcGfvj+gEh5qKtP3+RwAHyjP +sM2xJOX172ztr86ouXzwBkH+fqIxPGKY6yvEeu8o5XMEEYJSA6UubfSC293ek5jt +aPy/LNSvtJNHHcSP+3jgtmc+Et1RQkj8AujJiU5gJ4weS6u3McKBUgT1BKSuyZJV +DcoSmlw+C/+fpfhyykZcqtAoBhZlyL0I4z9QEXwGkPJIe/5idt2u2A4Ldr7+s0f5 +jwziejOUAuOlHj5YwBG5rSItudb2WzLzghhgz0R/xeqt1fMLJAdrfj/TsI8S8ADc +qOoMq/2GHrw0zZNpkpKky37twPQNNrPMZ8Vl3HW7FNk2RcEnw+sj4WgX0fdSzFN3 +AmoTttCs72iwF/39gSsC2g3GE+dDpOiFnS9uXQHUZArgsRPj9GTUqJi0fqlwJ6x8 +X8uVUTfG3z1A+8mgAltegOgdMA/P+Gw4iprEeiSMmGO+kNsumsXf3vAZ0eBFaROW +0K9ClDgJwmYBZ2593Y6+TCFKaLDO0UW3YSKe9XOe7jbvp/ZFQFG7CMpBtOQ6MzRi +4bXbVX+uc2hwC/HDCXT/HJUgrcgI+l9HojM0ed19NyR70d4yDxj60oI= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.2/419.pem b/repos/system_upgrade/common/files/prod-certs/8.2/419.pem new file mode 100644 index 0000000..6ca22d0 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.2/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tWICMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDgyNzE5NTMwOVoXDTM5MDgy +MjE5NTMwOVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4YTFkZjNl +Mi02MGVlLTQ4MWYtYTdlMi00ZDMzMjkwNzgxYWNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC4yMBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQEFBQADggIBAKA5fKI+ +IT46l868BfY0SNhfd1GcMZLkZNP+JtrAeo4aKIzcSvhQusnUKGiIOrmwhs2qK8/y +jVMoezLRgPxjBZBm6yCEym2JfQL8AXt6L99sOs3ZyQ/j/KH5yPaEjtpzxrV+c+4O +SDg8pULPOTzyAS3IkePuixcDfK57wYESaqNYhBvR2Wki83hf5RAzOk74fKFcQVXq +hjHxBeF9TlBXpalRj4hZcZIpGxtQ2wPpQxtfSziZFM3/PS0HIRiCtbbZY399tUXq +u0XIDUcBi8/9CbNxLE2geCcv7t2qtUF8Ar94AqyXXPtlBM3SQqArt9KOtaMXoZay +CT5LuIcdnXV93c3Au36L1XKEwIHhEoVIyaSpg0eCBQuoRUX40l/xvVYTrOen1Z/p +48ppAryEUnd/rEz7626S8wZQA4Cn6CsXO2EXNhZY5vQIylotSWLN8YPpLqdLVjAu +VfZnQitKDfMg2JiXxdINTZWNlDQGZSoOinln3gKkoQzOoC0HTZh8jhYRl2rl4Mhm +yxDT/1VhAKmut5atPiwm722cRPBzezwPM+HHjfm9dIUshsgzPRLeFuTkSzKSrpr9 +pGn/weSbjsfy8iBJn0levwfLiaXBFh5OzLsxUMozehDRhg0lBzlSYBSD6CLupji9 +AHYIcKKYTdd3LLDd4Coz4PmYZyr6tekgxJP2 +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.2/479.pem b/repos/system_upgrade/common/files/prod-certs/8.2/479.pem new file mode 100644 index 0000000..487e36b --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.2/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tWIFMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDgyNzE5NTM0NVoXDTM5MDgy +MjE5NTM0NVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4YWM4MDEx +Ni0yNzg5LTRkZjUtYjg0ZS0zYWYxODc2NmI0NzJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC4yMBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBBQUAA4ICAQDQKysCCk0t +B6kE8oPLnMIR7OFN/VejVUdHlH8zhxyTmfpUeM2OeieYH7IqtUinOVLq2M7Fs4Xt +wNbmbO0tIODBRHCDO+0apR3rSBY2K80/b3nh/doEro4jOpupaCRK8/g7vEN4VxK/ +O3wGEDF2Ed+7ANVF3KbMMu8Ou3bZgnVRtJZpkdk1ahuewJiWzMJV3kRx5TEaImgp +R97zV9v4lyzFgdRK7mk3PnWhKU/RvqByl/zHYUzrQUuj/x7GF4K7ajAuTWwdT8cn +v40Sa3NJzjrWYdye3yhczbrcc/BUnJLDriRi9Pzo3Um2Hw0qq+XBYixdcr+EnlhP +E/cH+kpXsKc4HU9XnGWZF4uIJO9i1NPdNYS8LENURF6plsYgtcpFtNXpDzVnw2M6 +TODWsBlW1nlRfi7eGr3vY5qcr2IMU6w6WBWigqGrtYC6hKEsjYhEgq3CwcM+3prJ +VDwt2IQYdSIaMCNRo2h5eKbfG/GcvjEDZnS8Of9DNQJAKvzc8s5OU9lVjDvD3VUy +8vtVAvnnZGH+Ptg+wMP+dfRMlVCCGyUVZv7Okrb1li3tDbZqbW0+rCtS5b6Mv/Gf +8j+PouL0QxbfTIi85EdSOqapgfO8VQUGUnMaQ/jmV02+5QQ8d4xVYjjn4E7CT4dM +pTgn5oNGtX7eF5Hd8BwjD98QjCyUsQtD0g== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.2/72.pem b/repos/system_upgrade/common/files/prod-certs/8.2/72.pem new file mode 100644 index 0000000..9f90a25 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.2/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tWIEMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTE5MDgyNzE5NTMzMloXDTM5MDgy +MjE5NTMzMlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiM2RiMzQ4 +Yi1kNWYzLTQxNjAtYmZmMS0wODU1MTc0NmU0OGVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjIwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQUFAAOCAgEAoXLFKlBj +hloPk11oB1fL0HJ2uj+ag2bad3hvu+qFcSkDkz0kjhml4PTBNnuhObZrAPFB84IJ +nyGFbI9tNDpZDd0I+lZc8QCWq/hYDWr/RRVeVevC/O9o6gd+Pyvqmg8rkme+S/3w +ObBJJsZQlu6CKb/AuP49NbJA0KIyDMkmk6vZdHKYa3fwziMFoMB9Z3hW1DCSaE7a +BX/8VQ7SXECtf6WfewXA0rDexG7k1qmTyMTDsSmYDh3xFBQipMN5NY7s2/iaIcw6 +Uupa3P8vd9Ykfc/xGHj1bv7WdW9j4DsfEoYmbKw+MuC074eD2ul5a8mCyUGWcDxm +5e0kJV6lUkWzAxGOfBphqcJ7jVG/9v0K13KzJXWHuqL8MSJ3ROsh4lE7TtN1NnWX +tSx4jRBhWyXD63STbv9XXCOKD1vIxVTNJu44lm0xPqicdZm0X0Z3X6syemTELpDe +opDqeg4G2N37bHsKHRBtlMoY5gT0cVtNqviV7PFMM5suTCZEYn9WDlU5b13I6caI +5mGYj6n5SFME5Qr5YyyLwaV3SKRRmw6yeufSjvvDCz8gKC15ezJDCvX1L0U5IeR3 +dLKTIShWQOHb+jaoFFdsnAPReMq83y9n59XXZGm32mpRYzla3AMx8zvWhnDi0O6P +6hZn1tjEQ8pjVESOe1aj1XnAxGuQIlQ8ajU= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.3/279.pem b/repos/system_upgrade/common/files/prod-certs/8.3/279.pem new file mode 100644 index 0000000..40ac9af --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.3/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU57MA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIwMDIyODE4MTA0NVoXDTQwMDIy +MzE4MTA0NVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs0OTFhOTVj +ZC05Nzg2LTRkZTAtYWFjMC03ZjVmZWExNWM3MTZdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjMwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQUFAAOCAgEAn7nWCsTTkwfv/9hHdo4mRK7QUqgj95JpNTnz+u8/4S+ltIfy+F4y +f2bU007MP/alntuPDRGmdKn8cfjFBrx1co1mwCDeePCZvgZT4jKlctwlby4UWCYg +oWBQIgpPe3oizARpKoQzkEDNGjkNz8+R3oiU9LzNws1B7ps7S9zjPe2lZhf4JGrp +KleLf20vHw+fZ8kOujTSAWLk29PxpITy96ZxsRB2rUsDAX4gnhFxcUMInPBpK4d4 +RdxQH3YkHKV8lrsfkR+kx595T3EKiWoyOCAfTKVjFto4/aZwOOLLxysWShAoTitg +mBDVNqIqmPtwC2ZYhYx+PYHxrjcb2tnUJjawfsk2MirE0LQFsY42MqMihR7TwLEr +iZuSLrOhxGFLiV4WpGhB4lZbz3ul7++RZGQ1T7RLJwbFAuRw/r6+mftEJ73aiPnC +EQQSFYRgJvTRRZM35pc8yapgFqkBBtNRbU/znWNxTgATQQJ43ZFSq5dTbSWERU5Q +v0MYxE43dD55S95kfZMIB3Ujwh8kycVvxE3/P1NQR4zEsPZkf7OXAFECdlwazh1p +Fum8j1VxT0SVL1UemTtjVWz19FeL1dceYYVksYTHCvZxZwFyJ+JNX+tUcLA61II2 +i1vYCOlVJ9YADy3RXMD+SUPnoZ9lF4tdQSHE/9ecXfgiGeJjpsz4Iok= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.3/419.pem b/repos/system_upgrade/common/files/prod-certs/8.3/419.pem new file mode 100644 index 0000000..7be01d2 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.3/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU56MA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIwMDIyODE4MTAzNVoXDTQwMDIy +MzE4MTAzNVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs1ZjQwNzkx +MC1mMjE3LTQ1ZDEtODdiZi01NWU4ODQ3MDRjNTRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC4zMBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQEFBQADggIBAHcCnFot +svoFsbgRCBTk32Bs0uFOo8zs1vlLiXh8W7nJ4lMaB56VTyc28WD6E9X6OmqasUbW +hZt8q+2iVkNIxgZpGVCZXZSCFthLLFXLxvBAYal6t8TVkShUttBpDy+MKZWlUetZ +/LOTaR57hzOQ/68PrPkeNp9Qb2FksS+IFUK3mQG8yMcf3ZOVjc1yXHKF9h4TE+qR +YwDX6dRvGk+Srg4BJ3wn19lEr3HfrUQUWxzlDG785BJK3BhjzGCB8WpnkR1OonDN +Xaai8dBrfqPdETTbw9EUqE6u55stWQxr/gOMUZRo929kdVVKfLVNDCKRzqsn2RA6 +XO/eKg9nKurygVL5fuWrmab2mDyx6o5pmPs5HQtE09EDUShUGWhKu0nieAqqTbF7 +IxGUMFo2s1U8UFlHfRmjdPVni8Ub/DzeDCVXke3cnsRE1t9KiBOh4ZaD+va9qFW/ +AgvW5KpZtfyahBth9DViKGACU4mfBU6OHkKaFESAja+mhIi73n7YcvI9M+q408lY +cM4WYFO5zDNXSHgmWaBl5CdO1uJQ5vhxEYaAxbeLHmSAuitsi2Vsr51noeYX3WZX +k0FlSk9xpyzQFnykcgnMEGODfuFNOKOBlTQnsODOJoM3h2bfzxWuhfadC1w2tRCU +SqkpWMF/9oJEBunUXVbRlM5iQ+AM21ek8Eeq +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.3/479.pem b/repos/system_upgrade/common/files/prod-certs/8.3/479.pem new file mode 100644 index 0000000..c1b99ad --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.3/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU59MA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIwMDIyODE4MTEwNVoXDTQwMDIy +MzE4MTEwNVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4OWEyZGE2 +ZS1jYTNhLTQxMzUtYTAyYi02Nzc1Y2FlYzZlMWFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC4zMBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBBQUAA4ICAQBeQ5hgMsN9 +455d7LoUU+5oFQDVKBW6HhksZ2hRvI92qzfj5W49P5KJEx/O8Tj5cEfBXLq6+Eys +sBdiCpMRrVDKuu06iy8hmMVEt075qde2fs1sdtW0t5in+uEdoiDi5R6/2RIxHeb7 +t5czPJGN6DDsm/81CJpmNEjxfaAKy3TS9/VL1/pET9E/To+vBytIdo/x9w7q7QuN ++9VFfSll6mhkPHoOoMoSTDVo/NMcEKl3dgymvZ82kDW7WXAf5RNmFF1kaqpNzbGm +AX5A46fqNwV6Q9UK+vA2v1a6AmtyvAVqKJROI4qHY4ruiW1eUd1mxxzhaY+AsKdZ +1tmS3EgfVrsNYsxJDOSVepNbUVw/cLo71BKlfKOuFmH333U5uWkuxlBy3rLsfEx9 +z/8dJs4Lu1PUqw3haMT+H1H2nin9FSZtfA0Lz4/2Z1S92Z4tmUJMWZJDyxojsIsV +9MZ6XcSxS7qTktLQ3Eb7UrU38NhhTjn2dqxGRAiatN9L7zszD2srEkKj0UNGVcsh +aBQoDBYhPt7kNCxNxSfGbTJvFUpd1I3ChjK6lMmnbGw7m5K40KoAhvBAKUn3xRQJ +A8d1dbNnufyvK52aEFcg1HwzKt3pECd/QaWSKAYShReeflslV12D6f5zyOFfjBIs +G4HKYt6bCbOL5BOPcQqZmYOwuSQcA7siJw== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.3/72.pem b/repos/system_upgrade/common/files/prod-certs/8.3/72.pem new file mode 100644 index 0000000..0772186 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.3/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU58MA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIwMDIyODE4MTA1NFoXDTQwMDIy +MzE4MTA1NFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiYzA1YzAy +NS1hNjViLTQxMjEtYTdmZS0zMTUzZmRlODQ3ZjldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjMwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQUFAAOCAgEAX1ek2TW4 +IJWMMoQuPuJvBRzPck95tJmIwFgtcHFBGcDXa4c2o9k2NP8ZKyIEr1+2Fs8qg7B8 +PxrMcqv8AnB4Revtb1QaloPDtuGKD2Wa5lTgh55sIyiep26QWWGylPyAHLJ5l9Ik +fBp+loyWMVVCFs6vcbXN4JiMw7JxGj1oJx8Txz8j8DkGNwN0WkpvbEWh49qfOuEX +c1oXdNyW51U0cj1lArHvnyH/t6JdhxwAH2MS2VU3J+L7QZaXzgffM6I8KaIkUtlD +JW2CLUCUdCDiOBwjoSaPWB9Hfui2iL2qbqM/QUJG1q1lkdssccBk5uHW+RGSoC+2 +De9DHyLZp8Z9/UwoS8pFINTe2kB7kWx1XIccuwf9k/pOF9r8BD/yJ/kys1di0wC2 +ZnysOPziR4GM8MoCujUStWDdi4e0HcmfvdhjGzhMjlZ+VCjsapjtLUks4VhBb7Nm +GFUtMjtNiaKqyhDsdx/eHCWeUciTOS5UZ6lQw1EvpIu3VZOqZWh/ah8KGSIw3wd3 +PdBL/mMM05LJ8Yy3OjnE6J7iNBBssbIOqV8hk27dOl7aSP2jmg2a6SI0NPs0lXJ6 +P+reJLb2MHLmELnJdwDxm13ta87HqgDQSjecRzz+tR4x1apK0AltZ3jLGntU24FT +2xlNy2zIOIybpudqis1BAQIAwdIhW5vrOiE= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.4/279.pem b/repos/system_upgrade/common/files/prod-certs/8.4/279.pem new file mode 100644 index 0000000..60d5443 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.4/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU6DMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIwMDgxMTEzMzcwOVoXDTQwMDgw +NjEzMzcwOVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFswMmFmMmVj +OS1mYzA0LTQyYzItYWMxOS01MTQwNzNjMTU4NzldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjQwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQUFAAOCAgEAQye3BhGzUToTYySXNHTALhpVqhOhgu9N8kHbvTdp9fXXEkIiSkoA +BJTHa+jDxxTDQ/q6+V2GMXYSN5oyVNzQvaKScQmuBgx2VbBql9c3QkadKleqz2Ek +L5ddhFyblPLqtQDPRzCVB1uqr8W5Xa2nqvwKFKamyqxnQN3hWZ6xO4VqfOYDdDCY +Sk5VT6QGutiiUTUcC7gSvAmdI90XisqDXIUeUplymQ7eZIpwYxRS4EgMvCYIfSpZ +dD8BqBMPWCPVEP3Qg3+p2x55FDclXag9eFvUBfzEFi5n1k3qxSvOMrzkJbLUr1K3 +D2aPV04RVeblzeN2u5kXeLAAkuWL04yRgL/RxNOQAgxGbM8G3u/sZvohkInxf7Ur +XgaXiTeP+iGSdsvgqAeP9PP9Fk/Iqqa46H1r8pojESYt7lgceWKHzgNew9+HpwXm ++AYlyP0CNmysTHOvtu7GKUJv5R42xeX2OTNYINSMVkXG3DbwheCKRjmR9CD+lOdk +JZlP14Xu9pmZbL822Kx2la4Zbexhj5KUh3LmpHW2dvdSDiAtm1oi2xF2aeu6Damj +iUZI0kmt+7L3NJaoYZdNp5aVWbSdxUSQsrERHml7eXsxptgcVMplVWnWyo6VxhdW +/bO4KbrQ/dKYZWiMLb7RiJOU2Vj8JBlxwgxldVdEn8ovDErNrVBYjns= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.4/419.pem b/repos/system_upgrade/common/files/prod-certs/8.4/419.pem new file mode 100644 index 0000000..ff108fe --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.4/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU6CMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIwMDgxMTEzMzY1OVoXDTQwMDgw +NjEzMzY1OVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs1MGEzN2Zj +OS0xNzdjLTQxNWUtODUzZi02Y2Y5NWQ0MTc5ZjldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC40MBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQEFBQADggIBACXcN2hj +MjVn6CC348Ck+n114G0pKrO0OT+CGIt+7N+DmHnMPq3glAI2DbmCTyIgXEghSr0i +llBgLtUXXuBF84f+FCsG73VchXyMwdhzs65GblO87XQRJ/c0+jCMY20n54UivLLJ +2osFWEUDNaILOXOp2COVQtoDI0enBD3Ixwj1phaPoV9lBdnwv3jZeGuXg7HM7Qrn +MnWDB70tcKr9rtVtf/oY/XKdwj5QgEals2h6m8fk8ygv4Huc+XU4Cjd6jqYFUIyk +AoF2zxSGlZEq78PvSeJhNxttiBVFLtiDTIlcbAtg/zl/EYBJm2UTpnNw36IAcKFv +PoDMBJSB6n1ynNrs547z/sFyDS79HrGlBbrpsVacYoXOuLR/xCD8x/6fuLnKVbiM +n85z7YuXfyUZb9dpw67DrkZcvKJRM78uin8fqi5aNdDe0/8FwJ4M2CYQr4Ca8EUy +zBKU3QD180RvYhKglf4KFwgENv0L08olMFxmbaGTs0E+fXmY/7v26LQOwHfp7SlV +UAOWVD3lYTor0g1tFUOYMjokkKa+HQ/vb+TOYKOn9ToCuKFLZ4kFViwkbFQjZm33 +4GP0DcAAQU82HCFC9+sibo/2x+/gUiwOR2ZTDStI9QJLhJ/6eo9M3qIuhB/YxNoO +Nk6CV64MnZvtGvohJCaMPdS+eBo+pOsjtoAj +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.4/479.pem b/repos/system_upgrade/common/files/prod-certs/8.4/479.pem new file mode 100644 index 0000000..7a402d4 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.4/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU6FMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIwMDgxMTEzMzczMFoXDTQwMDgw +NjEzMzczMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs3NTJlNDNj +Ni1jNDE1LTQwNDAtOGMzOS00NWRkMWQ5Y2VlOWFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC40MBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBBQUAA4ICAQAF++BZCcPc +n3n2pynsoFVu8ELUK0HnP1LIeCdOqy8XXOO3/ZbYjACWikfWyD3htAM6HAqxZagl +EZHCKGfk9qAR+N/aLyhICIZLD0SDbwEEjSfKqdKlJTSa2SLHk6OQLutglY1vZFJD +IjPKSOM2q2+2cv5TK4t4/Na66OxzWPAysDb4+T/z0ocgKMYGGFQ43553VV8o0yRp +wLPRAjjkG+dOeF4Qx1tFCDRrEPEVM1p/DgzKlMfBIJ7/DsgncfEaVYkqZPoivCi+ +UOd5FS5Vv0Rd0MCDEzvD0TvwmW4KoqxsutLi3qMR2xvz+Md7myNCqc7jILXBD6m6 +KdjZOA5itVlZZ73g/PDemFttvtMvoT6/T9lSeui8QPjjl4SjfJ2gLyNnnnaNY4k0 +uziFfM3HHa/dCRQ/JJ+lE1oc/e5F8ppe/F6H8TyA689N+xMFcjs96uq0ZZsMzC7B +n3R2wV6KQph1WPGzvUWP9C3vSAITnAHwRs0I18hPjNRLmvur6zlTz41tWgKitX55 +OGoWu2JZuIdLojgdEF0mrvL4UxbLoH97G7jm3RtBBJ7H1lEsj57NbIGwyFAeEqSh +ZMML9wpl7VcnrML4pk6Jn2kmzKIoNxmediWjeuqrQhRlQfc2qriMzusGQ5gYWGPa +/YFEJ86YYttBP+TrenYtKIjQfF6aBE2nqg== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.4/72.pem b/repos/system_upgrade/common/files/prod-certs/8.4/72.pem new file mode 100644 index 0000000..5e90f7c --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.4/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU6EMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIwMDgxMTEzMzcxOVoXDTQwMDgw +NjEzMzcxOVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiNjU0NzZh +ZC1hM2UwLTRiZTQtYjU3MC1mYmMyMTc2NjE1YzJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjQwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQUFAAOCAgEAgHqZQNrE +fIEoBxGc/pJhrZU6qkn3Z2419EnUjC3v9dO3OSpYe7pJKIAqmWvsB8FcMkJh4wZh +JMAIQwWrY328uX4BgFKMyItm35ii+3AySeMtkGU90niKJ/dDFXWA1PmOMO05Y83+ +6ktMd3cp12EkynmLcBJnnGigsR9Hg6YgcyBM0DJ+6PZCgitW/Wefd3e9FC066xau +KPwGrB9uZJLYLKDnAzHk4MzDF8Jscg+P/Ud3HBq7CEozyY9cnIxUmAmAkxTLhGAR +c+xYwHhn1mS/uWljyHSHjAqxGP/YJva1yfJBZeSjo0P3UHoS61yK3w1xdh4fxdEI +uVLXrj8bkZBWSk8Q7M4Xe6aAGmiDW09I4SeYMYDJN6RfRBeY7OjKgpTkUcNE0LVK +fyuKjG4G0TnjrgTr3dimo7SzLIB+CccQDGSvsSQt98B+oIhOLHnWkP7RgWFgYWx+ +J1ZNu2+nZ7dpKaLZD9h38nLP25h5GYQh7RmIxL73w44AOxsvHNp7KpPUDxDKv+m9 +ReQaRZSN2u+zD9UcU/5GzLyllge1PBISIfvkvVOOxGR+VQ6wdO3q1DshGkwyENiX +B17CR+qmM25CeQtZ1fXombPaLvHdKt/IZPKYrRebbhzpTmooCZsKzK/fpgYxwmFf +TE35MSFuY8AFAIJhBPWer27eOLvO3SoCQEU= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.5/279.pem b/repos/system_upgrade/common/files/prod-certs/8.5/279.pem new file mode 100644 index 0000000..f3360e6 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.5/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU56MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDQyODA3MTUyNFoXDTQxMDQy +MzA3MTUyNFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtlZTk0NzU5 +MC0zYTQwLTQwOTktYTljNS1mM2ZhNmIzNThiYzVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjUwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEAKZaX+HoGTWFqmOS2lCU8vDI8G8c90XoaXeXS8l6xnBIZ+i2gEh4W +3ea7gDSeftLZfNG2h8XZhSPWWm6DZhUJUno0dWl6vKWd3Kob+gwYBTEP7rUUIccZ +BqYo5gM+GZ8LoxWewvf9kLvu1CmwdbCgHtBTxG7mdyCKU2aq5zmlCooILu95XQ6F +HXdZfuN23hQ8QxV750M+wZko6bdWUILTLbJeBI7UsrIGLH9AzVzUhUP0A5+AuR5k +bVsbEJEmDBvS7MFHlpyEDHsj1csjYKDCvi3MZHwwBIZVkK1Aw/TQQjVyu4+u4WwS +7DMy1Z9/hAs1tBc8OyyJLpEZK39YUNsUhnGj6cXIg3c+ewQVf/fc81J6d0WezQNQ +TtHAbfishRg7y2weVY/Sz95nd3M8LnhXoCmt2wgD0Q2ezR0M1YApoXc18Mv0ruI/ +xzwx8+8ThNNFblX6BR150hqdWzZ5S6rRfvRzAZVuQazdBrTHZckKI5N/AFouSev1 +q/Lb2Y1+LSPPoqPvZj9SqIszFXsZ/8//py+VUlJwdo36vHsJJaAoBh2KqvUKpqtP +SqfAUlonL66RJ/kYerBMvy0TI6LYqIZ7hXqE9SSTqTsTAyJkXyoFG2sbg16mzpo6 +jCzHjZ4lkA2OXnVyqufMfg+YjZHaCe7NeAsPacKHptQTmq/fEHSO18s= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.5/362.pem b/repos/system_upgrade/common/files/prod-certs/8.5/362.pem new file mode 100644 index 0000000..daf510c --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.5/362.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGRzCCBC+gAwIBAgIJALDxRLt/tU6QMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDQyODA4NDIxMFoXDTQxMDQy +MzA4NDIxMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtkMzg3ZTU1 +NS1jZjRhLTQyNzEtODg1Mi04ZWM1ZWY3ODcwYTZdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOB0DCBzTAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDguNSBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMD8GDCsGAQQBkggJAYJqBAQvDC1yaGVsLTgscmhlbC04LWJldGEtcHBj +NjRsZSxyaGVsLTgtaHRiLXBwYzY0bGUwDQYJKoZIhvcNAQELBQADggIBAE4OyAER +JHRCA3o9KGVg7nahkCzobTq5COS0hMtPTDAAi3aaXHtSfpbk8S/Ukx6B+iq6vDRk +g6GIZjF93fgE48Y92N5/Hh+rn6cLGqx4Xu1BNrgJGylO1HqmPpzcCrH4EMfnOMpy +gRZlBBBTTj0bFEXMVRVjnjL+sxzY7vPvuubjmk2rNx88LuFn21q02rTR58iUinyY +iXujM7TJL/GPzomfNkK07F9EaYJTckClpEbDQxdTES57HlGMumrwvfpO8N3fZf39 +UPqiMzYlbrmil23t2BPntt+lNxQ4vXQWpxYo8F5b2/pXoSYVzzYY7tFj/vimheyT +E+FgUE71Rw8Nh6iBVXIkQuB1PH5/PrO1N2FUWliDiUjND7vCwkt3f3rP2+MbJytE +1mZGTayRJASICKYHMR/avsTzRFzCw7KdSfLF/JX6EBsw/wbMjSgPHz5md9Le0yio +CDLfwh7+s/pqRNneNEv5wNClmrl+KKulMDu3GJ+amCnojlf9oD7T7/hxxo22TX7K +Y0cOUZQivLVJTXS/Eq63EEL7C1G9TJL2A3OU9J+GEYW3Pic8Avgcny855EX3B92f +qt25NMs22fRaieQHJYullCT9EsvCfAnLMfE5m0OEoAvwR8oIufitMHaB6kk7SNik +jYkN6KbkoziDxZ+JLQFFrdwuUeuy7Ra4qH6R +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.5/363.pem b/repos/system_upgrade/common/files/prod-certs/8.5/363.pem new file mode 100644 index 0000000..878532d --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.5/363.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGOTCCBCGgAwIBAgIJALDxRLt/tU6PMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDQyODA4NDIwMFoXDTQxMDQy +MzA4NDIwMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs3MTZkMWVh +NS01ZWUzLTQyM2YtYTY3Yi1lZjUyMzNkNTNiNmVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBwjCBvzAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg4LjUgQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDA/BgwrBgEE +AZIICQGCawQELwwtcmhlbC04LHJoZWwtOC1iZXRhLWFhcmNoNjQscmhlbC04LWh0 +Yi1hYXJjaDY0MA0GCSqGSIb3DQEBCwUAA4ICAQC4dJaaJSEV+9jDMBi0z7X7MoV7 +BgW/TnvjWU0aQJv3TNYe++qIiTAyl+WA+urfpezcp9xp8GbAtKD0Q8mjy10+jHmb +6fodEepgtJbNStpFV3QaTSCFqMJWT87cUDIuVG8pJnKOcMffsE4co/EMkvurkWfT +VpkzYnkb6IbMDAxieUR+RwpS1LQ0s3jup+5C5ZXLfXuaH7dwQtVmGrGOtKPMzBY2 +2jo9G8lgAcmorlN5OjQLveD0c0PKwbruWqyDGd6vH46K+nx2Dt714LwHlUsGCPMU +JfpgoZO/sMv0Y4osdt42iyta05OwjzUhjvUlRSOLtfjmznJdX30XF4MiaJ51acA6 +4aSrpsy6OqYkYO+paoY1AZivmH8yQzp/Fpkt/LxXHxxMiRn66RVrPkwJ7XdaMrek +4A61V8agInC8ZIJL2xVIG/Tgl4gkQzytIzgkcONk0Oo6dgZSsVOLlzDKs7yvlClE +78l24s1aoSW7hfYVJHckK84mv2yOHLmloD6hqVBfB50GRw8v6b8bkGEmn2xqhrIJ +WG5kII45LE+gZhAr+YdvJtGqZ8EBAV11T36qBk8coStrC+nLL7EMnY9uPdVUPQFy +aWi9ZlIsUYEMVaafe4iQq9JilusbX9UaqPWjupc7d1QoyaUR/2qpnPRA+LQPcJuY +ikwWNhn2yFJyaPMkIA== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.5/419.pem b/repos/system_upgrade/common/files/prod-certs/8.5/419.pem new file mode 100644 index 0000000..4ab0983 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.5/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU55MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDQyODA3MTUxMFoXDTQxMDQy +MzA3MTUxMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtmNGQ4NWIz +Ni04Y2Q1LTRhNjUtYjMyMi1mN2E4N2YyNjBhZmRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC41MBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBAFkOwk9j +UGZkkklETAaK5r9+tV756ze1iGuIxtxTbZfhDuOEuQqyx9MasGgz24Bl3Aw1EC+F +pXZhx2i9yQ2/+87ESub+CWmmMdf9h80WoInev6z+H56N600oaLi/WB+GlV5sSXfP +RgjFGZ1P9vP9whH1/8462O9w07WMXOVDGHh01Xbv3ynIPvVBKEOvauHz+nv98swy +8M9s8h/hfxyqPXovsstyFdl0Fs00Qf1viK8O7m99yltkVDOEWUGs15n3ydUGugJl +lBuB4zQ1OxOcCVaBLVGurt8H1E78KAv41Krk6DS2w0w0uu/CSEGXVTn+K9iAvLr3 +6AjS5/Lw2aIY7Cx74MWeZjLfT3rkYgMaWRg6DEJgSL7A8HB8ciZhkWzJ9q2uPa9y +vIWelLq1oYwBc2d9kmflEOZslSef0HMzMw3uP7rc91dqRdJ1TPhrh19IeVjB66k6 +jKsUQbH2riRnMc8CSXhxXJk0PfmF2htajz/n4YFQQWm9yskag2qHBaEe6clRMdK+ +nZSwzMfl7QYRIRt+Gxu5BCl0t9Via3485DYJuRm8ubYQA+u6rjPSLLKrCbc8izGH +GJQN5bo0WwZQ/mogYRk5yvPYHKFS1EZXX6OBa7qnuWvHdiJ1A2JpFMJdst8OJHmg +PYtwGQ+vtU9iLuJKVcLa1Uiqk9/ItbzUR7Sz +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.5/433.pem b/repos/system_upgrade/common/files/prod-certs/8.5/433.pem new file mode 100644 index 0000000..a14ea55 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.5/433.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGOjCCBCKgAwIBAgIJALDxRLt/tU6RMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDQyODA4NDIyNFoXDTQxMDQy +MzA4NDIyNFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs3MTM5OGVi +Mi0wYjk0LTQ0ODEtODFmOS1jZTBhNjNjNDdkMjFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBwzCBwDAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOC41IEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MDsG +DCsGAQQBkggJAYMxBAQrDClyaGVsLTgscmhlbC04LWJldGEtczM5MHgscmhlbC04 +LWh0Yi1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEAIswH8+6Kr1xSyOz1GxZ3BuAD +R/UZNE+/nXi7ujqPSR/SG5OWgiae+V3++2SpkQA4P7JwpQbfXYyxFrmmdqTE8PZ0 +6pRfvzFt3FLQySGmTrkK2sShuz9rRGONVNG9wbss4J7edcIPc9VjEWf8rTTHHLrv +QglnLujMSgeA6DUr4mIRsfk1GfagL8if6MjyZ+3YbZ/wvcws4mnrsD2PP7+XY+RC +3S1BJaSmVHooLcBo4B0+2LOXma3MeE6rmDCatEfccxiBOyGzz3vTjm8aFQhtpQ5w +ufOrerpq6vJpqtznCLMx9jAkaxczvCVnzWgpiJ+mTZWk4spbfvl5EThKyEsGdctK +sIhGaUKRKlZqU1Xmi3ugQz65UQxTE1tWbag0aP7gfS08UJWXJPbBIJEk9Mk0V1dK +Q5hQhIBeKPXpSBYWI7M/wSh2lBT6ojxn+dh8Wu1ZfXsLdP978sUSHkE8Dh+sNMJK +wH/oICKrEnN7BVUt561p2Zv2VKWksxgtgVDMlFd+YefZNrniOTyNiCk/cT0gRrnJ +g0WIcbX1clHBMJ6oqNKi2SuymAkJLrkKqykm6ThT4yUWSLRbM1l0ZpYKHjjSrjxP +AW3KNBi3CmQk7u6U+D/jX9ByivYn2ON2LEfpumOEWUAkWqJ6jYdVKpWMiDWb/sSH +fGW5Y3IBgbDzTYcT4Js= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.5/479.pem b/repos/system_upgrade/common/files/prod-certs/8.5/479.pem new file mode 100644 index 0000000..f685fed --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.5/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU58MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDQyODA3MTU0NloXDTQxMDQy +MzA3MTU0NlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtlODIyOTZl +NC0yYmZjLTRkMzktOWE1Yi0yZWNkNzY2MzZmZTNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC41MBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQCOSieNofe9 +xj4MIf2VjduIlSDksTabl5PIx0ZcdQepxKNhQol9gL/fI0Chok6W/GPp7OB0k2rX +hE7FZYNFsdRoc/6o/XmhrmckCxXDVg4I7KYPmoNkd3yW+Iz27n4I/EvPpkqZ8QpL +tOdkXLew8N0f5S5GsPKb9PjGQWfc88vWHnDITRg4UzW2ne/Ipx9zj+G0p1TTqKUt +L3YEXto2pyyqQwm+x0P4+JbpTtG/6sow1WOahq+VSXZAvdJ61WxRaTpUj3InOb7O +PrgPWUI/fOvIPLoXIYZJOfmkjp1GLLggxgr3J+WtKtPUESZXK+8PJJrzgp3MqeFU +PNpMgL6EXI67mweNshnxzS4sw9h5U9BJMk0CtREgvQRy5aIDeTXL1+5bJdNCU+ud +xovttbk9IQ0TrWNu9DNZbpaSfo23CLW7l/fNi1ZUclm4IcNAJ/oK3s/UTViljdBu +MHEUblux4Q7NL5pqD3ert9ezzw+ThsvJC4avV9NVsPBs1qVHiNzzkx76xHVZeIW1 +38onR4YXMkcDSgImIXqw+3+ivOhctK73QIJLQwh1awF8hB/eAhKyBzkL0JskUg3o +rBcZGA5VnobyglPGXaeDPtd0nb9FJaIbxK1kbqQNsTZpaBPEngLfhwNkYnBsOtUe +qr6gS/OWkN2Qw1ExgAM5u7U6CIh4p/bxew== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.5/486.pem b/repos/system_upgrade/common/files/prod-certs/8.5/486.pem new file mode 100644 index 0000000..b81c306 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.5/486.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGNjCCBB6gAwIBAgIJALDxRLt/tU6SMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDQyODA4NDIzM1oXDTQxMDQy +MzA4NDIzM1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtkNTRhMzM2 +Mi01MTA0LTRiOTctOTJlZi02ZTc1YTk1NWNjNDVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvzCBvDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg4LjUgQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MD0GDCsGAQQB +kggJAYNmBAQtDCtyaGVsLTgscmhlbC04LWJldGEteDg2XzY0LHJoZWwtOC1odGIt +eDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQA99Is5yjC6lZZJ3+IXi2azx3UZFHFY +W9AIPWO7u8WkW8v6ImVy8p1LPlXu82kdg/AiVvZU6NilOvXcIikOKq6ckdletIdr +JuOSvo6dGCmXc+7WCIShVsknzhShh5q3SSGjhEdV7WpKN0pwZD+9yLNhaKnL4MuB +ONWz6k8OodBvgiTgBTtzrTtRR04mDMu//VO2Grp6eR1LptGiYIJpXcHtf4L/Jc6G +kWi8IjvSvnwgWy6padWSLFTmMLKP98d9uvXoy+LVvsoRV7Q24e3N7u9d29Emf2Sx +th0mq0Lwk4PwBUtN3NPe5nhkMEem9EYnOi10QKh278XTWJ6nM2356qZqxPuuBqrt +sQbWjpAAUPdGKxitK3bxkP3pSeNa8B+Ztg2+n83As0tV1Nh5dMUfkn60KpBtxOLA +Wnrh8XORKYc1H8jrJGUcXt3ZXRpKAGdsAUt2TtR3xx+VX3fi/9q4oWyQtzua4OP4 +SrDAZ6o9UNNACyVaNMQo4AInLmkiqZPMAjkPCuU2BssmQSFJyMP2M9unXdh/C1gA +73SznyIbqTQTqGoejvBmZqrZwMDjizlnS2ujYfcemNoeyZXiTp/APqHsT75w0jam +Qf1ggNzIcpkAixk5waoNRvvKShiQUB1NWT9fXGTu8RjmQFRItnwELB1rTKKAogTo +EkdSlT1m+81RYw== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.5/72.pem b/repos/system_upgrade/common/files/prod-certs/8.5/72.pem new file mode 100644 index 0000000..597ccf3 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.5/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU57MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDQyODA3MTUzM1oXDTQxMDQy +MzA3MTUzM1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiY2ZjMjc1 +ZS1mYTY4LTQzZmYtYTc5Ni1lYTBlZDMyYzYxNDldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjUwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEAYbkHrAsu +WaXDMhKsAfmDnLTBVsKfB/6D4srVrglhaFQMbP2HCWTfE3doymZHswP8La9V12Uq +vaaIRHPFadlv/U1AzuyyAKvzwga+tuOkDkVFVXIoN5nfBFaIlLDQi85mCYab3EQz +PTAp29oGtNNYWVd4CYcLWveLLrrh+xYfypyQ9oj0fD/52z+nVXgDqIYx7JjDo6/G +mJHKgwDMddi6RAoJo4UpApjiguBBUwefQtjuhzcUpgjnLjdHhch5I28zo8TLz5gF +x8Ab22yJbE17VRYhQnEXTJIebnUJaPm5zxJD3Mxss9EY6JrwrelN1DcxxOXpxpzp +vTkwNLlqq1UBS7om0zI1jkipWF2lamswHwNzd9pRwuhZ6b1j8Z/pttzwaW+rFds2 +Ko7muEzEeymIgl0jez/3zglPImdxuR208ih3Ao5g0TlNA5mPGStNgrtgbaEgcqc8 +ei4LW7KCphoeeJBzZOz5uzcUh5QHRgLX/zz+e5ADn5ntdxToSqqoROrC+jgZlDx3 +XGFXGVzNXSkgzfs7IoaDuC4WVvll1N8ZpNdRaF9aKD5sTHv6Gb23Toy+x43mMVPl +DqYrBsNctgc00qYB374CEOmNVyTu0iu/wWvB29/YbNsa+ngbvcuKgLzNsfQ52le9 +7SmQ0+whUcpkBVBc4WchZu+Gq3YtuctqP/E= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.6/279.pem b/repos/system_upgrade/common/files/prod-certs/8.6/279.pem new file mode 100644 index 0000000..13eb810 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.6/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU6TMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcxMzEyMDE0OVoXDTQxMDcw +ODEyMDE0OVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsyNzFhY2Rk +YS00MmQyLTQ5ZmYtYmZmZC1iZjRkMmZmMmJlOTldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjYwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEAdZXH85qhXuYPeh45wL9JJzTA70dx7qYiOIxOn2qgKqN2QV5wBkK/ +SEvdO0bdEvjteW9mhbiZfpq8EXRS0E3Jwu0Qg6++b+Db/F2pSktUFty8T5lxXj1s +ASRr2m/IpC7B16cfiHf6Yy29kt9wGmyPRigD3YxczdLsr8xh+yD6Plt0l420Q8iY +0BndN1VvrbUmZQtLHueENdjmKThECtiXE90kEHiPi0+CQ0M9xtGpxzGZBApPHiw5 +1BxP9Dv7zenAbgXjW4RXkVXuVYpZ7nVIbvV7VEPd14SxYmKuedDL/ohADFf+VVyn +JjQB6YcxVY09lnBxMJ6z3l/7msUfiwViVSFmJX28W5ZWihEvdTgjlPs54Mb5XO2w +sJqcHPipCE7bBuhXgx86PULsIvN0nK456kKNuW4h0Jnn/ZKE0y8mWIb1Uch8aFff +k5Q4sHRUGI/eWxeLgmXNNAy6aQ1+60UwiRpCYzRUg/7OAbwCo/y1LdBwl1k64hX2 +n6H+w//zER6oklNOVeLjAE37ndqnkOQ1FB6WHLqBZ+adia4o1TQPQcNpTb+wxwd6 +i77ytEV+PrAUXlx3QUEc9gADGcenpnhNJvvV0ONf2wpQC6zfpqr6bvHcl473o2ah +7ek5SUgs3HmSpGt0UAe8jKGCvAE/Z4+nQIfP4JaoHAzqayCzyA/l4yk= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.6/362.pem b/repos/system_upgrade/common/files/prod-certs/8.6/362.pem new file mode 100644 index 0000000..1f67bf7 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.6/362.pem @@ -0,0 +1,37 @@ +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIJALDxRLt/tU6pMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcxMzEyMTAwMVoXDTQxMDcw +ODEyMTAwMVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs5MmFiYzRl +OC05Njk0LTQwZGEtYWM3Yi0zM2YwZmJkYjI3MTZdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvTCBujAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDguNiBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMCwGDCsGAQQBkggJAYJqBAQcDBpyaGVsLTgscmhlbC04LWJldGEtcHBj +NjRsZTANBgkqhkiG9w0BAQsFAAOCAgEAt2pke1PUYNubfGqwRNa1rA3vuyhfR6NN +CpyAkOCCl12vb+oeepNWRkaI5gD+nbJVLXIOzO/GxO5przgNXCCwzjADn7DMsASH +4S7AAh3JpSoklmN9Mj772I4qVnZU+FA410za+ZgJMAFXaLXl1LLsIkU/Ss5VNOQ9 +nPQj9CcYwoyOiL9I7tFjohejVHNGOB0JN/TDuE+KYj6g7wa7lxUMWsZYc8sDlFNi +zDeHd/G3LOuHaZ8cP2Ljd0SJZ8bPHt8kHXgeGzc9O+jH9N7/U33h1Rb4kyPZ8cwp +O5ZgRIz2NdK0LerVqjho7iN8QE1hyaZMptjQ9GyH3E5CRKXmJVn1yHhgih9GEHzF +uv7134fJOuQ4R0XYhbBXVQq7g8TCb6ThTrow1XLCF54Rw5XC34f3oX36PpiJ+/Ka +b5tUmr7yJwB/AXdxTgUEPS6w+Gk1BRvV3HvXMPe+V496e4jI5P24TtsHFfEcHaCk +vYy9lfRo6se8TZbMdnBOjZ5axeJ8SJsmCc4+4elnUZoHTIdPs5dW3BDRLt7H/2sG +dcwtETpBJGd/vJwqgDfrkuK9aGraEK0nBhH7dYipF1+bPKiVn4c0iQq5Hbt0Gpv3 +Z81qWbc1fdGGyizGGp+Hw809RdXMeyGLUz1G92GgaMc4MEwj32oO6QFX87uYfLvw +TQLhrn1laV4= +-----END CERTIFICATE----- + diff --git a/repos/system_upgrade/common/files/prod-certs/8.6/363.pem b/repos/system_upgrade/common/files/prod-certs/8.6/363.pem new file mode 100644 index 0000000..93508ab --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.6/363.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGJjCCBA6gAwIBAgIJALDxRLt/tU6oMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcxMzEyMDk0NloXDTQxMDcw +ODEyMDk0NlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtmMTA3NWJm +Mi1jOTdiLTQ1ODItOWNjYS1lZTM3MzAwYWEzYjZdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrzCBrDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg4LjYgQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDAsBgwrBgEE +AZIICQGCawQEHAwacmhlbC04LHJoZWwtOC1iZXRhLWFhcmNoNjQwDQYJKoZIhvcN +AQELBQADggIBAKeL4vTakkt4DKime0/n+n6qQMlGPAM/uzhnfHCWIevl/QKk/mPc +oshXepV3yx902eMcF4BwhoyJk/PZ7UwFop1US5b3GsqFfih3JYTxg8kr0nt9SnLq +UKCObSXYtRNPN90KBbQQGumlAG1pXzXyyd/Zy4DGyUxRyQXyh1b2n57JV4V6GLGP +yDxsZ9UpA7e6SlEBShZ7Hb0umkOX3Yiw1vnXFyhdy73hHWk9qJ891mAEckSD6yC+ +RflPYLa2A7DjDIg3iDbHO2hrkvNhOZkKQjsPaSlaVTcGyb4nHe0RqU6Gpt/ryy63 +ZtN36jOkotFxLEsXpUkb2qVv0Mt/lhRhIgoBJui5+UXhbeLe3ZeS2KUg+2H6QZH3 +QGbqOioRPVaiqR+mYsp5SeCkD/ibzC59cntxLK4VcVwTF2754BvB8YgqNIqjXcEC +OFgrAhTz5F+nY8UXCumq21apKEagMw/XL1xOVZkUh0/IU+xNSIk/X/Zlh9z2GyVQ +EGmGo2ojp1Xwa+equ72LD99xS1c2squr06XGTWmC+s+pXCeDADr18xrZx56DE1zi +2gB9HZ/T1I26AlU6Sab2oGnYqbraPhqN4rRAmsqw35E1Y1vT9ANsNawEU9W+Q3Uv +xyKOnaUQn+8BEBCx4Sj0o0+b6n7e07FiWyDcvPocw032eEe5uasz8Z3M +-----END CERTIFICATE----- + diff --git a/repos/system_upgrade/common/files/prod-certs/8.6/419.pem b/repos/system_upgrade/common/files/prod-certs/8.6/419.pem new file mode 100644 index 0000000..dcf2ffa --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.6/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU6SMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcxMzEyMDEzNVoXDTQxMDcw +ODEyMDEzNVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4MDJjMmVi +OS00Mjc1LTQ4MTUtOWQxYy03MDE4ZGY2OTYyNWFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC42MBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBAAh/zZTm +JS5cHqkIKD5wGceM73WWnPk20ZHz/fqQb8g/TQjinZjYZ0bVOg5FH9khpVR5yRr+ +rC4RJ6MHvt8rrCov4dmrRztiseoAo/v76j9YRCKjTXcbuTzDq8zpxCCDIA9vVgsk +axWy7Z2+uX4DIMfEcFdSP9q4+41DcCInFPnSSbexlyWLn1/awJ8SIoRvJuLEDH7q +BS6QZfjpIJ1aRh51sb/Ijl3jrmpVXyEIzrrFYrqezVt0eSpBkFlTIGD86vzxyGl1 +sye3sn0KaDe61mKe2kcq9kFUTjjZ76PTy0cLkmAbpME7OTLuDXLr+/8tpuxn8sdR +CzZ3ztMifcgx8GwX2tEElAh86Y1IdeLy/KmVMP64819RfNqQKzz5TsEaeLklMnrj +nqEIbZtw7XT4hnoxwR9sSVvUxixAZQ6czBjxjLCShHGdyvIubUhh5Vhj0ftkWq+e +QxKDc2vd/I4ImXFaH/QvsgygnUImuPWMQfPQswn1+2WjsNxwjGOehyrEeu4w966j +xPWgPVOIHbPwePT+92qFSkufiyhlYyLN4g2qsjXFLg0StFinsR5W7b7tQoOeXS6W +XS8CLk7GD5iHy0pYzzhej9M0DIK/YjbJrrkvWlCJgQzn1KgoQ1v7en6gDakaskP6 +7OGB6ZGal/tZIEklBbIGPsk3jLWDonZ/al/s +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.6/433.pem b/repos/system_upgrade/common/files/prod-certs/8.6/433.pem new file mode 100644 index 0000000..84fa572 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.6/433.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGKTCCBBGgAwIBAgIJALDxRLt/tU6qMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcxMzEyMTAxOFoXDTQxMDcw +ODEyMTAxOFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsyYzViZjUz +My1iNzM4LTQxOWEtOTM1Mi05YzdlNGNlOWJlZmVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBsjCBrzAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOC42IEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MCoG +DCsGAQQBkggJAYMxBAQaDBhyaGVsLTgscmhlbC04LWJldGEtczM5MHgwDQYJKoZI +hvcNAQELBQADggIBAKKUKi95JvljFm0/8/V7f/I6ZvrMX+qK+3KX3/hSe6FIXgcS +MHMJm7UUepRPK0wNOQ1HHg4CmKSOrCL22tt47FU6Nn1/wBxpIIhB3zwiPceUMWe7 +YxrvNk6VzfRtMJKtxoKng+Bpe1CbxDrA/n8iXZ/Du8iuLmBFhbLsw9kqHfM7sG04 +WpGSf0/Ic4MmtqMQGXdSRR22+NHobDjTK72KkTymjWc6wgEyR8CSQviC3Li6H12m +HhHXIk9KP5WZGanVZZfGxW7QOAPL9KBRZehBthlS49712qBxL6MPRELoFsTCjXtp +5lLFISpIhN7vjC0qYEs7/yIr0Nht5IuTERj/llIbZGOAMhLLxXWlCMt3Fv5JmfSP +DulGMjW6qDk5m63ooahjutTsllgaZWFocaLS9W5+PaMpj6SSYESG8WnEJEqSIthx +QmgNMCvo5sWNDtwUjSt/u0wj8PfKyTFjveGQfs/feuIhXeoTfxmkvlCbEkBXxHXv +Dj1KyqGr2QUMwyNXkbEDx3BcWKUAKPUYf07j83eaY6xkqnPvJ3gH6uIVDjEgBVDF +6h4xms7zJR6DLkVyehEC6fuMEMYtjyZREBzeEMsveR7YjaUemt3vntlGb/dcGDZM +7oxHfHYOil3R63J+podAj+e1YP8cZouocx69DajCRDqQwfGpZ5dWiYx8OjXG +-----END CERTIFICATE----- + diff --git a/repos/system_upgrade/common/files/prod-certs/8.6/479.pem b/repos/system_upgrade/common/files/prod-certs/8.6/479.pem new file mode 100644 index 0000000..57fee14 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.6/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU6VMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcxMzEyMDIyOVoXDTQxMDcw +ODEyMDIyOVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs3MGRhYjI1 +Ny1hNjc2LTRlN2EtOThlMS0zNTZiMTBlNzE5MGFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC42MBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQC9eEyRseQO +xxmIXl5savq74WIOiFFCtsfhfyApxu++KjyBtxeH0I7Rilhq6u3XrjX3QpjAdFna +b2NdfmxFzTjk+8WPnvUGaXDq9pNUqu0uj3R2m1vKb/RMepGC55jLTJbmJTPrX44H +KAYdtwdblp+Uck4oaMEhkMVi74ZNUQ6+S+jqkVL/8mk7vskZG6iJlAVwrQPeOJG6 +Id0uJE4iIwsXz7rI35y9KO0oW2foNSYwu4NOCi7bxFezBXz4aRPdR/enKauR9wpR +l90LTmEhhvMYOM9r/yz7AZjYbkqWmOhBWIFV37dA2YldyyCY+aRyaLBrelXQVAgb +LQZK45069rdcipMttlLrDoe7CVRvSKh6Bqhyq9gKLh3MHCX6p59s0QVpAemrdX26 +wcZkX2KxXf2QzRG0c5iS+MjGpQeEoWxW2Rd6rqGYDMOkVgF2z/Xih7+541KbU7oR +D7iGS6b7ie9x+eIQNTIapsuNJXPswJY1xQZepcRGYQfCRiVj1wWdGyZuGb8/ZfNW +HLdgRZbncwS+OudGBkg9zMGgwbQYa0zm4W+Nw8OUlnRklZluWFHP9Ba8p2lc5+3s +g2ETB2L2D6PrelG7mRcR9yPFchAZLnTDkSs/sN8nvGFjuCfPyHYMKvbtYWThu+u0 +I0MPwn0kHlfXQ155BiuNuLOXpC1eWfSwMA== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.6/486.pem b/repos/system_upgrade/common/files/prod-certs/8.6/486.pem new file mode 100644 index 0000000..fa71512 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.6/486.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGJDCCBAygAwIBAgIJALDxRLt/tU6rMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcxMzEyMTAzMloXDTQxMDcw +ODEyMTAzMlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiY2E0NjA5 +My01ZjJiLTQ4YWEtOWU0NC1lOGZjNzUzMTQzNTBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrTCBqjAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg4LjYgQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MCsGDCsGAQQB +kggJAYNmBAQbDBlyaGVsLTgscmhlbC04LWJldGEteDg2XzY0MA0GCSqGSIb3DQEB +CwUAA4ICAQDLSmxDAhRYglEaZOKbrYiEVlmii0kD0yTuA0dBp6/c4u0NMcrFMgqN +Q/i49AYea9hsg5Pv2KK04ZSdCPVoanyLUZTwMtJs0CTLmDlzvYxv06Y8/x9Z+7fW +6fBfhkHp4tsdQN2fCGPKFgXUU+Xd1fnjVJF3oJ4k+zR8JJeNiAAYuMSuWM9x8pxT ++kH9lgBRK9hNrCuhp9HMON63pkh62rgUhlcgvlT/dqPE66dAX9IfoJN1OH6DQBQ9 +NgeZF7LSlM1DXZysdXa+Mj0BRcEmtpa/otQ7YkebU57kNtcTr20M2UpGBY+0Qtul +86NwtmwaxdoKXLVrlvySwBycvOPlvsEx4naxrep/0tS/j3CBitl5RPlK46vv0z26 +oM2OXOLFUrkKAsz5ydeiMJoNeY2/8bLQnz4beQUJaTYA0Sd0EYE0gOc2Bwe9l2a+ +XchVfxKiUxg4qvvk+znn6BDkjmFD45eR14WXrTuosAksYIB92o7da13CVGc2MeDW +ZmYck5mySioCcBWyEDQkLVVi4yx0MwS1ZsDPFIaYbsydtk4a9RhoWFeD7Y3kunb1 +ea+MU2NB3xdkJln5xxUR1zNsZNoh/yP6S8X0OIPpu1UE1yMA2I5+cmBm5Z2yUq+U +KVQgtuzu8BDXkUg8Tq+eWrtpLpcF6u/P5ipeuWxQaCytMDYJEfZvrA== +-----END CERTIFICATE----- + diff --git a/repos/system_upgrade/common/files/prod-certs/8.6/72.pem b/repos/system_upgrade/common/files/prod-certs/8.6/72.pem new file mode 100644 index 0000000..a013faa --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.6/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU6UMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcxMzEyMDIxMloXDTQxMDcw +ODEyMDIxMlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFthNmI5ZjRl +MC1kMWIxLTRjNjgtYTkwNS0yN2UyOGRkOWIyY2JdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjYwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEAQ0iWfDWc +ZIScxTmtLR8BAzeXdc+BocnRvt2rQHHtJD2m7/k83T9dHOSbrbee4nrhjCw3nyiz +i5n5agJ2bEbgP/+3jOvKrMi/U+i51po6c9ciVgaydd0b40binfJLZnhQfSFFo6Uy +egRjI8jq4/tc/8Gtz/bGMKCimss4xTLmfHZ0RlJFC7OKyb7B7jqSZycpE3U0+iBK +EfkDkTzfmhivBTzQ5/mrq0zep7kPKW/G879Co01R16g+bJacjC8kHmLHMZ4YKWkd +ExqYKyMF93XIndNCp9V5o1yYyGQxJWSke4J57JoFSuMAV61bl3iN8h707sKoPpWw ++AA12KFMuS/cYzp2pBC05KNhSUqom6vmQ2baCoX/v3YYGLNif+nYQoYQM+grO+cs +fMXGVKpCIzh90pd6jK8xVURRjHMvVIjZ0SwZZ/L+2VABxkQFoT9+zgduY877QZ6U +/fM3ePGfQnZ4YA+4NIuJUs+TKHpsOQY/lDgnXL+M9V73cKD4uP4NWlbhgiZd+4CM +AiznTsrLHt314lKFZhG0DbllO7jAK3/kGPeKsFuYHsa1Ya0TlK68+nLpM6+kVeHN +WL5yBi1tn1eW7x1Ns6GszgYEEdzDD6WjUdiWnNseiUQxZylFQpD1zcXBcKdyEzET +0CRrnDbl5XhC+T0B78YOVEuxYpd6fxDm0pE= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.7/279.pem b/repos/system_upgrade/common/files/prod-certs/8.7/279.pem new file mode 100644 index 0000000..c4ce4d7 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.7/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU7bMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDExMDEwMDI0NVoXDTQyMDEw +NTEwMDI0NVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs2ZmYyMjVj +ZC02YjgwLTRlMzEtODNkOC02ZTM4MzY5MmU4OGNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjcwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEAYvHRG1AeXwUHoGeqzzMz9Oo5a/YlWAsc5JIj72Hjggrs1dpvjO1r +cs2aMNSYjki6QYLrSrJRbhhVT56JtpBSoBtVeh6SncLLzqe9jJsuFRDTPi99vtFL +9Bo6BqEUgrO9jKEnUmd6Gdntj74CfCJ/QxqgJ/q6uKVKR5YjjfHa8eNcshq12mr7 +kvjQctWkbUYDkQAwtM7jw62DuOdkHUdvXRr2Uexs98XN41gNrIzMg0yNQpf/rKq5 +w2oqDr45nNrHkmWtEAAqCQ+gDrZBALpbtrd4CDx/65zj3+ABp8oIZP/hMxV9xf86 ++npHiCtHj6hIXy4zwFMIKCna7w29OZUcTjOZ94dHe7IjO6HLuPdJvnJBgS4mba+C +zylck/qLyuhT+tO9rb1WhI29oq8elIVpjte1mGqtcaLnLTEBwZ4n8jhIk0Q705UX +DUhFV+xiD+asQmdeAWO+xzUXYVrJE2tiYfPtY+apLZlW2W6vTvfGhsI28kl7INC4 +umMiNnRB32bMiIr0wH/zqaqpUUXWlj8zitX2ZUEAaHBhKCpr+etO9oATu/RKz6Io +OsHXLkBn6l7G3/nPXp3LVJU4D7UgSzY112GFjMibRIHX0L+d7OeP5vxevWaXMnEV +OnVCsQNu6/haEvADf9IYkPFtS19RCKxkGsGsWrMXeyxF/4CqffjabVA= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.7/362.pem b/repos/system_upgrade/common/files/prod-certs/8.7/362.pem new file mode 100644 index 0000000..322c85c --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.7/362.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIJALDxRLt/tU7xMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDExMDEwMDgwNFoXDTQyMDEw +NTEwMDgwNFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFswYjFjZDBm +My0xMzEwLTQ0ZGItYTNmNS1jNzY4OWE4ZTQyMTBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvTCBujAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDguNyBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMCwGDCsGAQQBkggJAYJqBAQcDBpyaGVsLTgscmhlbC04LWJldGEtcHBj +NjRsZTANBgkqhkiG9w0BAQsFAAOCAgEAnf5WpzbOMFMIAh05C6hjWdEdF24jdSCZ +z9tdf1VXgYwjVENO3rQqPSSFNOJi7VcCbWZ9IZQKJI+Zb06hdSn1IIVNabWs8jZT +R+oAjjPmIulnqlnTh17JlF3cecty+GnbjitAW/AeYlql3Y1Lzy+GaAS2kERvCcCA +yFfc7h0odQDtIyhSCB2MewDX5pVnY8e4SybIvjTSMUOzPKdUs4o0IifqoL/MvvB6 +3tLt9ezkqoIUWGF/LbEpuvrAa7cx5Fh2JnNQGdsI8071Y8YyL0kjUMtoNf5NBI3l +1gaFT5U2AzgnoRSlWGF/qCS3NuNZi2j6cvrUEWABrTAQlVi91Oqxhoib+KDFCZkj +73Xuyg+wFRUiOF+WL0/Jhe3spbynXtHb8PC4E2rRXUioCUZwkqgSo13b/xgcJDML +FRaUwARNZWfjmc+4Xxt7shzqFheshaHG7WPq8kxE6en4/yoO0imIk03ESSJSx2lB +CWUHZpFTmIZyjYgXjoeHW0FEeS8E8sQGfoT320McEUN5FS5NX/vYgmFQUOGqniPC +oiy07G/zdcBPTzxgcAU2CoFfXXYbEebcH14k3YbAeEOva38c+rBUa8siIozrYGyf +cFXfbyURcRw33M322KfvLesxUhfVaTNMapVR8AbdBYmQXwLZHBmL9dC+CY7kg3W9 +AcQ+oHoM+eE= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.7/363.pem b/repos/system_upgrade/common/files/prod-certs/8.7/363.pem new file mode 100644 index 0000000..24c23cf --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.7/363.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJjCCBA6gAwIBAgIJALDxRLt/tU7wMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDExMDEwMDgwMFoXDTQyMDEw +NTEwMDgwMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFswOTVkNzhj +OS03NTM0LTQ1YWItOGE0NC04NzA0OWZiOWJiNGJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrzCBrDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg4LjcgQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDAsBgwrBgEE +AZIICQGCawQEHAwacmhlbC04LHJoZWwtOC1iZXRhLWFhcmNoNjQwDQYJKoZIhvcN +AQELBQADggIBAB8682pIKA5WtH83Hb8qNnT2URChEilvPcrFpSlJqtc8BWmcUpMq +MRB4z3biDaWoXpHMT5FeipOuEtOLANrEcjhbd1tQqgHvlDmkbxD9fT4/aSuABikB +14oF7o57Ys4s3NqQZ4Dl5DH4LcP9Z3WCBBcqH4SNVbeAT49QdxwI9E3Z4+HgvOgQ +LtKqiwzOyUsYPUpPXOOOEzCbRAnaWeGX/fIH6PTusM2T/SRScHrsKDidrrobrUVq +Rnim68FZ1bAxv7g6RHDi0S447CX4Gzy0tRFJTKdivUk9cF32AH7Q1v3cEiaImGYS +VaznFmOdRg/gU9mV/QPy+N1hhNYf888oDprF2OPzc2tdmbBOUdZdkA5J3CXHZ+f9 +Q5WuLsZEBeuetwk9LQA+v0gPYCXJfZAsvhdM0mQpUDW9gp2ucnu45Wm8iDmA59zM +/uhJLRv2z9UtqEySt6OYJEd0linv0RvEwKwBPCZA3L8FKvosuIwcV+x4XTHb9f0E +kwqRFboioJaER/K5oX0kkCaVlD/8xpuS3Qc8pN3FXD3ZiK3u2plLZh+7LWd6id+E +VMIUej+kPAfwiXf8MDR/GZZJeIHI27C84thoq6C0AcseaO5LTUSLMaqGSSvU5yoV +8TJr9HIJw9bFmHroWKPdtLGFCCYO7GhC25+jZn+dUYOCRCsRCaE/J4d0 +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.7/419.pem b/repos/system_upgrade/common/files/prod-certs/8.7/419.pem new file mode 100644 index 0000000..8831538 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.7/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU7aMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDExMDEwMDI0MFoXDTQyMDEw +NTEwMDI0MFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs3NDJjODll +NC0zZjM2LTQ4NTgtOTkxMy04ZTc5OTYxM2Q5NzldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC43MBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBANZE6GPc +I1/WYEDtvEMts3mLO6+NtKzd8Bt3nmMZEYorN3mZ0WjpbNuBcVlbQX87eoMLA9g2 +P54gkuPzpY+ea1ZKYJ7zzG6AnKXNprL1RrHNkdEs79r3AM1t/m1CdlZwsSfRlGdX +hDZR8Gy5tgX9Q75jMK/JuXuQFJiOpLIK2yeD6/9geGWv1NXbV/gkE7U+K8LwvQRa +gR0FLzJpJlzFIbJXutldvwDm22zgECfzvfoSCFw5E7Sk+5lprVdlDMfW1t9Bj5lF +FBDYJBT4iAXVcyRj5QBBMG1xcUxh7XEM3XiD9/2albaeTMkiIip7OCsOdPi9uPcs +wvjgJ6+Uxd33sLnfl/hywrrKc8gZGX+IhkeNph3GMq0CwijLT6/0jA/dbYyusGDO +OdEilyP4YIe5nltwO8rgW4AytIrX9xKfF56qjdudUNbrzLrbKF8+URwdjQBSJOdh +q4NS9gRnaCnn6FlrpYW4aUJAjcWfugUj8dpKBIdOCZo55G3AqAAl7lv2MwibGwuw +XX8wE5EVnr3Wq3UIiqNoGU/Gkz4sdoTXGPSMQQPWYPhJ/nUtC943d/MDZkZ1HF6L +CwsmLK9fTstiRdm5DF6q7nAUxgXz0dslLln1WYHXi4k/x5gIZmLbLBwqfsbMg53d +jlJwRkvUou7uq1C4Cc0oH7es4chgkyShYNyR +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.7/433.pem b/repos/system_upgrade/common/files/prod-certs/8.7/433.pem new file mode 100644 index 0000000..bed65e1 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.7/433.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGKTCCBBGgAwIBAgIJALDxRLt/tU7yMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDExMDEwMDgwOFoXDTQyMDEw +NTEwMDgwOFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiYjg0YzZl +MS03NGE3LTRjOTMtYjViNC01MDYzMzQxN2UxMjNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBsjCBrzAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOC43IEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MCoG +DCsGAQQBkggJAYMxBAQaDBhyaGVsLTgscmhlbC04LWJldGEtczM5MHgwDQYJKoZI +hvcNAQELBQADggIBAFHSGH0JiAad8JnEJQxH7JklzxaTxLFlueLc2Q8P1wV2g+ib +XsdmP+fq9YR56UN/3rYip6MTEwp2tTCZy9FRraLTunscYB19LwBmiYirDBNyyJms +hCOzIN6itJrfjD7WOJ9DgEDstnEJrTW76a1TV92etWNvW3bwkktKnfHlbv2tgRSj +44zIWaF5J9P9R4oOD27ArmR0/AK13194U8iRwJi8Tw/z90QznSYj4QGJZyBm9a/d +alEktaNkdjNYcGczlepOwZ7pHkDyMihBUVBXLBK68j2d6OdZf9qptM5oouaIKMOp +DBCjecfQ11q3avAjvGPAOoIuAzVlRZE1pDP2VtFPoCohWytP4QMSfvFWgFx2zWjR +Gc0LEAHkP9iLnkqvSZfAYXdsaZ564Y1H6zv3PbQPSC540edRbWSufSa46LeR0U6+ +zavOtchYFwZaeTZc4rzxDffMJQhv27C+QOnSth/YR2r9Yg+QfRwfmwR+zPBbbfUP +t8dL/Es7vi3mMjmshcSvRpka1b8kMemm+xIV7zQPfpcPXGy1+SzC0jbYApE608WG +kjqttn6qWADc3kpAFGKXf2nozwDhqKXLLVCKPcTRds+IB36wKeH6eTgS/tv6df7x +U2CVpb5fgHz4TgZaGJPTRkzDRtRnuct6LJ/bokKrGw+9+v4WZvRrWQ4dncS+ +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.7/479.pem b/repos/system_upgrade/common/files/prod-certs/8.7/479.pem new file mode 100644 index 0000000..c79cdb7 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.7/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU7dMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDExMDEwMDI1M1oXDTQyMDEw +NTEwMDI1M1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsxN2ZmNWVj +YS1kM2YyLTQ1NGYtYjliZi01MThiYmM1MDk0NzhdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC43MBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQBvy4DLCvm7 +gH40xQ+oGqaQ49X5dshAyIVhQ8cUhnas283F/qWDOLcPgv4qMDV0uk1GNJ89aIkj +jDgxCXozgKZmo1AAFuWKtSrKcj0q+mV5iKKBqcc6vV6ud0WoKWNACLeDR+GkZAH8 +WcpU/077Sv7o5Km09p2kzHDwuDbeucibrirMJ13hYqvWePnp/G149mYlplnVJnsH +DMtVOO+NG1Z0hRXGFsq63FUBiDgeRFKNc+7lL3GAlTO47RQDkQ05BFh8Guce4LMv +xnGrY+X0vEUyYPbOxNH6qdys6NrEg8ZxEj0iPJCqyaWFpum1/9f32CHPJ9i2+5Qm +Sg7CRHiF6iK86DcanaIwrvuqyy+HI3G1N84SnbJilQHwiJSAyNh/7pctroHgQK0b +K2O89xHJpG2/s0IO9/GlT1ERtBBYDNYXalkuuqaEbbBpBHTcmBmeIBg+njg9VXAv +MsOtQad8BFl7g+iXO6xEajgt+DpfKPthtwP5vpse00EhYpoRAmCErfvxOlrRriZe +5NBFi+VBuGTIboiu31LBHfDeTEjFNvRhoqiEY0DQgMBIXNCimfaK/BwuA/HwgL3b +mVzOoRYeTLfRr+hovdQFrwVJLMAITS1PQReJ4OTfhG3P6ybk8eDIuK9PxV1KPCGr +MdOPQcr4cqixZyH0ZM/961cOjvKuabHA6Q== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.7/486.pem b/repos/system_upgrade/common/files/prod-certs/8.7/486.pem new file mode 100644 index 0000000..fbd26bf --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.7/486.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJDCCBAygAwIBAgIJALDxRLt/tU7zMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDExMDEwMDgxM1oXDTQyMDEw +NTEwMDgxM1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsyOWY3NGM1 +MC04NzE0LTQyNWYtODg2YS03YjgwYzFkZDJmN2VdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrTCBqjAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg4LjcgQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MCsGDCsGAQQB +kggJAYNmBAQbDBlyaGVsLTgscmhlbC04LWJldGEteDg2XzY0MA0GCSqGSIb3DQEB +CwUAA4ICAQCqoYGO8Ic681iebYurHHMm4ZszBfsG3dPqXvkYCLGIKs8y3eYWHMGt +8PG6HdLiFuM0klz3WSfbRDFmQ2Lna4HmJSo+kzHkF27eu/4zU6h+CzHN4hI392KK +TXcsUoAacyXyhcIHg9lZeHNDWitMyYuoJjHURnicCf3GSWvsemmyRSpZiDDMPORp +RA7OSlfn9jH8vANX4TStbjn2Ptqd/9oowaZVeFQarpNnJjw6+5eCtm8Yp4krEa7X +u4smSyQWO9U9/i3ITCIln1fAadrLUEg8T9hR2AptAa6QjlIE4PHy+O7BLyfNSM2k +qVtg+ws1k7io+yz7bJzVt5MtTEmTWviy96aT8DEZm51fRkDoG0HNxtTc15bcfkw1 +NZQ7Dll1qvn/WTkgoJ32ZR0paI790zqThmouoVRflBC0dmIqjplSzhTOsoSIDeum +u613P77Xk2km0ll0Aw8BUG5oacoxFGY0C252Y0QMhpI8PSn9d/FUBdLD0SwG0gyd +1j2O2rwXpoVBYTqJafy6zINGjMMYA3K1UoinL7YE8KdIv0CMewnoNILpCMdeou8g +DvCVdRMHxlnA8upL1CjjNJeSNMAEaZjWfzdDHSIETAWs4XxFM3flBSqmX2ecspmb +vTHBwfOYs0iuNCi+sbWCX2lb4XP1r/pvA/T1lH6k7J3ON9XOHOVWRw== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.7/72.pem b/repos/system_upgrade/common/files/prod-certs/8.7/72.pem new file mode 100644 index 0000000..63bb2f1 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.7/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU7cMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDExMDEwMDI0OVoXDTQyMDEw +NTEwMDI0OVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtkNTBkM2Vl +Zi1iMTI0LTRkNWItYmI1Mi05OTNkNTUzYjU3YTFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjcwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEAFrbUKzXJ +odKPWFSsCO29xwbI2udUSQNphjpumtFDgi/8fteWgb7iJtL4iGTVXjoTbS+lJkML +1d0a20v0GcMk7oULYTzzbgSaDZ/NQmkblo9nQ3tKVb8pBcJDRZJ6OnyG/nm/dH1p +TMXKWbLfGySlqyGyDe8F3nEQRRkJsbTkQdzC196/C8fjiTBcsS6KASQTOS9t7H8M +zLeisuCiozMk34Vf1bbgeLNJp33ZhAbKxTble2UfrA/9VYKe/vLP/i4sUY1VcYoF +ZEbqh3QFaTZ3mBNkENtmivKwxysWW5pa7GUbnfEO23+9flp+BLoElfMqHxmh8sdx +7UbvdOpWhzvO+i+By26HjRv4wtjY+Wsm8kHeGT0O+dEEB1vfsRWCwHUYhEfpdoxy +Ivo5/fi6cCETFhzeneJyOWrUsg1PnYIa6EZ7oBRrrOMpcSvgpM+MIQC/NYgwF5lh +TWQzrSta34HZdtuwqGQ5I6etjp45OyUOcE1ww4YEHYJCoQXyHdiFDpETWYoR9x6Q +FZ+JvLuzm61Kn3wT/H+kxFSfT8CmSc0nIGR6Fe4MEG5Ly9DH+PoDf3f7XDdIsFoX +OU81koyfPHejg7J89hzWQh596sc+pv67l/ThfjZxjuhI2RU4P0PzXtMc/5SnQQb5 +faCsMhoTZWRVvgumW77D0uk7k91BSVYKbkY= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.8/279.pem b/repos/system_upgrade/common/files/prod-certs/8.8/279.pem new file mode 100644 index 0000000..8ca3cea --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.8/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tVMfMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxMjA2NTM1MFoXDTQyMDcw +NzA2NTM1MFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtlYzg2NTc3 +MC01NGViLTQ5NjEtYmJjMC1iZWVhOWI2ZGYyNjZdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjgwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEARI585ue/LavAlcpIOCiwxmNv/djPG3XFU0bPoTym/gycwppJPh3Z +2wfXQMumgmp6C07yui1ybbVIzftwBMU46z+VGqYyFAvFGXLdYndQ0EJpyZkov5F+ +zd6XQlrzIrJu9G9k/bwWXld+7mIBgmWTPjv+TA4wlya9r6NSMW/xSxVm5Xm9SThy +rvwN8ElK2+BjmyEVByNWphoagNQnKg1hkWsajNGlTKM1x+w1of941uDdBaXbyKVE +JbYX5klal0DnqqYt8Fgj4vCDMJ635yhnwHgo5MginZZMQFZutHS8NjV2wMvYx1yY +oLhPo6fA572tTRAEGbZ8HnlU9FrBwP938fvFDHy3hQuRUjrE5qtE+sWnwnmVMgNB +oMUBy5hZN35VX/s0yQ25CXUqrVof1H2ZmLmRNX+c9Du/vZ2R4cjJpPu+9om4a848 +Dt4IKfaScsVISErkVvOYH7RCB0o/y3vzahou8fA3lL3Mu4D4Vlyv59Xajsnuwbu/ +5+3OYZ87h50NlbOLbV0668NztVzRppZ9aoZGVFyhcDdFc5y0uG2schWHSYOIJgJp +8L3M9PL0FgdyEHAZD2Jyu8l+lhc+oIc41JXjW0GZhCZ9Uvw7x3apurdHk9IU5Ord +9IugAJ1qN7veRstmb4rCVS8c/gxR24wCRGcDD3eIgvBwmgdFi09DLTA= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.8/362.pem b/repos/system_upgrade/common/files/prod-certs/8.8/362.pem new file mode 100644 index 0000000..502e9d1 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.8/362.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIJALDxRLt/tVM1MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxMjA2NTYyNFoXDTQyMDcw +NzA2NTYyNFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiOTdkODkx +NC1jNjJhLTRhNDAtOTFiZi1hZjdlNTM3MmVjOGVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvTCBujAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDguOCBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMCwGDCsGAQQBkggJAYJqBAQcDBpyaGVsLTgscmhlbC04LWJldGEtcHBj +NjRsZTANBgkqhkiG9w0BAQsFAAOCAgEAcQBzf0ndflW+503jCYyZS1enHucWjgIi +EqtX4s1mkLuLXyiR7LcSNq56jyRjztyab2ydA77/C/iWaDzXEEXqlO+rrHBfw4u+ +aJ3Pp0p8mYC+srWMO0wuVeRJeBkbDkXzoGmm/DkzMjGnTZB9/O0hkQ3+dnHLbf8I +IC9lWen7Rcn+pSp2v8jz7zpZ3qrfBb2Q62KuPL6xwCfw+CVrl+PuChjz373i12CH +9F7XG/RtVI1B+9qh4yLtTB13hPaAzIkGW3yTA+NOBoVexxZSka7ZfJFFXpmnI7Ot +4NGi3L6aTGYGRNsHaDX1JsVd4vXC4LFca7YeKBW2aIGjt5ZSThE1tfIgXCgEm7uS +UUB5lQiQ/9H67Vl8r4/LsUItdD9NmRdpTWT3NB8vbenqLL7QG91ra3uMR4vA9l0j +Ei7v0WGWjpeiQbbRjzMkRgQKmeW/3M41ShUW4MNg9sFObw6eZqMJnH1BV9N/1e1k +CpP6drmYE8qb8rVc66FIFS77JB6xmeLRK5Bq4yAtyA7PsM7r4RytgmVpVa4zoMEi +JSboaBN9IMawvA7m4B/+fQZAy86pD168eOTBoP8G4RswFSLZCeIohFgorG0VEmEx +CcJDxa9+ud/xFJfJQ9ILHJXYj8+SCO73LUQ1D0z9MPtKqDEk/7Rl+b6EziBzmDyO +xYae2xpfO4E= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.8/363.pem b/repos/system_upgrade/common/files/prod-certs/8.8/363.pem new file mode 100644 index 0000000..54e1470 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.8/363.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJjCCBA6gAwIBAgIJALDxRLt/tVM0MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxMjA2NTYxOVoXDTQyMDcw +NzA2NTYxOVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4NDk1OTc3 +Yi0yZDU1LTQwZDItOWZjOC0yOTI5ZjJlZWZiNDRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrzCBrDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg4LjggQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDAsBgwrBgEE +AZIICQGCawQEHAwacmhlbC04LHJoZWwtOC1iZXRhLWFhcmNoNjQwDQYJKoZIhvcN +AQELBQADggIBAMEjuJ3qX1Ggyt5axDU3Ub+YJy+JJoBPk/nxpoDWBmZLmGAhW5pa +sjP6xL/1CLcdWe4bFDbZDdtbXEPStZ0WraNmO0nQgUJFFx7RJ1hd5CUzCi8j3uGh +M9+YDrr4MbQJSO0Wc55m23E6V9Lug6cA/rCzBWzwxD1W1K7q26CAiWT5l0qBZJmI +VozYzqTk941GYipukb7vbScDFFafoNMyysEYQckRKRhhIZrr0z3p9ZdFgKFVvy4b +rYX4/W5MdsAetlzTBrsfxazSOYw/97mnPxDCIjEue2V1A1z5D5HlHotQcbq4OXff +3aHVbhsYbLbGUhULo/HfBxA1tFSJ9QpsEDu+yvP0032non7xEDB4IvypZ0ay2qK7 +ArrSFGAyUIVrdIopspPxRikPfc+DcmPflO9vePRTT95tK0O6iObFM9azNmphp2e9 +9Bzz1A2CjctjA7z4MIP6lPVGbWhD53qRbJs3bkMjqDDCUdE+vEnCuLdronlMlzQ1 +KVGvRgnKNrAI9ORY24bz/AsGTseZp9jN4IKKnj0ZSq+SjZih/eMP1lNFHjQda/9/ +gUoeAz3oAd1KQe011R81rS/HnL4QTRqkQiMeEahrx8q0xFwgk3wsk8voFGTBGyEO +qnVIkzgrzXSQvM3neGlnBVkLzYS2okgFtJzglqAvUUqqfj34J3d91TWF +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.8/419.pem b/repos/system_upgrade/common/files/prod-certs/8.8/419.pem new file mode 100644 index 0000000..fd9944a --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.8/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tVMeMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxMjA2NTM0NloXDTQyMDcw +NzA2NTM0NlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtkODg3ZTU0 +NC0wMDBkLTQ2MTYtODk3Zi1kYmIzMDg1MzM4ODVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC44MBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBAFoEXLlm +Vxi4qkcugC++o4LrGD8l1pGWL6J7JQ7cFpiCIMtmh0EXx8Tc4511u9SqzIR6uaSI +D23jUfndGTGsfqYW/jclr5ayoN8IKL7Km18Wc9sb2DErZ98wDDlkIq1s9Wl5TthE +Eq1Ae81rCnK2R85IUQa7IIB26aSnSwV3DNd1nYPLewzgN8rpF21wKqcN6HowIzbg +U06sdKCuBA/fnnk/3SInambZAl/eqtHMgmQjgNHzt+qFhno0JqhllevXYn7Gx3Pu +qJ9UMCTLZM4OEjnNfA0f1VX1CUzf1Fz5ukvChxX4cx2pKNl8q6w+R+2A3fcSkvv2 +BHMDI00F0M22AEeZQE2ECG4/s8G2dRu2Dzp1kmBH26pSs9FTB3fTPXW2kyXPpOT/ +jv2x1jFsza0GXoMJ7t7JEV5Mx9wcC3pguxEnJeCBqejoHTcG1xuWxFhlXmkNuiyD +/Try5lCEmOvQYyE4FrJGezkpWBab5m2426hByTnpuHYvDsqAPDjUY0HoFUtxwqwA +kVxUQzf3GxXu5FoFq36BxiWG7e0d4OJzwMK5DI00r/rs2tUlLCfNozDdbN5rBMlR +1RIrGctY4LDfgr8sXXEK+54nAP11me16/Z4odkQbkv+WZ9z5i4573wei88kTg49X +Dn64lKrB2B5dKq7vjemcDO3qFp0RAyc2PGUc +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.8/433.pem b/repos/system_upgrade/common/files/prod-certs/8.8/433.pem new file mode 100644 index 0000000..1c6772c --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.8/433.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGKTCCBBGgAwIBAgIJALDxRLt/tVM2MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxMjA2NTYyOVoXDTQyMDcw +NzA2NTYyOVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs1YjllMDEy +Yy1jM2ZkLTQ0MTgtYWY0OC01Y2FkNWE4YTBjMjBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBsjCBrzAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOC44IEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MCoG +DCsGAQQBkggJAYMxBAQaDBhyaGVsLTgscmhlbC04LWJldGEtczM5MHgwDQYJKoZI +hvcNAQELBQADggIBAEcUjx4IcWFemLJqpxFJm7nP9j/4ZqTjEa9Q7oDHNOOWM1NG +HL9wJe/5Y/TCUGJvf4JiIUPNnfkaXXZDKqR7mbpLyb83BSAhgCBekdXvb/n+5QKI +AAYyliEPtWkAIh0aP/nLYDEZ9aJoKIoDs9tp7uAQ/1fGPqN5lIvr7CO7HjIo7xrm +5S4C3b+DlXp3GB74kb89r1XM3/1cmFmVz8js5KGg7JOVBUqxKQsjF7y8OGgGONiy +xfkDFIvX+vyNli6xiXpsRH+CkSRckioTOsV8WawA0Ae89QNTVdN7xNXSugrIXSRd +fyULDx9v+jihJuEyzMYbpvj3fmenrpcbckACsCHWGtRlvdAgYcF0TrFYsYthd2Gc +wpR/XLn2SRu0Hx5ZbfqqhrJo765wYRPfTMVLilCPiw71d7DP0m6hrNzxX/Sp8K4e +w/RxKaC5p/aV27dGSe83udnAXA2IgjfaJz6adnD36YfWUYIRVEg/tX2nlpDROz7Y +saVj5Lq6wzFdt6mIVIQ6A4lM1zldHNyDv69gVDOlOgtklO94z41eJkPu5MbDG2fG +xlVRgjiAsERNvHEXfnVb0iz/b2ymmM7HIVDowlIVhyJBkNKUW1invXOvf+AGZzQf +LS4Db1q+P7HJZnrQf1EzgDKjTm8Kdv2CqKXpBnhDsXUXZZPbNl4txG4yIGHI +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.8/479.pem b/repos/system_upgrade/common/files/prod-certs/8.8/479.pem new file mode 100644 index 0000000..2ecca84 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.8/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tVMhMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxMjA2NTQwMFoXDTQyMDcw +NzA2NTQwMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFswOWI2ZGRm +MC03ODFkLTRjMjctYjZkZi0xMWQ2MmE5YmJkMDFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC44MBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQBhvgRzUrOb +VRVPq2cG/Sto2KzpuIjauYhvuYLCNItw3cOqKaUy5ThOeYkLpddyzPjjlb/jQZi2 +dUybQjF3lrRpfgMmvRuapvhXWsCQuwq63JjqUaRNuPRrjxlwUqX2ibQSw0ZpPhlj +vw3usTbLb04zd+RLb9e897tVMxWEWcyfyakMAI2/zV4UXhCZiFoaIA1EQqIyZIhK +ukCnMYt9m/1KwK9yNYd6yzwYxqDe1aK4Z7J57G0FBpr57JXbZrE1KHpWQawusnFB +t+2gGTxVOyDIrMuszV93GrrzPTyn+BasVS6UMwpUPQDOFJB9y7AKNSFkhZPUZRPW +pmJUB4+Z5KGS+Of+g0Sp1huMnCvmEre1mP3pJTBhXmut1X1r/JJI041e46qnE7KO +wHOz/cimduPgp2Sthc0OY3jZyZU1ibrFld9QFW1vVz7jO0j28T+JInzq+ji4NHdm +0rGnAxp6S3L6HQBqiliO62ehyG3PnK2UvQyAz3sTnT7qL6qeOvvBSQvJqyQeF33y +a85oEvAX3air6KuIVJTlXsS4E5EyTKYaX/5BqmrfzZ94ImcnO+5OF0SMOirCG3ik +uWRGS9+I+0p+I7G9FjDduy8Cm1MYwEC8yB2/CFGEKgsMjXEyMkXMX4hzndnwE1G7 +edrVZJxTtwuyDtMvE6jeBziapQXSDNv/2A== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.8/486.pem b/repos/system_upgrade/common/files/prod-certs/8.8/486.pem new file mode 100644 index 0000000..c5108d6 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.8/486.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJDCCBAygAwIBAgIJALDxRLt/tVM3MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxMjA2NTYzM1oXDTQyMDcw +NzA2NTYzM1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs3ZmU5MDgy +Mi00NzFiLTRmNDctOGZmNC1jYzVkMGE0MjFmZjJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrTCBqjAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg4LjggQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MCsGDCsGAQQB +kggJAYNmBAQbDBlyaGVsLTgscmhlbC04LWJldGEteDg2XzY0MA0GCSqGSIb3DQEB +CwUAA4ICAQChnxZRwBX1DK/dONKHIsXkbpKdP4xzTF79tt6o6oueR313wGEeC+uS +SRdbK8HiNC+J8hpgUz3g2RMmoxE7lObm2gkpEtOh7b6dOTOSL+LrmUhm8Ly5Ts4X +ExY4I5pctcTXx8PaODIPQjpHIrFSqKYtxT9y0z43StUSmM310sg45H+qSM1ilepe +WTIcDjLldUPNiaHDvu8wqE77khPnoVaP9dZUO7dNkhPkCR0ECN4Q1YrJhUZro9M0 +/pQ5700ev5Sw48Iu8iBW/h6wjpuD8cEFA4eYxRE0T8nVSvPILqK1mt8arGFP8Vch +d6VIyv503eRwVbq9LQE8WOpC+c53ZmJYe/L5OlJU6oRlTK1ePEKZUaLsPfwHnVXC +2e7IynDmkG2D2PE2J3br8bIVSmxCoxCp7mH2nwKJGE4EVquTnBfdwS3uCzfHX3p8 +5LGNS460tdymPZF8y4TeL+BAKZYg+l6mLx79ob044OCxsQQbcLY8v50XsTiRpGqH +ZPLLzastYROQWvI5OhzhXE88HN0CLKCTNPlUeFmFwOw/FYWKjQtwcceuNMmMjeAe +IZ5MrMyPf0x+MSmlIaPONn5uHmeMp7yvazdgTAkvIsBwq2cuqqFk7xfnqk0iX3zd +kE4mKzWMJ6Fa3C+yOroNEIJz+AAiD3mgPln7CleKtXRKrvVkyxKa0g== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.8/72.pem b/repos/system_upgrade/common/files/prod-certs/8.8/72.pem new file mode 100644 index 0000000..703d0ad --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.8/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tVMgMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxMjA2NTM1NVoXDTQyMDcw +NzA2NTM1NVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4YWFkYmY2 +OS0xYTA1LTRjOGYtYTc5MS04YWRlOGZiNThkMzRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjgwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEAbNQpBfvJ +GequSRt4hkr4qSqM3TOsVkr6/DpM2CVHsIF6irb5sJaHjwNomw0C6ecE76j9Rm2f +dK/TCo6vPdSvAcATwyfXBiPvRc+bT4oETBf7FqqMRwPRf35ftBL/4J1JVb/d2rFF +hO/cu4sLTItSwlnvSuOqMDqmCpa4OfMPdTj16v7iJEkN1gMEIbi7uQdZiusO7En5 +s/w4Dreok+Q98jAKrHHuCoIKAfxMKB+1YPDN6FYfVqMbngnX8X+G4ysED5OWa47b +qLMh1+VDKBbNmDAYx7PMEDjG3Hb4S6g+Uc5d6MxPccXwKoJTbA6vSuTTVvPL5ex5 +s1NPW50W39oPyV9818qHSmFt4RN+3dxXquBNPePKMugXU/77XKo4zeYE+zGucEph +HaYbmfDNWp74ZG4qf6wTi91NlkkNiaihLbD17ez3AkWH9qXP37RzJ289eIcu42i5 +uDc82NKakJc4hR5h92Psc7J602gcOl2d23syFrvpMmPqVSjLYMir3ImpwIe7Pn3i +hgywwGB1QPEnoSc3dPk8FmmFST/ULaU/Ktlc0PwxpirbLO3OTQR3/y4zqxSATWMJ +Qs4L0ouTwzVJ633+mu+4xIO3wzvtNXHI5Q1mw78D3Xzx5B3Qu7QOkPiNQOKkmKcg +rzKkOicYZ2gIk0hWdcb7gCJMS1h+8x6FPnE= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.9/279.pem b/repos/system_upgrade/common/files/prod-certs/8.9/279.pem new file mode 100644 index 0000000..db37263 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.9/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU+JMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExMTE0MTgyN1oXDTQzMDEx +MTE0MTgyN1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtjNWViY2Fi +ZS0yMjgwLTQ1MTAtOWIxNy02OTg5ZDljNGE5OGJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM4LjkwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOCxyaGVsLTgtcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEAZ5VTVzFyEs0H5dkrav/ynp2WADNCzAVBk7byHzIniDA+9blCDyFi +w6Yb8KcDEpk4LRxj5wFWSdyCBGX4QpmHZkzxISk49O4MiOhpcfNKwNPzl7p8zdvO +nm7H+ZIwPWHd5jKvxORsqB8Y7Tk6xM3usXcwSsv93jijIY7nifKIA1kUovi8h7pw +ZxAys/ABvkegVXp2783GSc9H2ItWVExBEb3rgCkzW5b+ltRnncDYB4lRH5GlND8Q +OBrth+253HImkA1mSvWewOwOcdtPB79IKkgF2P3vfrakFQva6F4vA7KKcIBdPf/I +D1wuniZyBxwvKSdN62jy2LWgkSM2SoXpDyUVE0fE8qkoXEcuAImVWeaL4o0uoFn2 +tZ141z7pG8uMzPweS+x6LwmezftSuUtVh2rESuszfvR8dckPvA2a39BU4qpxt4Nr +nyosCDBxT3p5CZyvVzFalanZd2J8aWnertrn1K+KMi5pEmqPCUccGwHZe6wvaEAu +yKUOXdcjs627TIce2OGNAu92cNXeZAsG3xAzzFxo/mBx8TxaMNL579sf7YYsfdY5 +L47yhN5LD1efLfP1yQjrdcwR3LKVg8NU0JFc2xBf9tnZ1vzlT350nNkgZfkNhoLi +mTSquBuT+oOdcmNrJIpv65hyRG08YGhS0AAMYsheE2TGcjo6VPpQCDU= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.9/362.pem b/repos/system_upgrade/common/files/prod-certs/8.9/362.pem new file mode 100644 index 0000000..6fd40e9 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.9/362.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIJALDxRLt/tU9zMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExMTE0MTY1NloXDTQzMDEx +MTE0MTY1NlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs2YmYzNWFh +NS0yOTFlLTQ3MzktODBlOS01ZDZlODJlODM0YjJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvTCBujAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDguOSBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMCwGDCsGAQQBkggJAYJqBAQcDBpyaGVsLTgscmhlbC04LWJldGEtcHBj +NjRsZTANBgkqhkiG9w0BAQsFAAOCAgEARkOuDEfPta9hzL9cW/KcxeJMKSCIDnYN +s9+ROCossSvxA7aLedpTcQ3S+rKbw4gDHjwG2ej1xrt3GWc7Kbhmdofk1fKPn4M/ +70Iy6bWcwagHLgUNMziQEzftogYbmOtxMZKX7E1bk1DqvROs2kg/2+a1b/5Z51gT +a5B9SjFPF02FmlqIaFt2mVKr2RjfZo9c5J16lbZdNKLTXxMZbcxJF6DH0xyyft57 +MyMsl7fcIH81Lz7kFJ56EfnJvy2H+VCxKYIJZFetAaQKqyPGqbid9QH/ZMHB3tYv +sjWd9Dn0jeuQ6K4Cb0wqEx84a9REh0Ige8r9AY+wwWwuivpmCtFtGccEwmMvL657 +kBMffttaCCyL83GupdTg05+1AokLIFNm0UE/+ma69JOS2hvjM+pC/eMJGZlRAOWM +oZtsKoKU42oAA9sLSbHAKAN54hnRKOIGABdOGmHOCwPm7tZJ99ZkQo8vli/hCuBE +pVZiFGYbo34mlsOcJxjBI/4RUIXmWijbgHQemJUgWecbEHlEYu7yR1aVWDraTAKm +vxxf41D4xDis+g9dspHQWwqxHJ2QsOPp1AtXThgO5vJ6Mu0sd50SDXiD0qrMq/5l +95Gaa5Ih6JjFttlftftJ6l3rsycLLwoPBcHKMptgyin1ysg/TsRZ9OvznrMhTT9w +nEMeBZgLxXU= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.9/363.pem b/repos/system_upgrade/common/files/prod-certs/8.9/363.pem new file mode 100644 index 0000000..803aafc --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.9/363.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJjCCBA6gAwIBAgIJALDxRLt/tU9yMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExMTE0MTY1NVoXDTQzMDEx +MTE0MTY1NVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtlYmNjOWQw +Yy0yYjU1LTQ4MTAtOGY0ZC1mZTczYzViYzYyNDJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrzCBrDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg4LjkgQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDAsBgwrBgEE +AZIICQGCawQEHAwacmhlbC04LHJoZWwtOC1iZXRhLWFhcmNoNjQwDQYJKoZIhvcN +AQELBQADggIBAEKQU4JdkRynFZJqFN6waBVJsSWfdMPvCDZ7C+aJiXjeJEzccziE +QK1rN2TiZzMcJdGu4eimXIPdjz5gZnupy6ZbNZLjGBfCEuIGQZLOF1aBwdM/chPq +bZniU+Iu3VmJZ5nBdYBMwWee8I9E4T1Ia5m8sh93pL9F8M4a/SRBG26tSTRPHf3I +zpEIR7nsbussbApcSiq/sGOr80DDycpS2hc5qPiICnwPIfGQNEgMRA8G//3JJZ1q +4nwG5WHxLK68K9i9bUKOBVizEiAnqGCdDcTez1Qanags95Uvebnpx6QvST6b4bjG +8pvbu8GTw/CGnYSw9pg2Is8nkDIQN66j/JGcbysFad4vldiLjUYkjVpdxYUT6fVE +jmWFE0Px6jf7u0NqD3sjKVxy5RwcBorrYC2TM4tQfJbrTfVhJXxRUFVKkcq8q10a +zhTISai2re7qPE08SQ1pzQ98KV44ZY0atnGOhb95EKhE1+Nvdzjf0aNDzcWGHTlO +TwaoGeZXgh0xRUj+6+MXsk6c5PLNnEUOdsW4pkYt1ew0FhzkyED0hr2rVAUXSBCH +5nJ7N6DStcVZwgc7j5c57c8+a22L6R6ncuoZh7qmujVN7zgvP/6c7ZcGUixe+I7s +h/14X8CuC12Hwod3A9Qod/7LorjbKAO45xIWYaMjvnYVgwA26Jk5Uapb +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.9/419.pem b/repos/system_upgrade/common/files/prod-certs/8.9/419.pem new file mode 100644 index 0000000..c41dc91 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.9/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU+IMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExMTE0MTgyN1oXDTQzMDEx +MTE0MTgyN1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFthODQ5MGNk +YS04M2IwLTQ2ZDYtOGRhMy1mOGU0YTY4NzQyZjFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OC45MBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTgscmhlbC04LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBABZR2AuL +G1qvNs6+3mXN3QncJaKV5BenG8lglARP2V0+R26F4vbJJ2bxSc5Xyr1tp+qji2fL +POJSwCwR06RDMhUEs8N5cLfpzDpXhq9KPF+L3GEDemMeWzt4JeVI3ekJLPWqm4L/ +5qxFsqL1GFYvDK/Qd9Rf5NEsum3Phv6y9aYhmLPEnDcKxhl0+ju3nth68p3pnk7b +pJlUQ+xsVuQixG8OBAugPcbW624Nf6g9R5ZtwAFv9t709zUjqI4HCJJAbgfAI18Z +uPiHs7S42xY3XVTTucx2DAkKlMi4bS9Pk/EK7r5xiiDZkN1zqyYVN9kKUqJGhtFq +w1W+SPuryexcZ6lXzZUzaxQXc2u1N1ATGdgubyS94O2lY6XM7JAN+nSe51xrbtcM +XOwibUGCmELek8wmJTSIj1kFo/7vBVgyqoffDOgmRXpogFCJZk2v69WVCWmo2BYS +5LnucG8iZMQ1Ix+6llsNgCTp32zApk26DA8WYzGRsXv88TWhNpI0iQjO9HMhJlBN +PqwrQpyprOFwKsKJxWSC1kcEPJ3gYJVawUq5hbYxpUplxt1q670xfKqN0egXcUrL +rnNWYsq+pJpQo601pgP2eQJQRWzWFwioYkbbliPMgFQVuKQATGq4l2VZn/PQ/SSF +/CDtUf1/ucR7cRcl/AT1MVlkC1DrCHb2yDgh +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.9/433.pem b/repos/system_upgrade/common/files/prod-certs/8.9/433.pem new file mode 100644 index 0000000..5ce693e --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.9/433.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGKTCCBBGgAwIBAgIJALDxRLt/tU90MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExMTE0MTY1NloXDTQzMDEx +MTE0MTY1NlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4YjkzMzU0 +Zi1lMDdmLTQxYzUtOTRkOC05MWQ0MGY0Y2NhNWRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBsjCBrzAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOC45IEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MCoG +DCsGAQQBkggJAYMxBAQaDBhyaGVsLTgscmhlbC04LWJldGEtczM5MHgwDQYJKoZI +hvcNAQELBQADggIBAKH1KhOE0yRAcJ2aqMvGlfrhqEPhtzBNp73vt0QNyNDlU3Ud +ijwKlTIsmLFbAXGQj4WdR4TbCm0BZP4+6pMPjwhFXHdU5fHpOD/BiIV7csZKNWZy +HpuBv0Kp4Xv7yJoHy6YhPoaIPIwDX4VPPjoSccn2jHUDGg/o9mTyUZfCnIe5GrwM +MDck15uvG5kRhIkCcW6AkJuaNpPNLLHLjX7VNDYwAYllmWbozu0YQ7KhHHslT0z3 +HFlDVFbrt3X/0Zv0DOrkN/50f0i6KlPevFBBdvPuGTkPIRANSmNGu0DRn8fF1G+3 +8TrAi1tIBaQ6E4/RZJ3y0YGnV2fO/bDuv8qscQGWoSkmFEAsrvCih5swoBhJ8aPn +6FusamiIKH/okwX59eAA+yhFfohmsrn3kxXNbDOfozchHYuP3trk6jfDLsS6519f +cHGaJtmzVNfsF2QoHp9aWbkgE0kzBPUOvXOa6T3AXYcTzhkpWDR+MxcUl9y/eNh1 +s/hbiQH7BBMHq+/sMPD7n3Dus51am1xamDy1B+v8b5p8kNTbrUR0uzEzCQNsrZtM +jSa3SziP+DJwGu5Ag2qFAfI5rXFHCPrk+fgeg/4uSz+Smtm1W1mqK0AQMmYBqgCq +q8WPWP8kQt79RbtprUgNTCvSg+mY18uiyO6B0VqcT9gRIE6/oTXR7RfFCH6h +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.9/479.pem b/repos/system_upgrade/common/files/prod-certs/8.9/479.pem new file mode 100644 index 0000000..c895228 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.9/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU+LMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExMTE0MTgyOFoXDTQzMDEx +MTE0MTgyOFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiOThjZDg0 +ZC0yMDk5LTRmNGQtOWM0My1mYWFjMjI1OGExOTBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OC45MBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOCxyaGVsLTgteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQB0AKa00fqK +1LSDclHITX5fN2fBiT9mU0yen8ku+tOFZQ2zkkspGSEE+//d6jXn7xbYByf4YMmN +M4wzIVET6uJ8uvi8Z/D3Pktm4ErPQMjZ3N3J6oKkrgZSaaqvMS+YCbaGKL17iOxz +QwXub6oSpfW0KguSeCPtJ2wODQs45ggIPPdnuJsiyn/nXRwg+qlM0KPpn0y4TWHM +tmAf4Vu4Bz9wdqQylZ1n8oIX5vm0R4m7ihM0zLyt4tTucMr1dh9H8V6Cw/RGg1b/ +J2Z8HvtIWfOa0dmLDkYxbmZRfoBXKjG8KTE0PrvaRuaa1wb7P9ZhVw8yfHqSG4QS +DqHEMaYpodqjYKcmRpAd7yR16OpEMv+j5oOHiXwyR51pKjconspuSdD9Oso6o/H4 +JFloBTzAYWV5FMeDMzDwJ89D3T8okZwv/jftIlCMHcQFwKvd+pPQGrdJkLc06WsB +RtKb89s7pwaqpItHScFypX0DzluJ/uIy6cT8xGjbbohyvRhCuUxEcNmlTUmMlQT9 +ll+5nCh6g+qUFFRclCAYstnU+7akEEa+L8sLcq7Bs576ZYlbuoFgBbXhYA2YU95m +OI/q7kF/hm5p8pHNw/JnRzeX7Fo+n4AyeOBT9Az+bTis4gyCo3v9sAuLyscrCPtv +0Vkuk+SRppk0hoUZzNtyeMAAzLFK+juhpA== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.9/486.pem b/repos/system_upgrade/common/files/prod-certs/8.9/486.pem new file mode 100644 index 0000000..9ac3b35 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.9/486.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJDCCBAygAwIBAgIJALDxRLt/tU91MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExMTE0MTY1NloXDTQzMDEx +MTE0MTY1NlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs5MDhjYjA5 +ZC1mOTlmLTQ1OTEtOWViOS02Y2E2ZTg2OTQ1ODRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrTCBqjAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg4LjkgQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MCsGDCsGAQQB +kggJAYNmBAQbDBlyaGVsLTgscmhlbC04LWJldGEteDg2XzY0MA0GCSqGSIb3DQEB +CwUAA4ICAQAFLcBknEcS9WQCE5QzsjzEKMW2FzObxTJk69Al1/gYVfYmWszd8F5V +jUyd077DiWkqaHGYR64/E7acdSRd1npms52Jj07YGQTshIbaNQLoseQeJ8b/Bcma ++Htrr73JWK+rcUdOiLjv+7gykFevxptgYUACLnjfJxxJmVWBVt5305yOgvFj6Sip +RTALMY0uQty9/T4HybURCjK+hHinnDPypGKEg/7KRpjpQ8kRGjD5IZQ4sQzHkrIE +fvVHs4t5IIYJ5iaR6ropcBUrBrz+loTOfcCAoUhAVjYDIOJnuQm2XVNgbM/uDBZG +fwI7XKauUVvNa/h2tbSQ/f3cyEVbfSwfv8nlLoWe4XYvipTQpPcIDvm8GgOuiyax +kXy5a2ToyiAfepEeJhSBX4IM38TjWiEn2+jcapaQSuAtH6Wy+3HWO6qpnRQ8sRF4 +WrK+WqW2DnTop9K1fLdUnwjFimZDdBxwnnJ0JLop7ZJWchKFFT3oxsykBMnH+6gm +O1nHZpgtBAcOj+qLi6z+PvptqBxeTSnSQbdEWpsC+RsWXIOvvTllHRduKU62PdSg ++87Mp4opiStjhgRVDq1Ba8XWxo/rlf6HDuPI/uut4XhZ8tpsJ+aj6t0lQLU6dm81 +1Vjw3yHlJy4ire6E9jzz9q1JNYLWWLJCbPEPlF4hd8zw6nAfDzSNmw== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/8.9/72.pem b/repos/system_upgrade/common/files/prod-certs/8.9/72.pem new file mode 100644 index 0000000..9d896b5 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/8.9/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU+KMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExMTE0MTgyN1oXDTQzMDEx +MTE0MTgyN1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFthNDU4Nzll +OS0zYWE4LTQ3MTEtOTIwNi03M2Y1Yzk3ZTAwYjVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM4LjkwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC04LHJoZWwtOC1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEASZ0dxU60 +Wrrh5ApGxwe53AbbIiDdMc4641p2IbVM6J3/09Er4orl6xch0s/ReVbWgYfO4DDT +q+L0f5csn8HggdFHmEvjFwJ1IBWj4gWpBQuZy4MSowntNla2MnVeFPKBK46qrDNO +SQKwEkIRB5hYKMDAwZFY6ewuuVpEnhfBoSfr/Xg7e414pWhRaVlTk/x6L78KZk9j +7gw4QpptMq9r2qp+TaAew76g5bVDLDnCYTX3c+MGqVZcj5dw3TUctvLYRc+gY6gO +5bpmLCbtsD19IKqB4Wi7IF/NqdN4YLBaNfedyugzUDWkJWt1mIZfunpsoQm0Yys7 +upkEMwgfMBclq9QDnO4jbOC3cnp7qKgkim94wxPdGf19xijSfBnIwIwuFxzJPFpe +spp8DUz6alwyBmM9UjIzpybfMVOKDHR8LCiB53EMJW2nxWgW8nItYSMbfsNukAJv +Md4UKRJ5zHB+xcyAI1NF7KgfrmScC0HwZ5BiDDK1iZHAeTOH6GtNkii4HSGvuZAW +m7ujIHohHCfIKiZiR2YfMnWhYQiH0Y9CX9k4wDWRwdyMRQQftX5RUWLzxFbferTG +gSVVQjLpeCaWZv3jqekrGzNK0jcaUTTPi//FyeCE8aNXET6M+aK65AmsgnPL+a/K +7SvOvOa0GfDBoH++jO1u2fAK4DqLd5iFv/o= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.0/279.pem b/repos/system_upgrade/common/files/prod-certs/9.0/279.pem new file mode 100644 index 0000000..99e0bfb --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.0/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU9qMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDIwMjEyMTUwMFoXDTQxMDEy +ODEyMTUwMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs5MDE3NTRh +Mi1kZjZhLTRmYzYtYjFhMC1lNmQzYmFhZTNjM2VdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM5LjAwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOSxyaGVsLTktcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEAm169Co5gHkDPjTULutZqmcjnXX95UB+rRYTEzLdQZqqybXxwfOHE +Fj1bIvh9pOnf25UiSj+a+PdRznwRT9KZY5hQ7l3/QmIQQ5NFs+RcEoXR5k23zKWu +jUQMFOLv3gF3V2kSsMSBEMItu6FZrJtj5W5i4UejjDmmmD/50RgHF2NUDb4K+ys4 +6miy6U/WHkftTcAlrglW58uKVPsKc0DhIxyaMTFhc4DVPvLoZ9Qzd92WCvz0anlD +Iy8W6rlaqcbEMwvEgencT7zpgqvbeQHiNUK/m4YH7YUOdr0fle6C9W2N2TD/gHlu +sfkCKOyK56gpgjMdWB6RkECx3hDX/yRnFoEiAFKvaBUF/f9HEVsGvhmhRhi+VFkU +82WqXfvIILy8h6YUpwJQFcOsX0/8fHaWSye3uUQanGtvHhRB7C89Db5peJUV1EL6 +akkcKn5kxZ+839mu+3K9yjg3W9au/8qPSgZtGHKCdKczpGrOuSlrmn349PvEv5UT +mdZB6R1TNvKMLP2REXANfeDGZAgpsQGcOaF+v+w0zbF3bCvC402lX4xNicFnF4Lq +z9X13+7BZWCK07sieviOQGB4yot4VvUwDEZPcjlm0Re4rDRt0WHfKoT+Oj8SMIwq +jWfG7eZR4N69KRfOlkKGlYQkB1i4m0ftlvONcZeGU6mOFaCV/6Yrt/A= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.0/362.pem b/repos/system_upgrade/common/files/prod-certs/9.0/362.pem new file mode 100644 index 0000000..f5513f5 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.0/362.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIJALDxRLt/tVAPMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcwOTEyMjkxMFoXDTQxMDcw +NDEyMjkxMFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs0MmI3Yzk1 +Mi0yZGZjLTRlZGItOTAyNS1kMzE5ZDBiNTIwYjRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvTCBujAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDkuMCBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMCwGDCsGAQQBkggJAYJqBAQcDBpyaGVsLTkscmhlbC05LWJldGEtcHBj +NjRsZTANBgkqhkiG9w0BAQsFAAOCAgEAZAqmsOBRMnlJ6OtDO/fQYApprQXryS9I +AfAlp9Pk6Yhi1MBO5IWVEmtP8b7LlDy8Og6bY9uV/76AZyeW+ae78Tf1LgRw3tyV +oaFL9+J4gL1dJFnnliVHXegvwfc1bvkDAHuaboS+ZuJT5iwiH94YcgUA5v5B9Frw +ukTK7/un9U8yeDSwP7yscucoL2wzzZqbHCNDzPvV0Hi1u4amkQaqrQb5gkv3WlDh +MwwY/NLyvbcry2NoZokM1FO4SoPzRM3x1/qJBmbQluBRL60tVDVyrfdFf3AyLqz0 +XPhisdxtRrseGaRSTBVgdnMpv4SwGUM8bfw2fXvxRqeRI+vcL1JRFdhnvWKqyBXm +igZZw6MDfyfJs4Z9VNZigTSfsJ2sDzb0CfnBoqu5bKgmaWZsLspdOd7yaVcSa6JD +gFDpvu0mjCKs8Y5f8IArnTcfSWCGhxOELa4D4YeETCCyRWMSAGJo+EfXw7ewPDAI +7LP7gYROMz6DN/hUoW5Vu29x4jAaRNnFuu0gS+RLr0M24RyAZ+BuqlRshpELvtFW +Q5bK91x48CHp1mm24pHjt9rFUSXaaaTbVFWht3qijFrAS26w7CSRKgVNlmxHXVkf +shkBcxynLtNCuaSQm5OYFyGkJQ7CMS/y1loNpEYRP+PLuKQLBLwS/iz5k8Buk4iZ +R9igCAp0lto= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.0/363.pem b/repos/system_upgrade/common/files/prod-certs/9.0/363.pem new file mode 100644 index 0000000..67a6665 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.0/363.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJjCCBA6gAwIBAgIJALDxRLt/tVAOMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcwOTEyMjg0NVoXDTQxMDcw +NDEyMjg0NVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4Y2U2OTY0 +My0wYmRiLTQ5MmEtYTJmNS05NTJjZjUwMmY4NTNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrzCBrDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg5LjAgQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDAsBgwrBgEE +AZIICQGCawQEHAwacmhlbC05LHJoZWwtOS1iZXRhLWFhcmNoNjQwDQYJKoZIhvcN +AQELBQADggIBAHzsWS3k0FX5CrZaVSHMwSx61o6sKXwyUPE8dnA869kNC5QSivox +nqqOG8rWhVJeVJMr/2PlaUGfSqbUcuslPKWySq49q6COtUEPFAVISE8KNDcNkqvN +DXigUhOABTRuvx1zjhKI2792DN1vvhuqy7AEE8Iy9QRv/EOk/fTyE7uMpgEaOP9i +M0CDbhmNe246Ky4f1+k1ltEJPTN+Oob/qUT3WHUZ0m7UGAN/7Up2MWuMRk9Ej1ir +NvU6Rz/sKehAIr39nXdw+mzO873sB+AM/cy5oChjDQQit0Z5UAdemv47j7uXJ5U9 +kabTTcXKFZTdPw/nlyqnK6x1VoL0K4pK9ZIMdw1/85mmDA9i282LSQUAEyWFGnxj +vfbQtd/77+q6ZGkNOv0/8fT9te5CiZikRE+lngW0kKOC3x8deaTbPK5yRKHcAlmp +gZS0PHi2ixMNAfCtJuDEl8zSeuUMnAvxk5p3UIlVF72ynAddHTvVaGRKu86lOlpC +0QTRsfapxETR0J9p+Hfvq/AIp5KE/7oR08XseTZJLersF0dL66V49xNdob/tlQSE +gTGsijrhYGTFIuMo009aL9ZfqJkMwdEVbnPKW6dSThOCpSEZP8sSV8ZVDP5wnLEA +tO0M81k7LuAuNsdNdWQnCK9D9pUoWrTLB2S9agmtG2mypgajbsHR+fEt +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.0/419.pem b/repos/system_upgrade/common/files/prod-certs/9.0/419.pem new file mode 100644 index 0000000..47c3392 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.0/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU9pMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDIwMjEyMTQ0N1oXDTQxMDEy +ODEyMTQ0N1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtmNDFmODYx +Yy00ZTY4LTRkOTktOGEyOC04Mzg3NzU3OGRhZDJdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OS4wMBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTkscmhlbC05LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBAMPJgGlz +VvC4tT5hjD1RrGkspT4pG7zPvMEuog5zBLNTsxq51HElFU9LNSFA2aMLS2QFcEoa +R9r1H/lrIipBgPV6LcnEgKpnkbv2DS+yyInFhdbKWcwhsy4NL8cLDt3sb74iZuL9 +MrtFZLOVUUR0PdPr3NY+Tn1TVetLE71X0L475pFq+RF7G41PrdJPm1SDgB7BSr00 +NnhWpSFLjhrh2cAr282tLTQUItNThz0qFbbmeiDay5TzzH9ASpD7kDMCs94FATWi +YdEWgnCSSKpJHKhuw6JCvcvYyQWd2LlAcPZ0Xa0WhPjLIPQ+mH0LOlyPMBD1wTQn +PmxEVteIcwaBREPRne4RGm1sY29S2ZhiIlcF/xlkgvy/ZtwaYqo4yhqG8prTeouV +spwGjf2dRzu0Kr2sNFc7/xVIsRWZnOAHexc4UBDS1r/d4PlIfzNZJ6UVQZSKxNPP +iB/qsUxmgZC2MjqmGUSNqF0gjd8Oc+C+ilKVFyfz5ojrhQclacSx35BxtJwylFUR +wNoBg8hqz3zxYCzy2xKeTOQR/aLOCeJep4xj20B4t8bkdOO5YcIFN7qxn5ZqJpVu +jFUHnECdAIMEqxnWMGSI2XVatnfH6IDsE+wMCLmPDNjopaV3q+oKsjqsGsoVbGD1 +ILdoTwGvvd82nI+cSUgRtPiZnUKcgBYUl+1Y +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.0/433.pem b/repos/system_upgrade/common/files/prod-certs/9.0/433.pem new file mode 100644 index 0000000..f50a46f --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.0/433.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGKTCCBBGgAwIBAgIJALDxRLt/tVAQMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcwOTEyMjkzM1oXDTQxMDcw +NDEyMjkzM1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiZGNmNzlj +MS1mMGE1LTRkMmQtOGE2YS1jNDQ1ZmUyYjY0YzNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBsjCBrzAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOS4wIEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MCoG +DCsGAQQBkggJAYMxBAQaDBhyaGVsLTkscmhlbC05LWJldGEtczM5MHgwDQYJKoZI +hvcNAQELBQADggIBALNsFm1lghAFgertnFSHd14bZpe2jAJ4zh1+Ufo2lA8xaFpd +KPu1leQt+IikKo2joRleSxnwdy7TeQjs1lT9ItD5R1G/7sJViyKm2GTrbywFZZm5 +vBIgkvBZCtv8B9hEbL4e6roQjggA60VanF+i3BQoG9oxLT8s5PaXp0ZmpB+F9KT0 +dOV8G0X5V+dPGuq1vhozwBQMdm5/6/VMBOjSmzhXabuEF6lrm6EXMCG/G06cRsdJ +bO7dRWvmT6UGiUTnECttlDliRlTlOKHk8ler4P/faTpRA7R8zmN+Bu3rMahRlFaV +/Q+pDOQMsYXgukJoRPkfBNWRobSWKVk7xp50+R9SsivczLxG2CgSS7RddGjuo/05 +DC9bUJeoxMLSmzK1K3M9GzFk3QNZGoixQpkCw6tlTTn/ehf/Vg9cLJPS2nYW3xu6 +8oTLRLGDfMwLpLcXAIqOzb9AXZz/Hm9B5pmcd8b11j7xaKdtnp5P9QzK+33O+khX +tis7N0TAqB1x4TnSoswpsiVV4DJGNr4VGcpxwe4rClOaEs2i+9WaVea5zjEdtRrg +CPa9QceguUoSanDoU++yqdD+DwNyP0NnUOHIQHpiFei3dl3Q65ZAxNeqYAyQErXW +B6/YYeNV8DOYi9G+aD0wPeZa0onl/Xgh0K96+otHjfGbLrNjIVaIfgcD+Rtp +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.0/479.pem b/repos/system_upgrade/common/files/prod-certs/9.0/479.pem new file mode 100644 index 0000000..119bcc2 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.0/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU9sMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDIwMjEyMTUyMloXDTQxMDEy +ODEyMTUyMlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4ZWE5NmZk +YS01N2QwLTRlYzgtOTczNi04NWRkMWEzMWMxZjldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OS4wMBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOSxyaGVsLTkteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQAzc8sGBQbK +UKSzDgKOowHsztj0L9D3D/48p5gscYnK3pY7zurLaCb2oEc9OxjAtXAgvj61aBMz +u364w/TNvEquZBkkXcE43n48bOP03q2cbk/v0h7GXfXXJpNs5jYJXOdvEF6jVoJO +vTrahrKWV7Vn6Lw0+eCYPB6l6kBS3f5ecegW2yrAEKbecpk4FJm7LWUrM77Y0vkq +PTCH+RAUgBOw7Gc0iVUQs5SHTSlGCINjqIKVaNT3IFGrU/z3FcL44+zVej3zaUZq +3+cGaDr7zH70baT9wIX0Ky60/yf/vzk6HwsNE9d5R+zBnMcyXBO3N7gpD+mBf+qf +s9LFkNFb4ulx8pU7HI/ZC56/sKsT80yX1lW9F+sC1ZCPSBSgM270RHTCG5natMD/ +UKQ/SWcKAXNf/BJzfvKfCA6MGHyRP00yxKHqtp1sj4c3vh4Kt0/AwC2Q24GMNLfj +zu1HQv6eKEOyhX7OUWgub9jHkRJiv25SxzePbf8D0WR4JFLmbnI24FuACt2ZpeFh +xQX7EY+g6BdiM8dAbZv0kF1MGIFygEdgple42EM8J0e4JuD2RSPygQLk5bHR6QYH +f5Gj6Wj6DI1TbI46iULwfjXFQgmbVxNbOkXRdbOiYxwaQtdQdsEAHsdR5PkHnOg4 +7N+rSa0SOuTiDOvnTi3l47Dn1LCazMxWSw== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.0/486.pem b/repos/system_upgrade/common/files/prod-certs/9.0/486.pem new file mode 100644 index 0000000..1e2986b --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.0/486.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJDCCBAygAwIBAgIJALDxRLt/tVARMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDcwOTEyMjk1NFoXDTQxMDcw +NDEyMjk1NFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtjYzE1ZDA4 +ZC0zYzllLTRjNWMtODJmZi1hYTcwMThjNWI0M2RdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrTCBqjAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg5LjAgQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MCsGDCsGAQQB +kggJAYNmBAQbDBlyaGVsLTkscmhlbC05LWJldGEteDg2XzY0MA0GCSqGSIb3DQEB +CwUAA4ICAQAvaJ72eNst4RQ+aONrlOoIW5WeOWNhkuZPqUQZiVA7V8tAIGP0xLAW +dpIANNtf/w5/K3xcDKHjLpdsIxmnet6YTCgQwV6M23lDunXypAUBOalo1ryjKlbn +7esHL0+7Wb0cbJC+05ZcQBGEEWyBsVhEUdWbP8Thg3GlOi1RbGjLRfAnC9IXTw+q +FCvVf7g6m2ZAjkJRXjKwv5wtPtS/w+Hicn1iopjB/eQOZo7U8KH8kj8IXP7/m+2K +m5RSKqH99+DknuY2RB8yJSPF6tXHjnxSxDF0+XiZFmKtgyiwzovTXmIRHZ2lnm26 +mUoFvxE7IpIvGZtZ5WiERzPybue6NjNDHtUJodNN1NUN2vsz8Qo73FG7CApdCvFN +hrUh/QJHA0qYb22EusqkKd//PqFBAg3tgIviuqZMwpdIly0ibCbZC6W2E214Co3O +TPeB30F/GOkfX6BbuJ9YRG5kZW97B6NSnMgh+S8V1CusKJAMMjREWhdzJdCFPmpq +I54AqDEosRgQAly7fUQm1+wVP4UDjR7zbeXZQ0PWXwax6L/feCFce2u2J8LMShYe +2+R82ADwbk+FU5o/CgFzJH4RfR3/bMcvmOXCV/NRVCqKYrdJT2oz5Z030KNsqOMo +7pScffGvWaS88+37cBJpRLw5hxoBqAYrgn/Ag6m4vmqJaEZi1QJhMA== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.0/72.pem b/repos/system_upgrade/common/files/prod-certs/9.0/72.pem new file mode 100644 index 0000000..5913c8d --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.0/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU9rMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIxMDIwMjEyMTUxMloXDTQxMDEy +ODEyMTUxMlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsxMDk1MTg4 +Ny1mNjVkLTRhNDQtOWI1ZS1lNjZkODVhY2FmMWNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM5LjAwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC05LHJoZWwtOS1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEAG0BlkhZw +hMYgo3tjUq4LEHGPsYkPduoMlVMR0Ja0PiUJqtZfPDLFrKPYhNCZ9ZjYqVyr56HS +iZ5wLYKmhEzM9OOCIwd1o2hUEy9EQEH4QI3rd3o16GD/g6JrkJ+kBW7NMH1zQ9vq +0ivdx9eWnmUJ+ElAL9ROU0qPVSrC/Ul07rtJ9AtsbK+K7dS2IrOZkLdQhGzI2LhU +e+GnU8BFz7pMsckQs87PrOrk3U2wAymoh5PmFF16Y2ph+U1DtXpiFNC6dAqq0jM7 +1NRXlkJkIFq7a0Rd9JjDzrbkW06o64mxBAvFDGPCqLfOEZAHv2cGI3fz5JgIPR64 ++XqVQxmG70gu+zcZLPBanipwNXo2D4TyqnVjCjcK06HeuL21m/yNYiVLlYEDLxNQ +wfmSD5zQbRIvLQRRWkocs55JobA7mRODtxnDj3zXmf2ubVJSKD/mX81nK2v9jTIz +jSoRyKfaFuqTOyseh2OQ5Nb5jgjH9XdFc62d+u6pzhVnWT9vHz44Hg6GEpVFdMV0 +ng0xtNG0dEKLtJRJzTovg0JahfhXarEIczvb1hZ4/c1Gf4+WzRl2+B1zv4kcFEo4 +AuBsUObjPwrMzTNH9ww62FKtOQV0dksjBOBsgQ/J7cqC2oo9crYys6bpvdueSaAP +FTJzdZz3VB6VmnqofK0+F7pzrqESAbyrcaw= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.1/279.pem b/repos/system_upgrade/common/files/prod-certs/9.1/279.pem new file mode 100644 index 0000000..23e565f --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.1/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU8gMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDEyNzE2MTQzNloXDTQyMDEy +MjE2MTQzNlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFswMjA2OWIw +NC03ODY3LTQ2OTQtOGFlOS01MDFlMmExMDBjMDddMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM5LjEwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOSxyaGVsLTktcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEAsR3LlRmkKG8hA9H6RKEJwHxZnTb+fGF0gnYMCQYQ5z+J0LLmeP5R +KgJP62lauRtQwsVCEyKURV8k8SBCDcQ8xpqhC/GkZRqaELo0NNgJ4KS+mmbsee88 +VW7mU8j91n1h1Dz+7zQVrXyP/uNailjPmDKB/l9LpSTGdHVuEJMBZP9840SjCv/Q +S2hCN5aLGf8Jg7Vz72LRUINEZW0At36MKX50NenWsD9ME45E8CRzH3Nfg/iQs8wX +bavUDiHAwTMSHlUZRRtPQf69MIQVfr+EMGBM307GqurNdtrGreOwnRoHmvvXsa0k +3SRZ+WUwR7ajsCA2nGn4sybYdaB4+DWMWk/ZHvWQazU7Ff0J8F6QdIMfN6g/slBC +t4YOsmYO46oVcrYAuqIJ2E3IMzZCsz4MODGwbj8brVL5OnZ/DHPzNaKxJ/DN+YqU +xe3j1ZKts4dRBQIuVrudp2mf8Ergrk8iqAltNpWNEZEPkLH8pNlPV3MmBEtshTWu +pHskG2WSm+o/qM4aoKwlvROaa9xoHPtck0xYiMujrohnQWgxdlUuiQIl43yAt7m1 +dmfm085Vgn26UrPLYYoFVOCQLiSPnVtqGIBrsC7Qp1wzNYrUfo9WI1AjTJzxwPaU +tgsDMdfF3yQJuDw+LwL+8LHnuAGQj94+6pXfmG/n2qXhfgQDrA1uK8I= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.1/362.pem b/repos/system_upgrade/common/files/prod-certs/9.1/362.pem new file mode 100644 index 0000000..1bf886e --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.1/362.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIJALDxRLt/tU82MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDEyNzE2MTcwM1oXDTQyMDEy +MjE2MTcwM1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4Njc0Yjk5 +OC1iZmU1LTRjY2MtODg4NC0zNDgwMDlhY2EzMGZdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvTCBujAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDkuMSBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMCwGDCsGAQQBkggJAYJqBAQcDBpyaGVsLTkscmhlbC05LWJldGEtcHBj +NjRsZTANBgkqhkiG9w0BAQsFAAOCAgEAQyA3WPkt5NdFxpA60uTkhSCqgsuwDwCZ +D1iFeSClTqT5WvEZxAacmepILXqFEv7DIP82cRXbAVYLvr24Wlc9LuEe0r+gAMI1 +SS/IZ/A2kf8yQ4spaPEZ+S8cmtrErM0CqxabaV4E79CTnhxz9Sv0ktG1nIx3e2q9 +ZbrFfXbrmNzli9xOhIFxLtqxvFIVktW3ak0ugDl7Ah7zlt3gJlf2q3/JeaFYuOAf +4+93F916ss9skekUwd798FPJN8FMDOm9ClRyHFSitgeDijwYCf+rvWjVYnb0Wpfs +eCZvTGP8J+VnJxDSUlnFbjTEjuzOXXVTqoPrlvfrqfeSTp1X9bf4r2AvstAswfp2 +f/HGli3ZAgnIyupb2HE85wTM+qjeescIIIhzo8BjjiFLszOwNdn74ZcoWC/mSftd +fx6MAXZH3Qygd3BmaGQ4oDoMpqeK1s8wXNAt/xQ9VpHe/WVQLBOZwi0AqB6bw5Cj +K4k8YMsFq3yfgJFk4LqDELZd9RYOR6/A6zAcoHGmjqkRTmeC1xVt9UB1fChHNjZK +/ZDT4mS1qwY48laIdkTiKNqdRiAXUUktQNCkqQ/C2SLgsGe23vJfaxwLh/dLht2u +GcSes7HrzhdwxOUFnoXZSAxoWyWL2uU6V+iHMLyP78TqhpsaZ0vYQcYw4vQyB8LQ +AuQfqagBINQ= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.1/363.pem b/repos/system_upgrade/common/files/prod-certs/9.1/363.pem new file mode 100644 index 0000000..c30db92 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.1/363.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJjCCBA6gAwIBAgIJALDxRLt/tU81MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDEyNzE2MTY1OFoXDTQyMDEy +MjE2MTY1OFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtlY2JjYTFi +Zi1kYWY2LTQ0MjctYThlNC0wNTQzMWE0ZjdmNGVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrzCBrDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg5LjEgQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDAsBgwrBgEE +AZIICQGCawQEHAwacmhlbC05LHJoZWwtOS1iZXRhLWFhcmNoNjQwDQYJKoZIhvcN +AQELBQADggIBAJskY+jnlGF7G1NVA16XYdQkSs0n8BPQElSTibN9XBbEqkEsSHsS +SOuYaMa6lH46YFqLEMXrbJ1mvwu2BfkeOTEqtwax61D+MnwHBD9ouEwVQVJXwdKz +aqVa3ppLdds1wOv4B9bBhVVBElE1YU6I6NMdetQI++zEfmXseqlb19yCEPuva/1h +H5BX/2EJgQJYPnS3+x2hcOKl5lcX40ZuM876BkWPyp9gy79sd/DrWGYhCRyNNfL4 +9IaPbrEgSxvuhtdIWq4+g5LHU3sRuNuzYSoh+CJU9a0wDaL+PeKmiiuP2FP9Pmbu +avMO7uQf9hTZQweHePqxVrBfjQM7kgBi2x3oedLGsr2DG6WfOeIa+1J076eChwDQ +5rYzybyHZwiCu/UKhacGQgEPk35IGDnxNMpSqZOCC8peiKQyq3aSIhZH0rk6J4pV +SVyhNWmSfCbNboehTB8Qjpt9BAywMPn0jo1JqNWQ9/qEHK95MKu27tU9IqIQvwO5 +ZF4kuJouuBqoPG/N2edkMp+53wu2LLvdgPYEs6UghDh2Eq33AyCCX27W15taxXeR +91h0qXibsaAUD7e8bvDy5goSER8bD3UFxLdjCIWkQpp5jgzJyIWjY1Dm4OVPcWoB +/aIQOe15VyH87eyXMXPiDKRe1cLOsK7MqJs+Iks/QIw0hHaOVNt5MpI5 +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.1/419.pem b/repos/system_upgrade/common/files/prod-certs/9.1/419.pem new file mode 100644 index 0000000..6acbc76 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.1/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU8fMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDEyNzE2MTQzMVoXDTQyMDEy +MjE2MTQzMVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs2YjI1NDIy +OC03MjZhLTQxMWMtYWJjZS04NDhhNTY0MjBkZTRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OS4xMBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTkscmhlbC05LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBAErSvVD1 +Rq4PcUUGjVoZxCuNL6gwZmTZyN7KkSHRBXgOcYbxRdUvRHTxBJ2fnA91cMh5wdJf +TOkYQEekH5iW70jLQUtRW7Ld6d5M6yXGYa54TIZRBFRHn66ltZL8Ub42PkKWb0tu +icF8gtk2WEx4vm/rLvU1xS2ZEYzX1lyn0fj6UJmqO82EuJOhQW1qeYhTa7sW9SpD +D58zJiFLovVcNk8Te8A1UVMiajazUMQn7eapyFEqDAOnrhY31oMUuoyon2XLeFQc +DPtL+NBKh1x9Y1dyHGN0wwYrLzqLbSiGS7van2lzgI4E7niRpJGsTGg9E3A5g7Mu +FRcp1dWXnP/82/mR4Vln1bLvujNaOdx3VjuJt5GsS7XYZu2AwjpEMwEosWvayzLd +TqS8MDWilCIVVFScDUYQUaqYDkASweAe/HEpNirKZK01LGsXOeZxVOxUlOXM28eH +fyVlKT5zM2dhFXnkQR9yRuXvteKXIVFelH5zD7smDmDqwSeSDXqaxETVHyy2igSU +70l7cx9XsjSbLpgTLBg61PRE9JMKoUrCrA70zphTTAq6cZ0KIkgJMsQH3iAqChL2 +aY2o2FrOovBWmjqOl6sF1VHU43Io9cJPeNwXNR5UI9jxf8wPy/4mBPDPaUGhHpL2 +bwJPlJP/516RMFzGXhR5PuCvw1UGzqN8UCmL +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.1/433.pem b/repos/system_upgrade/common/files/prod-certs/9.1/433.pem new file mode 100644 index 0000000..6bf7a7c --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.1/433.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGKTCCBBGgAwIBAgIJALDxRLt/tU83MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDEyNzE2MTcwOFoXDTQyMDEy +MjE2MTcwOFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtjY2Q5OTA5 +My01OGY2LTQ5YzQtYWQ0YS0zMGViNjQ3MjA2N2VdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBsjCBrzAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOS4xIEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MCoG +DCsGAQQBkggJAYMxBAQaDBhyaGVsLTkscmhlbC05LWJldGEtczM5MHgwDQYJKoZI +hvcNAQELBQADggIBALHMRvdZe+o9Q10SomVtnf2i/AKg+APq60JCwBXim7bpZKrz +GpH5o6FPlUG9mAvrbf14lXq1wQDM4lbpm7NxXzauxf9SF/L/kp9RzCD9MXXze0rv +zZBPj2gnGrvtyo3jXp5ZB8/BIMxkzOjUooYSVVGtRwI4PDEWStVzUokVHTIr9Aej +ErJbtY7qGQpCruqD/66UX/8lffbbaPbh148ZNkz0eDmVU97PEnPpzDV8S+ikTayc +uzXadOrmPP/oMBRMFhw5lCST0J0mWXxyWfZzU3Et9Lm3w9sDd+r8Ed7dlJImLH5N +FwWv4Yu3ucX4Ww4/nASE5Ag6n7drNRs/+EfSTFNu33uicVqoVwu2kJosekAnZ/EI +Pof1TvYiVRp2R3XGJQQ4hcOkHLF40kurfqxTLUTyrSk5e80IR10cT/WBUoze7h5y +SJ098+9NRbMSoRdZ2y/CEOy1CHJQ1RCuj8zGSadhhO0mJC3Bio63boGidVhDZYJR +k6oIbU8K/DIbPlcvcQ1iuIvRRDH2lHXzC5s9CVzThq43EHk7DtaHisZkHTjRbZDf +/3kEFiHmEq84id4AQ+c55U8t+OfMcERDfbVF0+R9U9AsdI2TcSsiUt0byLj5R6HJ +XLz/rDfj13pv5I3nmb2tcTD2dw+c8rbO8WeodVQ3Au9q4X9ggWkTkJ7UJ/Xu +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.1/479.pem b/repos/system_upgrade/common/files/prod-certs/9.1/479.pem new file mode 100644 index 0000000..daf2a5e --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.1/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU8iMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDEyNzE2MTQ0NloXDTQyMDEy +MjE2MTQ0NlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4ODA2Yjll +My00OWRlLTQ4NmQtYTJhYi0wMDk0Mzc0MGRkNDBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OS4xMBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOSxyaGVsLTkteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQDW03/f7G4a +DeZ9vW/fmgqk/08PSp0B9eknQJAl4JGSoK6GfIyqlHBlYRd+eiAIJD0CnIAF7mEP +UBJkdT3OlLtqGzXCHZVU8Cwkuvg/0WVfH6qAr8GRwc8fa5DdC1odkDthz4gCbusm +Mtkq9rETow1Ub04eEt7mGNE/NaGwUBVnT7jfmrdFMr+SNjQhgH3Tb/ftnQ2vOZn3 +QRAvpbmUX1YNC/uf00k95XX7Ibsqr3awvTad47L5UKtVxlgxPzuerB5EgUt8XJBK +NRk9Bz7T8UMvu+8j8cMB2Mxp8X/3XV0aF17mGR7JuG1KUfgoVU23GHtGx5fZtk6F +/bg53ibXtC9ULmoRP9E+RRG1o/66QMV4DvPig43mP139jq3PohRfYqSowFCZu6aS +F7Tn1Ceu1LPQdq17DXOlaSdrlFpS4Psf/GLOOh8LtJdDfJMeD9NFF8DB78rnNOVN +AZ2qAZYxMxxjRamHrg6pnnm08bGNI/aNXNyhssFPxqWcXFzwr3ZGoYCTph35xi0R ++43f9T/Wb0aqa1yyOkDVdtxDllX+spYUwb3IwxBnWq2PYeNqVi5Qy4R4aWlOVGRX +U8WZGLrkK9w76r882b+z9qhJlpvz9weCikpytj1cD3+ExOMsOPcJS3OfX0Gxdjba +LOwZVjjsa8cCnK1+wd/QIRhh+IHDdJkG2g== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.1/486.pem b/repos/system_upgrade/common/files/prod-certs/9.1/486.pem new file mode 100644 index 0000000..8ffd13a --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.1/486.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJDCCBAygAwIBAgIJALDxRLt/tU84MA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDEyNzE2MTcxM1oXDTQyMDEy +MjE2MTcxM1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsxYjdlYzQz +Ny04ODQ2LTQ2ZWMtYjdmZi03MzQ3MzM3NjAwOTRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrTCBqjAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg5LjEgQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MCsGDCsGAQQB +kggJAYNmBAQbDBlyaGVsLTkscmhlbC05LWJldGEteDg2XzY0MA0GCSqGSIb3DQEB +CwUAA4ICAQBy2AguldzCVHFa3C02RoPZu9fIakvyQMqtq+xN9fhbPFJdcDWG6nqZ +w63Oq6bzYYIkeM1KRfnteVwG54OOPlnhfnSt4AQ2HOjffFgMlZKbiCL1mV2UBsN9 +TFivspxb88I82X+31sYdqgd7HZP8e+hmhENLOoEwntCsG2bjtRzYlXLF/7JEWGml +/Dgfx5e2/wyerIQMQ384WfVpAxJBdJrkUe5W/ap8TnmkN/Ct9jKwIJ3JLSe+tbwI +KUHFLAHcAm/7zZzzNps4M6MC/XrakvG6HiBODzc2QMgxiGNIm+FNhF3sgJVebSyy +m9qbk8w/OjSCD2cdeZkuoLdi3f26GiJi3QzT5Bojcf/y2GTJzzzy3BaVlbOdwd+T +Do4AVv5nmF/0HkquJPCM92avLIOIuqbAU7q92y00l8ephPFo7dNorO1jqBSPEOzb +Ff9EXIqy12xicbAO4ob1WoTjcGwX8qTB16sfcYd+pSucqQnYaIyFaDrH7yYuWCWO +qDKyi3REbQNtAi7xYsMNLiS+ZA8XO394ijPFNqQgEcaGx20iY4l23y7D2rx+hUQL +TVMvxWD0eS1ZC3LuGFqF5A1y/MPxT8n0giItWI5ASlp5fzgxsq4aBdQ/Z2QuvtMu +gstPN2uvybhokLoNseOgEYz+Y5J8EuO1rrVMfRDLeKVqE9/O9z6aXw== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.1/72.pem b/repos/system_upgrade/common/files/prod-certs/9.1/72.pem new file mode 100644 index 0000000..2a2e476 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.1/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU8hMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDEyNzE2MTQ0MVoXDTQyMDEy +MjE2MTQ0MVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtiMjY4OGFl +MC0xOWRlLTQ4N2EtYjQ3Zi04OTNhZjA3Zjg5YTBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM5LjEwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC05LHJoZWwtOS1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEAMrD6Jk+a +rSI/tW1YXvO++Th/x6+kvYmPTFCSG2h3VyC+PUgsn/Oq+szuSlS6alWOFX2UWjyM +RI+VxCL0nRWHuqOWJXIxJy/qoqQwAikimsLfS7UgB/TnbP4d5J19jwtkVFlAIqWu +FEWiMgLBQyjaKuqR0puexD8N5QfAx+++7sh27NU2NPFHOKi0gv4omITny0so5gAJ +/AvgyU9p0czelRmO7cjtHD37fBMnVWRSfCAd2D5puadoQwAMe5a+YDQ95yQmpRi6 +FjQYXfuSVxdac1nLHXpK/KzRYP2YlTK7e6GbVTCR5QpTrXKv83hZS8KTZN1oSJ3H +Q97Ykyyl6xTUv0nGggtkSWlLY1S+LzV5Bs+Jx7M4Vwb9cKQVtWeKB1tt+caLzhlu +qMW8fELU8cbS2+9W7+wphRx7MUyEihKCMmEyUg5PNIRUxDiVCYgET3fAo38eWqv0 +By99ZBfzgaSN9N25zVvZd8/iDpNCvz49675nx/o04hbMDFc7b1JE9D6lsnqZc+Po +voeiQC/AYiyB0cwgEIoJL6VF0crYMOAUdxJlx5pYByrOMxMRkeBhREgtNjZOPMFC +FUvKuC15Mp6Cnkiu0jtoCRW649R0txxBeKl8oFq4WxAkjYitjk72Mmd6ogFr3BU4 +6dnEcucOH7d7QQUfdt7iMFSvwjQO02ya4Nk= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.2/279.pem b/repos/system_upgrade/common/files/prod-certs/9.2/279.pem new file mode 100644 index 0000000..8bd078f --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.2/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tU8JMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxOTEyNDA0N1oXDTQyMDcx +NDEyNDA0N1owRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs3ZTA5MmI3 +My1hYmYzLTQ5N2QtYWI4Yi03MDg1NWE0OTVjMGNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM5LjIwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOSxyaGVsLTktcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEAAQNrWf/OVdfqx1Ln9b+8EI812sNt+e3TbIT9Qs/jFQ0FeQGZcYsA +yBkB2uE9D6eBdTfteSk9LGazf7FYsvCCgv+V938qm1cfM+Y6UoUY6kE965w0DLgJ +Cre/yRP8k3VzBTl5luLt9QX2x3jY/jVGdBKm1L3fJdfgSQQLEikJK+z/Eweiwmfq +1lB/G9kIDNof3Jmm+TEBI9ToMg1zZBbmAudZGKp/jyDTo0Hnnfbr+TaPAYR8LD8A +lQNWs2WqKakTLdqm3zKqKBTm0L35KEmBLNK6Gu+43CjBjXd5IGctumUJ7Bklgxm2 +JqFT14jERJrE/YLTmu2JcMz/VzbleRQ5jtl/RmKEnUD3GgyaMujtVu2TOMxB0i8v +Ovi7Okdf3/VA83T9noW9EYbYFdq+o00oyAxFqQPASYRLVPsyX86OUe5tXo+s1w3D +fG7sPRP7fvAjWLL+u+BT9V9GppxF1OHbdBitKY/7KocbejkEpTAHVF2y4SJ96aDg +BXIsf7J78hpyAYdEhbL79djygH5iZloGapJzKHVSQ55Smaj6uIj5RkEAZTjdPmIE +PGqv74eMswYI6K/B2eHwZmuFaTtgrHfAtgl4jKEnc3qaaaDRpaXAjM25FiZavcC4 +1pr59D/wDv+kRzRK9Qy3iuyDsboeYnU30qPdrry5SCx4qsi80VxSRMM= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.2/362.pem b/repos/system_upgrade/common/files/prod-certs/9.2/362.pem new file mode 100644 index 0000000..e783c62 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.2/362.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIJALDxRLt/tU8fMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxOTEyNDQ0OVoXDTQyMDcx +NDEyNDQ0OVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs0Y2YzNmI4 +OC0xM2QyLTQyZWYtYWM2NS1iYWQ1ZTc0ODc2ZWFdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvTCBujAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDkuMiBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMCwGDCsGAQQBkggJAYJqBAQcDBpyaGVsLTkscmhlbC05LWJldGEtcHBj +NjRsZTANBgkqhkiG9w0BAQsFAAOCAgEArjsodDEcCbXin1wyhdjpSQhZEmgtO9hX +myaAAdOaWWrOKV6rSLEL2EhmeT/zCOPdmoErKHQrcdKutr6z9Bw06K1qiFwnfd/5 +SJJtkNBNJFtpTGDZHDG6GSbRg7hA9YbrqSoX6c5UYDX6VcUv9gNXlTIxyIT86kCV +i4QcS9hH7HvTTtfCnO7W2j47w3sGqt/mLYQWSa2ZzMzbGpBty1tLO5lux9+HVH9z +aRiiKCHrGXBbo6PiHjcl/Ikxc3rJRLWwI3q5tegC+MjyC2tmQdc1hhXKwZj51EMt +B+s4bLYv3WmVlcaheN6//aHz+cO6xw6OBVgUt62xBG4XprT7tbTVY1bS7+pQZm0C +y3eUZxkfofb5k7mJqGxebNGuXZWS1yJuaPc4AGyYvnqskKE6bsJbET71zS2qZnSU +MqYjVJ0LdoSFgNsgebbG63GovYFJYB/4cFGk2l+21D5bOXTb4CbJmEgBsVzoRXuH +/YeJSZ++h2Y78hjxFMXeztM5TaN2d/FPm41jN9fDeCwN0XZAhVLtvrizobEj/rZF +fF3om6ETcg7cRn7l00zsQGZeAjMDYXjQprcj074ER2Oz+6/nGuOlgBXgn76jm/2E +oomPas/YcyxOrG1V4oZAzyedOCuU+51iJK3qJXMYG/a4X8TXv5sKu/DpfLpIbaze +oRQ+8ay5+ys= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.2/363.pem b/repos/system_upgrade/common/files/prod-certs/9.2/363.pem new file mode 100644 index 0000000..2afb74d --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.2/363.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJjCCBA6gAwIBAgIJALDxRLt/tU8eMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxOTEyNDQ0NVoXDTQyMDcx +NDEyNDQ0NVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtmYjE2MTNh +OS04YjcyLTRiOTUtOGE0Yy0zNmNiZTVmMjg2MGNdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrzCBrDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg5LjIgQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDAsBgwrBgEE +AZIICQGCawQEHAwacmhlbC05LHJoZWwtOS1iZXRhLWFhcmNoNjQwDQYJKoZIhvcN +AQELBQADggIBAK9GawETqhJTkT0VUEQt9Kn4s92TRaEMB4/X5pWDOG4BBQu5T3LV +9xKelt6eVXPLvjytY3EgCZxm5xc+1zE/Gf9yypgH0vtNFqOr+/U9fn6YOfAwvDqo +2ozNAmA11m5TKi57IGhQJGTaxJdKdOk3NEuwMcD1TfQqDtqMF27OnWdO501URJJW +e52b0NraoeF6OicDKLgxc31fv457CcwT3k/GyAgmR31PXWkoySiB+Np/xf0uJQvf +2iI1V4iqfcygMqniJsjEi2IMcLXBxs9DdFRPDMeVkmO3JKXCFjV+sHZB9LbsRh1o +LTnAnEvfWx1nWUc3t9lwS54HlSKfOyPt/c+tPiXCHa19p+Z8gqk7KyztTMB1JeIE +0HdjFfwino66rcEshfBEe3mq3ohY4Yq79PACKmbVVqYanBiRAvoR7j7cZROvEmGJ +pq9qUZ91w4OwDx5G/IIUZVafGkVAiLACK3ACala4CQZmB/UKSihwnPiWXj7sdnYz +CjEyk/z9q2zaFvB/H3fQdol0Vy66eQ+DPRO+eMnppCvG6SI5nah0ZJSnfmR+26Mc +IeR2KzRoN1kwVMzMh3qOpSaneDOQTQONzzzmeOqVQohRbz9cfYZor99l8/LLXce6 +sH9LlaFP3aHoB5cdGyirTsB8Z65x/1y/4UrqdwdfO0o+DZH8kkhJ9roH +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.2/419.pem b/repos/system_upgrade/common/files/prod-certs/9.2/419.pem new file mode 100644 index 0000000..f35743d --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.2/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tU8IMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxOTEyNDA0MloXDTQyMDcx +NDEyNDA0MlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFthYzI5ZTA3 +Ni1mY2ViLTRhMTEtYjM3Yi03M2YxOGFiOTAzMmRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OS4yMBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTkscmhlbC05LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBAGxyb6Sk +QPbMUsdNVwMo5lL7yR/O8JsKfMgwnXgp4szymjgCRdYKAmk/TeceuHnM+1YxxyN2 +n11Oy67Vlcchpy5Vo9m1GjSk3oQ0biyJgSgMEoHdWPCwFYDTABMK5U/4Df7wBw/q +4TvnaX5EhYO4nQo7Pc0A4eFOvyeKv6lTw0Rv5WNHFCMZSQLdPSpGLHZYMF0lyl/p +yAQHpSkDFaB1mMvQLu9r7FbeRm2M8eyaRp1Ok4Ypxr2yXoBUQm3YPCpBBIwnqyD5 +trnpYkjncxe9q2DSRpYgRLEmu+2Qm5WbrJ0zZKYcs/jZbaH5mrWvNCLy5u3h442V +vHEX+ITDyuB0507ORxOpyt+k2+JenEcYNg7aHn/fUnsWjutGfEY4aDIVOnZxAf31 +DLDJXPH4/jjO9dd/4fKykgLP8OUq5x+VXAtufpyDUyYVqXnIXwfUPN0NSl8gtUKJ +ruHJ7gNyYqdopMquuOWb/Mew2DnwXFA9b3goYBbdaCzkt7k9Zdafzz6Mu1NnxUkf +tMyJOmPBCZSDHRilTA/dA+8Lvj+2H6q7aEFzLv1saAoktxB/fggpBJm3jRs4dy3T +xbcWnF++VANF6LQ+5bI8dxX6/FC5/zjJd1oEoiIS7dcFUZ0uf6x5aBuzjB+c2G0C +MnR4x3OKYQl6cy3pFJkQNgLoAHXVRsNOmVe6 +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.2/433.pem b/repos/system_upgrade/common/files/prod-certs/9.2/433.pem new file mode 100644 index 0000000..8af44fa --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.2/433.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGKTCCBBGgAwIBAgIJALDxRLt/tU8gMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxOTEyNDQ1NFoXDTQyMDcx +NDEyNDQ1NFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs1Y2E3YWM5 +Ny0yMmZhLTRmZDUtODU3My04NTc1YjAxOWQ5N2RdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBsjCBrzAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOS4yIEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MCoG +DCsGAQQBkggJAYMxBAQaDBhyaGVsLTkscmhlbC05LWJldGEtczM5MHgwDQYJKoZI +hvcNAQELBQADggIBAM/RY5sRACnyRmPKq0fGBuApNJU/m8q116Ls6FSpgZiz5xa5 +qUaWW2UHn/oFdXd7A3kaLL/9VbrFVfuC/wiz+te0EqHy2NPwlGgKmbVjFZn4PcoG +YzTopv5bwr90WONkLt7jDbhls8ZbGgPY6qUDA2TbtvHPDNPIM9ukoin9BrurksUS +XJ9UsV3jHV9yye/u6nM5FZmc9E0IagoS/asd0B3Y3egkbCn5bcfyYvV2Y8cn5/gg +SucFU1KIwxLOs+J61RfaFh5O/22ZJtPG/7zMYXPk/Luas0YZUEiVFjc4BWQRmM94 +dF142BpwOX9L5LBMtMhuB0sWpov7wlQamFiP2ZtsVLQgoqFKW3MXHZNy3f1FQM10 +ei9lglw7qrhoeKj7UtedL4zJREtr4fhG3TzLhDqa8GvIEr+JAPtg2eRslO6uu67e +RdE2AIYY6HWKQ5FcEfkCdW/hFFeVr0MjvBgQCYJlO8fmHxgOAQSKjjAzyRVAcjTk +x+8v69ucZ3uMZb6oFUZH+p67XuduCm3sQCFk+Ilscr/8E/MNB4x0bPCIXLK6T3aQ +9JKBxofBKtTSzyxEFEXqYLYJyQrAKXVpOgOrAMmeLHwA3IoikVG1x6/GwVuYTBUA +B0lW/aO8mL0caQyebnE4fpYef5GzrtvOt2rGB54N/3AipD5dOW/AeYP/Wcj0 +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.2/479.pem b/repos/system_upgrade/common/files/prod-certs/9.2/479.pem new file mode 100644 index 0000000..7ed9596 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.2/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tU8LMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxOTEyNDA1NloXDTQyMDcx +NDEyNDA1NlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs0ZmU2ODU0 +NC0yYjYwLTRiOGYtODdhYS02MzkxNWJkNGMyMjhdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OS4yMBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOSxyaGVsLTkteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQA0Sgnj5BjL +2p4U7R/TOMhkP/7Tm4AkdmMvhkUb7c0tZhY3jJaJJt2U9IBTd8sN5Z/mb3Zr03dQ +8gOb5mpfMGVrwoMjgDhZniRJ6/0yPKrgiRbGijHS6mXkU4dkzh6N/HyBjpQUuOaK +5isXArEx7kv3k0Hun2DPdw8oBhXgH7x0TL3K3Yz+VXiX6Tcn4tlMTTBuR8NngP57 +V9xmtLncR8rSdNr8j7cxAoXGaSPlE4K0cTGz87gAja6702CVk8ueB8bU68S47ZEK +xLDcj1iWiVjYiZSFO7gWFavrlitEE+yW8c6oLVVXKfA8TxrJ1VuSTqU+fOojx5sM +qtNqeMPLzz80M6dNrfuOJ+FHuwXu6Ytj8u/u24ds12TU7NCV9YLyfB2NDhueALtr +/6OKlANU4DdxdL3947KGnnQZLpEpDpvsgOUBFGOivNIbHt0QXpV9tnMwsWx6tQ82 +exnin3PJBkR2rg5/xv9ZXNb4WdYA3FwLsyej9gM7S4rFgMZzr7n2S5Dd8v9kRYHl +JGUdY3LsY+SfxyYNalJirt3JxeIuLg0QZIXQP0BwBX92zZb+Zw4MxI1AcJvxsGkf +7vGqTnIlPPER+IdK6SNeF3yJ4FQb6U1WMAyw0yqFPm4s7asaV/aULZu6+p13NlKZ +r331U/otUJX8S2irN9kUt/oKdV/MVlgsFg== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.2/486.pem b/repos/system_upgrade/common/files/prod-certs/9.2/486.pem new file mode 100644 index 0000000..c786ea8 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.2/486.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJDCCBAygAwIBAgIJALDxRLt/tU8hMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxOTEyNDQ1OFoXDTQyMDcx +NDEyNDQ1OFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsyMzg4MDQx +Yy1iYWMxLTRmZGEtYWJjZS0zNWNkMGY5MzQxMDRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrTCBqjAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg5LjIgQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MCsGDCsGAQQB +kggJAYNmBAQbDBlyaGVsLTkscmhlbC05LWJldGEteDg2XzY0MA0GCSqGSIb3DQEB +CwUAA4ICAQAHqIuoFbUAfhRFzLGeuTaJVidWk7nbmwyGKOHBDHannogHXSxJM5nt +Ct5vFqG7uC0UE0JgUPz/q2o6iFhro3slfvWHA1sW83XN+yiaTtDIQl8Y7O7n4wJ1 +NXH7mRC/L+58P1/HJ3gEaBdBfKiHte6J8FPonuRkfJrREiPgo+B9zNf0BEjl6xqr +7SgfJZMO257Lkg3/Tl4amZ8M/cm/P/Z+kprfvUDsJzBQJ1z7qhriUuXFJfS799mG ++UV/wO0ZtdhGaHAXR28/MmtearogcM9rhp9DfdqmKdhktIcoHBuDXLUxnwUhX+W3 +AJTNf7YwyYUKEHzhPLJH8v0JH8N/Cfd2PQHrQ1zni0D3BXTygHrbDEWZDm+3jSOF +joyEIFHlWIb7eF67a7x/7iiS2op07E0Ka3h3SYHy/l+WvqPg8O28Zz3U6o1dCtBT +odDtz9FVcGJ1MhMZ3F71XvM+TNEASJW1aK0bRoJMUXZ1krtHWUCsZuea3X5JAOey +CycnOcUkvu8tzIOmgaqPmeolG/tKdlEY90Sc8XLw/KWsW0tfqqU9weppoZnCqPyp +8YQiUEumjpGOtZUJRvootlBN9CQH8ilCOl1c4CsGdcmnXwnC0Z8gYzM+HhcqYenD +Y+O3lNd3WsLoQrGfj2dMYWnKFOLKJovaYpOXiQOW6ghpM5bWdqVIuQ== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.2/72.pem b/repos/system_upgrade/common/files/prod-certs/9.2/72.pem new file mode 100644 index 0000000..dabf850 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.2/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tU8KMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIyMDcxOTEyNDA1MVoXDTQyMDcx +NDEyNDA1MVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs1YWUwNTdk +ZC1kMWI3LTQ4NzEtYTA5MS0wYzY4MzcxMTkyZDldMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM5LjIwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC05LHJoZWwtOS1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEApFHsXGnC +mGFM6yMkJYDGxYGDdsOY0xl0IMT6m2bvMRlbcykLhOL/CxwjZsS/mGPeHG4Q44+e +pq+xMh3013klRN9iZoKFHSBTuXHDxzjjEPYR414O7FehNB82f3GlkLv6z57WeAxw +wAqPvFcsIACzVEDOvSWQzn5aDEJURHT2caax/Psm+NT5nBneueySIOe5FDZmpgDJ +7xqnUCaniM8RN4YlNQLm8V5wM9akiIhp/60Pq4bqSvlN23vOQ/QOTUtGyGlBtsGs +LVhR0ssaTKlHbA+1xntZkEjNI229PcFFYeWXw5Fn/18l/ulfGCmbOMuRfDpC15Wl +dLGETkpUVcflhJOloYcaPi+6RSXEMqyMSgLfN0k1IDJdV2Gh0Ok+HUYlxgPZ07+Q +OW2jky9+tC2kLDh424J1sZUB+M/ONGJGHwXBHsIqMcbhVzDpGpHkQoMt6jDWw+li +mHmwmSqKGxH/uhnVepSH6iJi4pF16YhrteW4wjtmrFFp7RsvxggqfHL8IgZSZ/Es +pvTqSygWCU6hHoHdQdIrVph1VYSpvNyaEsopj+4F8oHSzC+sXQ+4iJ++CpCFised +pG34sx+vFi/kcRnYnd8z20dbSVeH2j2+WSaYiV53mxUdA/Hp9XEn2u7p8WWIcv79 +21f+YSbmvDuP6xg5D/l9lg1q6FljH6NcpBE= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.3/279.pem b/repos/system_upgrade/common/files/prod-certs/9.3/279.pem new file mode 100644 index 0000000..dc6d933 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.3/279.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJTCCBA2gAwIBAgIJALDxRLt/tVOwMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExODE3MjYxNloXDTQzMDEx +ODE3MjYxNlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4MzNlZjBl +ZS1hM2U2LTQ3NmQtOTczZi1lM2I1MTczMGJlMGRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrjCBqzAJBgNVHRMEAjAAMEMGDCsGAQQBkggJAYIXAQQzDDFSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuMBUGDCsG +AQQBkggJAYIXAgQFDAM5LjMwGQYMKwYBBAGSCAkBghcDBAkMB3BwYzY0bGUwJwYM +KwYBBAGSCAkBghcEBBcMFXJoZWwtOSxyaGVsLTktcHBjNjRsZTANBgkqhkiG9w0B +AQsFAAOCAgEASI4aXuhlVXPj5zmgb3YBTJzQ0QA/+e8jfSmm5NEOagwYvSg5ISp8 +urRpmGMnOJboeXylvSmqPIjVQoJeTk1yE7OqB7F3NDEiPY0QCOHpvHdHd4qjwpp5 +yw2NVk9+8b/3vD3M49bGlOwG2pHSaeybPlrJLBPF2ARHO0HxtqSx2spB0k6XBBG/ +rB6PUtUKbudtCvVNuG70YPAXpvGANgwHNWP6o2EsnZPvATrmvA/PtElNCF39syqJ +Y1yYe+FYkr9y/ToUTDUFN4aRljrFCHZrGCwz8xI72JqKAB5EaLWdiETWaeWL3VCi +6CVRDSQ/BvSl+C3bJ7n98Rlt+hEawxGK1zs4VAvpOVq2A1jas9Ia4S+1xvmWVAdi +it/vH//5I2qIwjE2CGY5Ov5vywW0JT9+kxL1zGiOG8kwxmOdllqqFqQW8eKK9mUe +HMLZKKX/ASfpg23B8ZaEFiaOCHLqirGc2hokPFWELv6lNclqFajMdWPNwDglP+OK +ljg+4XC3gqYgt0Cjv/skg6GnWMh4F/xRWDIQAx1TwWPbdF9f2tEmoRspNj+0FLCI +0rTZ5JRKA7w8tD0TBKZooH7iMxdcJ+mtccp7F3SWpbZMNwR/HxoEbXCtgIhX4mPf +eJxFT+hA2DbrMI/hPQj7UlSt+suyTzPYphXHy25XGvwxSo/ejudOrq0= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.3/362.pem b/repos/system_upgrade/common/files/prod-certs/9.3/362.pem new file mode 100644 index 0000000..80a0beb --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.3/362.pem @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGNDCCBBygAwIBAgIJALDxRLt/tVOaMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExODE3MjYwNFoXDTQzMDEx +ODE3MjYwNFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFszY2M4Mzk2 +My01YmI2LTQ2NTMtYWM3MC03NTc5OTFjZmU1MDddMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBvTCBujAJBgNVHRMEAjAAMEgGDCsGAQQBkggJAYJqAQQ4DDZSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIFBvd2VyLCBsaXR0bGUgZW5kaWFuIEJldGEw +GgYMKwYBBAGSCAkBgmoCBAoMCDkuMyBCZXRhMBkGDCsGAQQBkggJAYJqAwQJDAdw +cGM2NGxlMCwGDCsGAQQBkggJAYJqBAQcDBpyaGVsLTkscmhlbC05LWJldGEtcHBj +NjRsZTANBgkqhkiG9w0BAQsFAAOCAgEAAZCh34sM762ZlnRF4Gi0hfmRr+z9pDmn +IKw7M3wonyVmvPOCixNMjJGY5K052ZA8TDctC5FfJoKdr3cbEqIxBhHAVS8UYmhu +qK4egMqUNI3Ui4DaYCDw9Ic7UDZ6KEf2FbK8OHGSZgCG6KCcECGJ/mBzryvP3Ctc +KYdRHZLJ9h/HmjjD1fhQ0mZySNzKu3XlqT8fqi8g9XLS00defVKrc5G6TdpQJoaQ +koWLPmSsWQTjQlo6GuTpe/lcsYWzEqjwOpX7eltkAXGYZTf47Ao02XfVuVoRvIEJ +uESGh18LskQLacrrIBoztjZK7BQcCDfaL26qW5cPSPbZcBbMbc2Y/mL6zCfnaf2t +VQ0hs2+n/U6f5enymfig9jYdhqq4NvnhhTNC5VZERXuR92bnkyBozogtRQ27RHFT +cKRF6v6tG8/KWZqmHj4v+yLh0s3ECFH48wO1dzyFhQQWhwxmXQDb5XA8OjpxEGt/ +F9HrNoJhyhXLEc4Sphea5XsDFUYZbGR/MO7f7Pa5SeVqmz35BOLpZVwzU2Dq65Ww +RPl+litDq4YrrPmdbagB0P0P4uU53i0k8oWF57eqEGgtgJEMlXFkAhwgQ1Pdh37p +KoczLfGsv79MDbtjbwXZZ1AwDpRlkjEGOkb7zDkYiVhr/UE+Mwv6qNXgdhuKA674 +GXHtOldbC38= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.3/363.pem b/repos/system_upgrade/common/files/prod-certs/9.3/363.pem new file mode 100644 index 0000000..63ccf16 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.3/363.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJjCCBA6gAwIBAgIJALDxRLt/tVOZMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExODE3MjYwNFoXDTQzMDEx +ODE3MjYwNFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFtmNWYyNjUw +Zi0xODVmLTRkYTItYmFkYy0zOGU2OTBhYjY1Y2FdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrzCBrDAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYJrAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NCBCZXRhMBoGDCsGAQQBkggJAYJr +AgQKDAg5LjMgQmV0YTAZBgwrBgEEAZIICQGCawMECQwHYWFyY2g2NDAsBgwrBgEE +AZIICQGCawQEHAwacmhlbC05LHJoZWwtOS1iZXRhLWFhcmNoNjQwDQYJKoZIhvcN +AQELBQADggIBAALbefHcK3VySf323O/ORY07zjxqGZAccrIT5BhvyCmr4DNtElMO +5JdcTuabdx8srv+fHbne8DPKunXwxXoiCE3OuROwb8TvxEkdhNt9X+MvyIIaqAJE +yftfq2fzh01rtSwu5PpWQzYX7NqFaJnZAOT0aVMZfufGuBflP4wWUBfhVdLt0/uJ +NSe59gFuq9U8XPfDk7rcL1gmHT+n+4rxaNUtrRul0o8KR/kCytTYmS/HrrAfmzQW +w/oJOqMIfjmgCTNkE4j/ZGR5hqGcxLvqHBV5cD5Og7bPLhM/FCEc1QdBD6Gkoocu +R4k+oZuT2St12cD56yB4gVSeFX4XYt3ehX+zmHP1el/m6ZFM1SPqIsHbs549cG9D +s8mNxlMIOY47n3welSYWvGOVEReB1ihX74tDmfC3keg2t5qVCyQHKAddQ1z+GM0Q +ngiJuYEf9rUFuFe23bEy3NkCLWSfQYDsHC1FjaOhxUCNSkN6YW8IUXQWz5Rb5Som +NucA3B+F7e43hi5ZOgHQ6BY+OiUnyt2XUWbJqBuapiq3XWuDMT5hkVC7yEqS0X2u +jHluXbxExHjkQydVWQvVDSffOcimcHTddAGMI3UFmDAzzdRXlbm/By5uGZQbUcag +MG0E415u4myf7Sry8X1Fc/Dgmxj+aU6jsE+0Ur2J08iUC8FMoqRaVNs/ +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.3/419.pem b/repos/system_upgrade/common/files/prod-certs/9.3/419.pem new file mode 100644 index 0000000..a64cb93 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.3/419.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFzCCA/+gAwIBAgIJALDxRLt/tVOvMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExODE3MjYxNVoXDTQzMDEx +ODE3MjYxNVowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsxMDY3YTc5 +Mi01OTk2LTQ3MTEtODgwMC0xOTUwOTU0NzU4NTBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBoDCBnTAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYMjAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIEFSTSA2NDAVBgwrBgEEAZIICQGDIwIEBQwD +OS4zMBkGDCsGAQQBkggJAYMjAwQJDAdhYXJjaDY0MCcGDCsGAQQBkggJAYMjBAQX +DBVyaGVsLTkscmhlbC05LWFhcmNoNjQwDQYJKoZIhvcNAQELBQADggIBACN+Q+sC +Czu4DtARf+f1yOJbM6fZGI0j8O4uJ6fm6pTCG5VLMhaOmz19MF3tjd/3ZpyZirq7 +dUoYiTA1IN9k/f3pm8uunCmpG3tJyM7x2wL72B+7d37UbiaZ042h0oCjy0jb9CBg +cfb9g+MNCCWBoAExpFavwG8x0FQCoxWIOal/yYN8GGGTZYZ7oj3dwpdJ9XYhSI2J +YhHaaiQJAQihl+m9yVRw6DKm98tfgMPh2C7W5Wp/krFQbE5vcJZbkX7IN298grd5 +uacOMYUK7szcGCW957rCto+she4Ig6Z/eQznWzAtQz99rVzDX0D6rV8OgYfmofXB +E/QebHOlLe8M17rZPslGD4UHXqZ0aqeKFLUzpM45jA6jJ5b78r7KpiPcYFE5OpFR +6NakTavJ8ilUBIgSXQicVZH5LNvELgO5dzCjlrfJqj5tGvPwEHUP/uSpKg0Z71DH +2yW9U4WoYz3s1FEc5vcXrU+vz7Pxl7sELiJ753fH71kUyG2QjwxgfbdH0YwZ/a/t +sTrjyTrFpOajacPSdBp/SMOul40eRkJPmDNRp6kIzU+wRKO+x2Dsm9ZNklTk1Tk5 +FX8y1eyYUyO3IPRFzO9tmQYvNrCbnxtnVHvsiK2bQFkKEy8SUOYKbjOJ9p4koAjm +zNT9mgMCVTfmKugrpVbptkDlWlbmRMGakOs1 +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.3/433.pem b/repos/system_upgrade/common/files/prod-certs/9.3/433.pem new file mode 100644 index 0000000..9c9fecf --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.3/433.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGKTCCBBGgAwIBAgIJALDxRLt/tVObMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExODE3MjYwNFoXDTQzMDEx +ODE3MjYwNFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFsxODFiNGNm +Ny1mZTJiLTRhMjQtYWJiYy0xYzJlYmUwZTRhOGVdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBsjCBrzAJBgNVHRMEAjAAMEEGDCsGAQQBkggJAYMxAQQxDC9SZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIElCTSB6IFN5c3RlbXMgQmV0YTAaBgwrBgEE +AZIICQGDMQIECgwIOS4zIEJldGEwFwYMKwYBBAGSCAkBgzEDBAcMBXMzOTB4MCoG +DCsGAQQBkggJAYMxBAQaDBhyaGVsLTkscmhlbC05LWJldGEtczM5MHgwDQYJKoZI +hvcNAQELBQADggIBANaD1YdjSAn6VNTSFKuX/sIc0VhrtbcXLXj6U3AdDvoJN4Yi +Qm3fFn2Y4N7W8U8gREaIxRaEUG3G1Lru6S9uYIoZu6w+faHOehbKyTU07xJ3YwIU +lWdIciAwnOsUxnoMN7NDW1caFGPUTgPrDArzkHSyn88Hh+dmtuocvZ3s7WSZqXTC +opZjxbP/O5+Td7NKBNmAEdi7lIQVWcljyrv+2HxlYiIfZ6o0iRBpbabhxoKCDXG1 +p1e5Pz92nXXPHG0lWvw6XNCebnEwU91ndEebbRI4lIe7FNYdIIhylWW8wAmPT7eP +rEX6Q4Vd3LDbGwcGQXyxVgpqCyW62VN9BlBIRHowGI9qKPBctTANUmmyNhswiiO5 +j3UtRHCv3iJcpEv7iW6volH4HwF+uv/PtGJCHeDWnt6qUleBbtjvmapzCRhUOzID +To7n5blIFCptEfcBUnT8SlUZWKQ2lhf5KZ0k9vPHWtFib0pJ1WETwTiho6BeoY8F +2HfD/6xFuOHshsjkl3druUpX3xjLOqqCaSDKwGwJTMt+TT//GwasL7OvheZG4dIa +OrZXnzl+pw5cNSofOC1FWKi7xD0x8fAmQbMwLf/eKrpynVnFvcDsWbEAtZfU6jy0 +i2oFGDjHYX9VwnB9pjRk6gm7Y1eCQSkheP4gM/w7+FVuW4azbJ3R4vQm/kSO +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.3/479.pem b/repos/system_upgrade/common/files/prod-certs/9.3/479.pem new file mode 100644 index 0000000..8217fc3 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.3/479.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFTCCA/2gAwIBAgIJALDxRLt/tVOyMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExODE3MjYxNloXDTQzMDEx +ODE3MjYxNlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs4MzdlYzZi +OC1mZWQyLTRhODUtOWJlMC1jMjJkZDM3NmE2YjBdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnjCBmzAJBgNVHRMEAjAAMDUGDCsGAQQBkggJAYNfAQQlDCNSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NDAVBgwrBgEEAZIICQGDXwIEBQwD +OS4zMBgGDCsGAQQBkggJAYNfAwQIDAZ4ODZfNjQwJgYMKwYBBAGSCAkBg18EBBYM +FHJoZWwtOSxyaGVsLTkteDg2XzY0MA0GCSqGSIb3DQEBCwUAA4ICAQDDwbB0lRuo +eheuRxVPx5mOpwMk72D4/940FBBIfgpJ0tyelkSOEBnL4GmN5HzN6vXwyj03N/M7 +Q2d9lAMKjsobWJZ4Wd12eJhB1FYUd/LNv62T9QL1Xac7ve/LWUNIXygcazh2nwVw +jJo1gzJ9BLIExZiNLpBESeMcJn+Vgi9tQGcqD+QjWH5E14xwHD1j0Ni8GuQpr/S5 +KS1sF1rVl+m5BZP93NfNlijL9OXIzUyX78wq3vh+YcfrtyMi4Ric3s+6sXz/1l1E +EfUyzxJy4AGuzAYA1zGmQhNv0GrqWnXoqjyNPCqZz3c5K1o6BaQGZoyojA6sSm0D +2QW0j4haVimS0x8FboEOHIxpxNl91iTQ5OwzwmGxzNssW/w+guPzGjo9fPg0gptY +witpiGTsAeqbqQ8uyNhXVkZA1vcYwP44MtZdQTGt1VIRyVnPzFEoGmfGG5a6vk7v +4GBWjM/uSyJHXFe3GZFZcnmwchYEbKf78tAaWrbhfWSf5ahj68VJNc/waNfjQ8TW +HPlV1x1RVTuGRDocWGUYabq4d3deU6vw3/EYowfphwK6ID5Sh/jfsVtO8BasVvK4 +d1s51rINFw7chj8leszo3zKgdaGhJG5DNE+/lh/zq4+3SSVmMz60ymbSyJ58am1m +maoFBh+goPx/hrRTXxtfp+qNp4C7xY8o3Q== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.3/486.pem b/repos/system_upgrade/common/files/prod-certs/9.3/486.pem new file mode 100644 index 0000000..591f473 --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.3/486.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGJDCCBAygAwIBAgIJALDxRLt/tVOcMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExODE3MjYwNFoXDTQzMDEx +ODE3MjYwNFowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFthNWYyMDk4 +NC04NGYxLTQ0ZTUtOTNkNC0wMzJiMDI1MDQyYWRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBrTCBqjAJBgNVHRMEAjAAMDoGDCsGAQQBkggJAYNmAQQqDChSZWQgSGF0 +IEVudGVycHJpc2UgTGludXggZm9yIHg4Nl82NCBCZXRhMBoGDCsGAQQBkggJAYNm +AgQKDAg5LjMgQmV0YTAYBgwrBgEEAZIICQGDZgMECAwGeDg2XzY0MCsGDCsGAQQB +kggJAYNmBAQbDBlyaGVsLTkscmhlbC05LWJldGEteDg2XzY0MA0GCSqGSIb3DQEB +CwUAA4ICAQC+1Krw6yHDMaqNxAN1dlGAJA58Sm5RUimBgyHDG/IGo5uTJWuqJF2J +rbfcoo1pswElQiMRUrChbT3vUXgXaORlVQHdnBepH228qTTA33CiP2UoQKYwR1rj +FtZGnyUdqwITn9Sm8ZbX0fa74UUZ4bS1IkZQKJdKHkBQHUjhtEUvA76baJjWLG2Y +f282IVG1t5Z8zRDhR6akabtIjEd8AQZ4EFufFLCyZMxKhvKd4RYOvBOD06AFl3KM ++kiMjFQlLjUF3ldB7JnSpMwN829ocX3rrGYQMzYz6yg5ByxWmYqHMymBgRhC/gDX +Sxi0Znej559QBTXidLy5exASrc/t8iwwlr94WLRDfAyV2Ven9OQu5/fbdnCY2Wb0 +2MOkglx6tVgl+Y1H2pfF7qOcS3iYDSkCxPlgWXYIoxsxvwW0W0nGA2WsIntnP9UK +5cFX5lFMgsNGxqFmrHVR1Q9DVg9tCV3uG9lQPvwX3bHHtvaxZD5NJ6HgvEaNcvyN +ZW6QYTnaam6XqavL0sBw9/N01SEW7NBM1DO3VGMrWzWF3nTADUbea9wCVqXkkydd +spjFWAlxMMVWXz0CWCNdBiylKHhpmencrkA0wxjaDntJcm8qtmJol1obz8/5GNxX +BzszVd7VwwGY6G7h929bctv9NsyfmA+NlXYWFp5Hwdqp+jmBnxlr3Q== +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/prod-certs/9.3/72.pem b/repos/system_upgrade/common/files/prod-certs/9.3/72.pem new file mode 100644 index 0000000..25dbb8a --- /dev/null +++ b/repos/system_upgrade/common/files/prod-certs/9.3/72.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCA/6gAwIBAgIJALDxRLt/tVOxMA0GCSqGSIb3DQEBCwUAMIGuMQswCQYD +VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExFjAUBgNVBAoMDVJlZCBI +YXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0d29yazEuMCwGA1UEAwwlUmVk +IEhhdCBFbnRpdGxlbWVudCBQcm9kdWN0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJ +ARYVY2Etc3VwcG9ydEByZWRoYXQuY29tMB4XDTIzMDExODE3MjYxNloXDTQzMDEx +ODE3MjYxNlowRDFCMEAGA1UEAww5UmVkIEhhdCBQcm9kdWN0IElEIFs2MGExNTA1 +Yy1jNDJkLTQyNzktOGM4My0yNGQyYjFmMDM3YmRdMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEAxj9J04z+Ezdyx1U33kFftLv0ntNS1BSeuhoZLDhs18yk +sepG7hXXtHh2CMFfLZmTjAyL9i1XsxykQpVQdXTGpUF33C2qBQHB5glYs9+d781x +8p8m8zFxbPcW82TIJXbgW3ErVh8vk5qCbG1cCAAHb+DWMq0EAyy1bl/JgAghYNGB +RvKJObTdCrdpYh02KUqBLkSPZHvo6DUJFN37MXDpVeQq9VtqRjpKLLwuEfXb0Y7I +5xEOrR3kYbOaBAWVt3mYZ1t0L/KfY2jVOdU5WFyyB9PhbMdLi1xE801j+GJrwcLa +xmqvj4UaICRzcPATP86zVM1BBQa+lilkRQes5HyjZzZDiGYudnXhbqmLo/n0cuXo +QBVVjhzRTMx71Eiiahmiw+U1vGqkHhQNxb13HtN1lcAhUCDrxxeMvrAjYdWpYlpI +yW3NssPWt1YUHidMBSAJ4KctIf91dyE93aStlxwC/QnyFsZOmcEsBzVCnz9GmWMl +1/6XzBS1yDUqByklx0TLH+z/sK9A+O2rZAy1mByCYwVxvbOZhnqGxAuToIS+A81v +5hCjsCiOScVB+cil30YBu0cH85RZ0ILNkHdKdrLLWW4wjphK2nBn2g2i3+ztf+nQ +ED2pQqZ/rhuW79jcyCZl9kXqe1wOdF0Cwah4N6/3LzIXEEKyEJxNqQwtNc2IVE8C +AwEAAaOBnzCBnDAJBgNVHRMEAjAAMDsGCysGAQQBkggJAUgBBCwMKlJlZCBIYXQg +RW50ZXJwcmlzZSBMaW51eCBmb3IgSUJNIHogU3lzdGVtczAUBgsrBgEEAZIICQFI +AgQFDAM5LjMwFgYLKwYBBAGSCAkBSAMEBwwFczM5MHgwJAYLKwYBBAGSCAkBSAQE +FQwTcmhlbC05LHJoZWwtOS1zMzkweDANBgkqhkiG9w0BAQsFAAOCAgEARLQjlxaO +jQEdcV7ycIcjgwpeeB4TDFrg+3NCnBTqHWw4zoKv0r19CRuMNW7uyKlpRRk+0Eyt +zblQD9cxsNywibOMliSV6aKZb7jVfx/0wbx+w+7A+n2YpkHedWQpcbSYsrQ+GZLg +ORTfbpqt+qXUyx2PqyGqwjpO0mvW1cpV4Nqm0vs8veAPMuJd9wnbb8n3Ib/XcmHA +hlnTCoO5kYZk9xAFYNmdWQSSfmD3hH7bdWMV17ppWrkNY14RF8BjYcmHOaUOAGdf +caKDx9I4QeQfKDfBhvxj9KdAecQEAjhxuD3qjwkQfbrGkRdKsMAu85xagvHAXwaY +tobmyUZg/uXozr8Vss3wwWxllDxtGpQG8mAUTlly6vvlbDXGns2Ga4RbEA++vRUM +rOK2r7lCg8bexbHRa+F4WtUhrcZ3gIiGGDJt93aOcfgZul+FW/fXQSYKYP/C4cEn +1VhUakpp+j+Iffu7Y5TPGE9fOGxbkmcUBbLxDOlt1M58F6tt9rOLCcLUDBU20ZLD +GJVE7BqyQQ4FEkzPZ6zb1fbVWP1VPZT00Mgb6FFyrfo4FeLSoqMIU7y/1LRocwi2 +BW7E9IfcO3OPdIu3hsGs7vXd+juMj8pGres6bp8EFS5wF7QgcSBMTGO4/bPAg0Wv +pUuiDsjVPVq0wfhTOOj2Tp6mPKcg62IRpT0= +-----END CERTIFICATE----- diff --git a/repos/system_upgrade/common/files/rhel_upgrade.py b/repos/system_upgrade/common/files/rhel_upgrade.py new file mode 100644 index 0000000..34f7b8f --- /dev/null +++ b/repos/system_upgrade/common/files/rhel_upgrade.py @@ -0,0 +1,226 @@ +# plugin inspired by "system_upgrade.py" from rpm-software-management +from __future__ import print_function + +import json +import logging +import sys + +import dnf +import dnf.cli +import dnf.module.module_base + +CMDS = ['check', 'download', 'dry-run', 'upgrade'] +""" +Basic subcommands for the plugin. + + check -> check we are able to calculate the DNF transaction using + only the YUM/DNF repositories metadata (no packages downloaded) + download -> calculate the transaction, download all packages and test + the transaction is duable using data contained in RPMs + (include search for file conflicts, disk space, ...) + dry-run -> test the transaction again with the cached content (including + the downloaded RPMs; it is subset of the download cmd)( + BZ: 1976932 - not enough space on disk, + PR: https://github.com/oamg/leapp-repository/pull/734 + ) + upgrade -> perform the DNF transaction using the cached data only +""" + + +class DoNotDownload(Exception): + pass + + +def _do_not_download_packages(packages, progress=None, total=None): + raise DoNotDownload() + + +class RhelUpgradeCommand(dnf.cli.Command): + aliases = ('rhel-upgrade',) + summary = 'Plugin for upgrading to the next RHEL major release' + + def __init__(self, cli): + super(RhelUpgradeCommand, self).__init__(cli) + self.plugin_data = {} + + @staticmethod + def set_argparser(parser): + parser.add_argument('tid', nargs=1, choices=CMDS, + metavar="[%s]" % "|".join(CMDS)) + parser.add_argument('filename') + + def _process_entities(self, entities, op, entity_name): + """ + Adds list of packages for given operation to the transaction + """ + entities_notfound = [] + + for spec in entities: + try: + op(spec) + except dnf.exceptions.MarkingError: + if isinstance(spec, (list, tuple)): + entities_notfound.extend(spec) + else: + entities_notfound.append(spec) + if entities_notfound: + err_str = ('{} marked by Leapp to {} not found ' + 'in repositories metadata: '.format(entity_name, op.__name__) + ' '.join(entities_notfound)) + print('Warning: ' + err_str, file=sys.stderr) + + def _save_aws_region(self, region): + self.plugin_data['rhui']['aws']['region'] = region + with open(self.opts.filename, 'w+') as fo: + json.dump(self.plugin_data, fo, sort_keys=True, indent=2) + + def _read_aws_region(self, repo): + region = None + if repo.baseurl: + # baseurl is tuple (changed by Amazon-id plugin) + # here we take just the first baseurl as the REGION will be same for all of them + region = repo.baseurl[0].split('.', 2)[1] + elif repo.mirrorlist: + region = repo.mirrorlist.split('.', 2)[1] + if not region: + print('Could not read AWS REGION from either baseurl or mirrorlist', file=sys.stderr) + sys.exit(1) + return region + + def _fix_rhui_url(self, repo, region): + if repo.baseurl: + repo.baseurl = tuple( + url.replace('REGION', region, 1) for url in repo.baseurl + ) + elif repo.mirrorlist: + repo.mirrorlist = repo.mirrorlist.replace('REGION', region, 1) + else: + raise dnf.exceptions.RepoError("RHUI repository %s does not have an url" % repo.name) + return repo + + def pre_configure(self): + with open(self.opts.filename) as fo: + self.plugin_data = json.load(fo) + # There is an issue that ignores releasever value if it is set at configure + self.base.conf.releasever = self.plugin_data['dnf_conf']['releasever'] + + def configure(self): + + on_aws = self.plugin_data['rhui']['aws']['on_aws'] + self.cli.demands.root_user = True + self.cli.demands.resolving = self.opts.tid[0] != 'check' + self.cli.demands.available_repos = True + self.cli.demands.sack_activation = True + self.cli.demands.cacheonly = self.opts.tid[0] in ['dry-run', 'upgrade'] + self.cli.demands.allow_erasing = self.plugin_data['dnf_conf']['allow_erasing'] + self.base.conf.protected_packages = [] + self.base.conf.best = self.plugin_data['dnf_conf']['best'] + self.base.conf.assumeyes = True + self.base.conf.gpgcheck = self.plugin_data['dnf_conf']['gpgcheck'] + self.base.conf.debug_solver = self.plugin_data['dnf_conf']['debugsolver'] + self.base.conf.module_platform_id = self.plugin_data['dnf_conf']['platform_id'] + installroot = self.plugin_data['dnf_conf'].get('installroot') + if installroot: + self.base.conf.installroot = installroot + if self.plugin_data['dnf_conf']['test_flag'] and self.opts.tid[0] in ['download', 'dry-run']: + self.base.conf.tsflags.append("test") + + enabled_repos = self.plugin_data['dnf_conf']['enable_repos'] + self.base.repos.all().disable() + + aws_region = None + + for repo in self.base.repos.all(): + if repo.id in enabled_repos: + repo.skip_if_unavailable = False + if not self.base.conf.gpgcheck: + repo.gpgcheck = False + repo.enable() + if self.opts.tid[0] == 'download' and on_aws: + # during the upgrade phase we has to disable "Amazon-id" plugin as we do not have networking + # in initramdisk (yet, but we probably do not want it to do anything anyway as we already have + # packages downloaded and cached). However, when we disable it, the plugin cannot substitute + # "REGION" placeholder in mirrorlist url and consequently we cannot identify a correct cache + # folder in "/var/cache/dnf" as it has different digest calculated based on already substituted + # placeholder. + # E.g + # "https://rhui3.REGION.aws.ce.redhat.com" becomes "https://rhui3.eu-central-1.aws.ce.redhat.com" + # + # region should be same for all repos so we are fine to collect it from + # the last one + aws_region = self._read_aws_region(repo) + if self.opts.tid[0] in ['dry-run', 'upgrade'] and on_aws: + aws_region = self.plugin_data['rhui']['aws']['region'] + if aws_region: + repo = self._fix_rhui_url(repo, aws_region) + + if aws_region and self.opts.tid[0] == 'download': + self._save_aws_region(aws_region) + + def run(self): + # takes local rpms, creates Package objects from them, and then adds them to the sack as virtual repository + local_rpm_objects = self.base.add_remote_rpms(self.plugin_data['pkgs_info']['local_rpms']) + + for pkg in local_rpm_objects: + self.base.package_install(pkg) + + module_base = dnf.module.module_base.ModuleBase(self.base) + + # Module tasks + modules_to_enable = self.plugin_data['pkgs_info'].get('modules_to_enable', ()) + + available_modules_to_enable = [] + unavailable_modules = [] + for module in modules_to_enable: + matching_modules, dummy_nsvcap = module_base.get_modules(module) + target_bucket = available_modules_to_enable if matching_modules else unavailable_modules + target_bucket.append(module) + + if unavailable_modules: + dnf_plugin_logger = logging.getLogger('dnf.plugin') + msg = 'The following modules were requested to be enabled, but they are unavailable: %s' + dnf_plugin_logger.warning(msg, ', '.join(unavailable_modules)) + + # Package tasks + to_install = self.plugin_data['pkgs_info']['to_install'] + to_remove = self.plugin_data['pkgs_info']['to_remove'] + to_upgrade = self.plugin_data['pkgs_info']['to_upgrade'] + + # Modules to enable + self._process_entities(entities=[available_modules_to_enable], + op=module_base.enable, + entity_name='Module stream') + + # Packages to be removed + self._process_entities(entities=to_remove, op=self.base.remove, entity_name='Package') + # Packages to be installed + self._process_entities(entities=to_install, op=self.base.install, entity_name='Package') + # Packages to be upgraded + self._process_entities(entities=to_upgrade, op=self.base.upgrade, entity_name='Package') + self.base.distro_sync() + + if self.opts.tid[0] == 'check': + try: + self.base.resolve(allow_erasing=self.cli.demands.allow_erasing) + except dnf.exceptions.DepsolveError as e: + print('Transaction check: ', file=sys.stderr) + print(str(e), file=sys.stderr) + raise + + # We are doing this to avoid downloading the packages in the check phase + self.base.download_packages = _do_not_download_packages + try: + displays = [] + if self.cli.demands.transaction_display is not None: + displays.append(self.cli.demands.transaction_display) + self.base.do_transaction(display=displays) + except DoNotDownload: + print('Check completed.') + + +class RhelUpgradePlugin(dnf.Plugin): + name = 'rhel-upgrade' + + def __init__(self, base, cli): + super(RhelUpgradePlugin, self).__init__(base, cli) + if cli: + cli.register_command(RhelUpgradeCommand) diff --git a/repos/system_upgrade/common/files/rpm-gpg/8/RPM-GPG-KEY-redhat-release b/repos/system_upgrade/common/files/rpm-gpg/8/RPM-GPG-KEY-redhat-release new file mode 100644 index 0000000..6744de9 --- /dev/null +++ b/repos/system_upgrade/common/files/rpm-gpg/8/RPM-GPG-KEY-redhat-release @@ -0,0 +1,89 @@ +The following public key can be used to verify RPM packages built and +signed by Red Hat, Inc. This key is used for packages in Red Hat +products shipped after November 2009, and for all updates to those +products. + +Questions about this key should be sent to security@redhat.com. + +pub 4096R/FD431D51 2009-10-22 Red Hat, Inc. (release key 2) + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.6 (GNU/Linux) + +mQINBErgSTsBEACh2A4b0O9t+vzC9VrVtL1AKvUWi9OPCjkvR7Xd8DtJxeeMZ5eF +0HtzIG58qDRybwUe89FZprB1ffuUKzdE+HcL3FbNWSSOXVjZIersdXyH3NvnLLLF +0DNRB2ix3bXG9Rh/RXpFsNxDp2CEMdUvbYCzE79K1EnUTVh1L0Of023FtPSZXX0c +u7Pb5DI5lX5YeoXO6RoodrIGYJsVBQWnrWw4xNTconUfNPk0EGZtEnzvH2zyPoJh +XGF+Ncu9XwbalnYde10OCvSWAZ5zTCpoLMTvQjWpbCdWXJzCm6G+/hx9upke546H +5IjtYm4dTIVTnc3wvDiODgBKRzOl9rEOCIgOuGtDxRxcQkjrC+xvg5Vkqn7vBUyW +9pHedOU+PoF3DGOM+dqv+eNKBvh9YF9ugFAQBkcG7viZgvGEMGGUpzNgN7XnS1gj +/DPo9mZESOYnKceve2tIC87p2hqjrxOHuI7fkZYeNIcAoa83rBltFXaBDYhWAKS1 +PcXS1/7JzP0ky7d0L6Xbu/If5kqWQpKwUInXtySRkuraVfuK3Bpa+X1XecWi24JY +HVtlNX025xx1ewVzGNCTlWn1skQN2OOoQTV4C8/qFpTW6DTWYurd4+fE0OJFJZQF +buhfXYwmRlVOgN5i77NTIJZJQfYFj38c/Iv5vZBPokO6mffrOTv3MHWVgQARAQAB +tDNSZWQgSGF0LCBJbmMuIChyZWxlYXNlIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0 +LmNvbT6JAjYEEwECACAFAkrgSTsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK +CRAZni+R/UMdUWzpD/9s5SFR/ZF3yjY5VLUFLMXIKUztNN3oc45fyLdTI3+UClKC +2tEruzYjqNHhqAEXa2sN1fMrsuKec61Ll2NfvJjkLKDvgVIh7kM7aslNYVOP6BTf +C/JJ7/ufz3UZmyViH/WDl+AYdgk3JqCIO5w5ryrC9IyBzYv2m0HqYbWfphY3uHw5 +un3ndLJcu8+BGP5F+ONQEGl+DRH58Il9Jp3HwbRa7dvkPgEhfFR+1hI+Btta2C7E +0/2NKzCxZw7Lx3PBRcU92YKyaEihfy/aQKZCAuyfKiMvsmzs+4poIX7I9NQCJpyE +IGfINoZ7VxqHwRn/d5mw2MZTJjbzSf+Um9YJyA0iEEyD6qjriWQRbuxpQXmlAJbh +8okZ4gbVFv1F8MzK+4R8VvWJ0XxgtikSo72fHjwha7MAjqFnOq6eo6fEC/75g3NL +Ght5VdpGuHk0vbdENHMC8wS99e5qXGNDued3hlTavDMlEAHl34q2H9nakTGRF5Ki +JUfNh3DVRGhg8cMIti21njiRh7gyFI2OccATY7bBSr79JhuNwelHuxLrCFpY7V25 +OFktl15jZJaMxuQBqYdBgSay2G0U6D1+7VsWufpzd/Abx1/c3oi9ZaJvW22kAggq +dzdA27UUYjWvx42w9menJwh/0jeQcTecIUd0d0rFcw/c1pvgMMl/Q73yzKgKYw== +=zbHE +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFsy23UBEACUKSphFEIEvNpy68VeW4Dt6qv+mU6am9a2AAl10JANLj1oqWX+ +oYk3en1S6cVe2qehSL5DGVa3HMUZkP3dtbD4SgzXzxPodebPcr4+0QNWigkUisri +XGL5SCEcOP30zDhZvg+4mpO2jMi7Kc1DLPzBBkgppcX91wa0L1pQzBcvYMPyV/Dh +KbQHR75WdkP6OA2JXdfC94nxYq+2e0iPqC1hCP3Elh+YnSkOkrawDPmoB1g4+ft/ +xsiVGVy/W0ekXmgvYEHt6si6Y8NwXgnTMqxeSXQ9YUgVIbTpsxHQKGy76T5lMlWX +4LCOmEVomBJg1SqF6yi9Vu8TeNThaDqT4/DddYInd0OO69s0kGIXalVgGYiW2HOD +x2q5R1VGCoJxXomz+EbOXY+HpKPOHAjU0DB9MxbU3S248LQ69nIB5uxysy0PSco1 +sdZ8sxRNQ9Dw6on0Nowx5m6Thefzs5iK3dnPGBqHTT43DHbnWc2scjQFG+eZhe98 +Ell/kb6vpBoY4bG9/wCG9qu7jj9Z+BceCNKeHllbezVLCU/Hswivr7h2dnaEFvPD +O4GqiWiwOF06XaBMVgxA8p2HRw0KtXqOpZk+o+sUvdPjsBw42BB96A1yFX4jgFNA +PyZYnEUdP6OOv9HSjnl7k/iEkvHq/jGYMMojixlvXpGXhnt5jNyc4GSUJQARAQAB +tDNSZWQgSGF0LCBJbmMuIChhdXhpbGlhcnkga2V5KSA8c2VjdXJpdHlAcmVkaGF0 +LmNvbT6JAjkEEwECACMFAlsy23UCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIX +gAAKCRD3b2bD1AgnknqOD/9fB2ASuG2aJIiap4kK58R+RmOVM4qgclAnaG57+vjI +nKvyfV3NH/keplGNRxwqHekfPCqvkpABwhdGEXIE8ILqnPewIMr6PZNZWNJynZ9i +eSMzVuCG7jDoGyQ5/6B0f6xeBtTeBDiRl7+Alehet1twuGL1BJUYG0QuLgcEzkaE +/gkuumeVcazLzz7L12D22nMk66GxmgXfqS5zcbqOAuZwaA6VgSEgFdV2X2JU79zS +BQJXv7NKc+nDXFG7M7EHjY3Rma3HXkDbkT8bzh9tJV7Z7TlpT829pStWQyoxKCVq +sEX8WsSapTKA3P9YkYCwLShgZu4HKRFvHMaIasSIZWzLu+RZH/4yyHOhj0QB7XMY +eHQ6fGSbtJ+K6SrpHOOsKQNAJ0hVbSrnA1cr5+2SDfel1RfYt0W9FA6DoH/S5gAR +dzT1u44QVwwp3U+eFpHphFy//uzxNMtCjjdkpzhYYhOCLNkDrlRPb+bcoL/6ePSr +016PA7eEnuC305YU1Ml2WcCn7wQV8x90o33klJmEkWtXh3X39vYtI4nCPIvZn1eP +Vy+F+wWt4vN2b8oOdlzc2paOembbCo2B+Wapv5Y9peBvlbsDSgqtJABfK8KQq/jK +Yl3h5elIa1I3uNfczeHOnf1enLOUOlq630yeM/yHizz99G1g+z/guMh5+x/OHraW +iLkCDQRbMtt1ARAA1lNsWklhS9LoBdolTVtg65FfdFJr47pzKRGYIoGLbcJ155ND +G+P8UrM06E/ah06EEWuvu2YyyYAz1iYGsCwHAXtbEJh+1tF0iOVx2vnZPgtIGE9V +P95V5ZvWvB3bdke1z8HadDA+/Ve7fbwXXLa/z9QhSQgsJ8NS8KYnDDjI4EvQtv0i +PVLY8+u8z6VyiV9RJyn8UEZEJdbFDF9AZAT8103w8SEo/cvIoUbVKZLGcXdAIjCa +y04u6jsrMp9UGHZX7+srT+9YHDzQixei4IdmxUcqtiNR2/bFHpHCu1pzYjXj968D +8Ng2txBXDgs16BF/9l++GWKz2dOSH0jdS6sFJ/Dmg7oYnJ2xKSJEmcnV8Z0M1n4w +XR1t/KeKZe3aR+RXCAEVC5dQ3GbRW2+WboJ6ldgFcVcOv6iOSWP9TrLzFPOpCsIr +nHE+cMBmPHq3dUm7KeYXQ6wWWmtXlw6widf7cBcGFeELpuU9klzqdKze8qo2oMkf +rfxIq8zdciPxZXb/75dGWs6dLHQmDpo4MdQVskw5vvwHicMpUpGpxkX7X1XAfdQf +yIHLGT4ZXuMLIMUPdzJE0Vwt/RtJrZ+feLSv/+0CkkpGHORYroGwIBrJ2RikgcV2 +bc98V/27Kz2ngUCEwnmlhIcrY4IGAAZzUAl0GLHSevPbAREu4fDW4Y+ztOsAEQEA +AYkCHwQYAQIACQUCWzLbdQIbDAAKCRD3b2bD1AgnkusfD/9U4sPtZfMw6cII167A +XRZOO195G7oiAnBUw5AW6EK0SAHVZcuW0LMMXnGe9f4UsEUgCNwo5mvLWPxzKqFq +6/G3kEZVFwZ0qrlLoJPeHNbOcfkeZ9NgD/OhzQmdylM0IwGM9DMrm2YS4EVsmm2b +53qKIfIyysp1yAGcTnBwBbZ85osNBl2KRDIPhMs0bnmGB7IAvwlSb+xm6vWKECkO +lwQDO5Kg8YZ8+Z3pn/oS688t/fPXvWLZYUqwR63oWfIaPJI7Ahv2jJmgw1ofL81r +2CE3T/OydtUeGLzqWJAB8sbUgT3ug0cjtxsHuroQBSYBND3XDb/EQh5GeVVnGKKH +gESLFAoweoNjDSXrlIu1gFjCDHF4CqBRmNYKrNQjLmhCrSfwkytXESJwlLzFKY8P +K1yZyTpDC9YK0G7qgrk7EHmH9JAZTQ5V65pp0vR9KvqTU5ewkQDIljD2f3FIqo2B +SKNCQE+N6NjWaTeNlU75m+yZocKObSPg0zS8FAuSJetNtzXA7ouqk34OoIMQj4gq +Unh/i1FcZAd4U6Dtr9aRZ6PeLlm6MJ/h582L6fJLNEu136UWDtJj5eBYEzX13l+d +SC4PEHx7ZZRwQKptl9NkinLZGJztg175paUu8C34sAv+SQnM20c0pdOXAq9GKKhi +vt61kpkXoRGxjTlc6h+69aidSg== +=ls8J +-----END PGP PUBLIC KEY BLOCK----- diff --git a/repos/system_upgrade/common/files/rpm-gpg/8beta/RPM-GPG-KEY-redhat-beta b/repos/system_upgrade/common/files/rpm-gpg/8beta/RPM-GPG-KEY-redhat-beta new file mode 100644 index 0000000..1efd150 --- /dev/null +++ b/repos/system_upgrade/common/files/rpm-gpg/8beta/RPM-GPG-KEY-redhat-beta @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.6 (GNU/Linux) + +mQINBEmkAzABEAC2/c7bP1lHQ3XScxbIk0LQWe1YOiibQBRLwf8Si5PktgtuPibT +kKpZjw8p4D+fM7jD1WUzUE0X7tXg2l/eUlMM4dw6XJAQ1AmEOtlwSg7rrMtTvM0A +BEtI7Km6fC6sU6RtBMdcqD1cH/6dbsfh8muznVA7UlX+PRBHVzdWzj6y8h84dBjo +gzcbYu9Hezqgj/lLzicqsSZPz9UdXiRTRAIhp8V30BD8uRaaa0KDDnD6IzJv3D9P +xQWbFM4Z12GN9LyeZqmD7bpKzZmXG/3drvfXVisXaXp3M07t3NlBa3Dt8NFIKZ0D +FRXBz5bvzxRVmdH6DtkDWXDPOt+Wdm1rZrCOrySFpBZQRpHw12eo1M1lirANIov7 +Z+V1Qh/aBxj5EUu32u9ZpjAPPNtQF6F/KjaoHHHmEQAuj4DLex4LY646Hv1rcv2i +QFuCdvLKQGSiFBrfZH0j/IX3/0JXQlZzb3MuMFPxLXGAoAV9UP/Sw/WTmAuTzFVm +G13UYFeMwrToOiqcX2VcK0aC1FCcTP2z4JW3PsWvU8rUDRUYfoXovc7eg4Vn5wHt +0NBYsNhYiAAf320AUIHzQZYi38JgVwuJfFu43tJZE4Vig++RQq6tsEx9Ftz3EwRR +fJ9z9mEvEiieZm+vbOvMvIuimFVPSCmLH+bI649K8eZlVRWsx3EXCVb0nQARAQAB +tDBSZWQgSGF0LCBJbmMuIChiZXRhIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0LmNv +bT6JAjYEEwECACAFAkpSM+cCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCT +ioDK8hVB6/9tEAC0+KmzeKceXQ/GTUoU6jy9vtkFCFrmv+c7ol4XpdTt0QhqBOwy +6m2mKWwmm8KfYfy0cADQ4y/EcoXl7FtFBwYmkCuEQGXhTDn9DvVjhooIq59LEMBQ +OW879RwwzRIZ8ebbjMUjDPF5MfPQqP2LBu9N4KvXlZp4voykwuuaJ+cbsKZR6pZ6 +0RQKPHKP+NgUFC0fff7XY9cuOZZWFAeKRhLN2K7bnRHKxp+kELWb6R9ZfrYwZjWc +MIPbTd1khE53L4NTfpWfAnJRtkPSDOKEGVlVLtLq4HEAxQt07kbslqISRWyXER3u +QOJj64D1ZiIMz6t6uZ424VE4ry9rBR0Jz55cMMx5O/ni9x3xzFUgH8Su2yM0r3jE +Rf24+tbOaPf7tebyx4OKe+JW95hNVstWUDyGbs6K9qGfI/pICuO1nMMFTo6GqzQ6 +DwLZvJ9QdXo7ujEtySZnfu42aycaQ9ZLC2DOCQCUBY350Hx6FLW3O546TAvpTfk0 +B6x+DV7mJQH7MGmRXQsE7TLBJKjq28Cn4tVp04PmybQyTxZdGA/8zY6pPl6xyVMH +V68hSBKEVT/rlouOHuxfdmZva1DhVvUC6Xj7+iTMTVJUAq/4Uyn31P1OJmA2a0PT +CAqWkbJSgKFccsjPoTbLyxhuMSNkEZFHvlZrSK9vnPzmfiRH0Orx3wYpMQ== +=21pb +-----END PGP PUBLIC KEY BLOCK----- diff --git a/repos/system_upgrade/common/files/rpm-gpg/9/RPM-GPG-KEY-redhat-release b/repos/system_upgrade/common/files/rpm-gpg/9/RPM-GPG-KEY-redhat-release new file mode 100644 index 0000000..afd9e05 --- /dev/null +++ b/repos/system_upgrade/common/files/rpm-gpg/9/RPM-GPG-KEY-redhat-release @@ -0,0 +1,66 @@ +The following public key can be used to verify RPM packages built and +signed by Red Hat, Inc. This key is used for packages in Red Hat +products shipped after November 2009, and for all updates to those +products. + +Questions about this key should be sent to security@redhat.com. + +pub 4096R/FD431D51 2009-10-22 Red Hat, Inc. (release key 2) + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBErgSTsBEACh2A4b0O9t+vzC9VrVtL1AKvUWi9OPCjkvR7Xd8DtJxeeMZ5eF +0HtzIG58qDRybwUe89FZprB1ffuUKzdE+HcL3FbNWSSOXVjZIersdXyH3NvnLLLF +0DNRB2ix3bXG9Rh/RXpFsNxDp2CEMdUvbYCzE79K1EnUTVh1L0Of023FtPSZXX0c +u7Pb5DI5lX5YeoXO6RoodrIGYJsVBQWnrWw4xNTconUfNPk0EGZtEnzvH2zyPoJh +XGF+Ncu9XwbalnYde10OCvSWAZ5zTCpoLMTvQjWpbCdWXJzCm6G+/hx9upke546H +5IjtYm4dTIVTnc3wvDiODgBKRzOl9rEOCIgOuGtDxRxcQkjrC+xvg5Vkqn7vBUyW +9pHedOU+PoF3DGOM+dqv+eNKBvh9YF9ugFAQBkcG7viZgvGEMGGUpzNgN7XnS1gj +/DPo9mZESOYnKceve2tIC87p2hqjrxOHuI7fkZYeNIcAoa83rBltFXaBDYhWAKS1 +PcXS1/7JzP0ky7d0L6Xbu/If5kqWQpKwUInXtySRkuraVfuK3Bpa+X1XecWi24JY +HVtlNX025xx1ewVzGNCTlWn1skQN2OOoQTV4C8/qFpTW6DTWYurd4+fE0OJFJZQF +buhfXYwmRlVOgN5i77NTIJZJQfYFj38c/Iv5vZBPokO6mffrOTv3MHWVgQARAQAB +tDNSZWQgSGF0LCBJbmMuIChyZWxlYXNlIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0 +LmNvbT6JAjYEEwECACAFAkrgSTsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK +CRAZni+R/UMdUWzpD/9s5SFR/ZF3yjY5VLUFLMXIKUztNN3oc45fyLdTI3+UClKC +2tEruzYjqNHhqAEXa2sN1fMrsuKec61Ll2NfvJjkLKDvgVIh7kM7aslNYVOP6BTf +C/JJ7/ufz3UZmyViH/WDl+AYdgk3JqCIO5w5ryrC9IyBzYv2m0HqYbWfphY3uHw5 +un3ndLJcu8+BGP5F+ONQEGl+DRH58Il9Jp3HwbRa7dvkPgEhfFR+1hI+Btta2C7E +0/2NKzCxZw7Lx3PBRcU92YKyaEihfy/aQKZCAuyfKiMvsmzs+4poIX7I9NQCJpyE +IGfINoZ7VxqHwRn/d5mw2MZTJjbzSf+Um9YJyA0iEEyD6qjriWQRbuxpQXmlAJbh +8okZ4gbVFv1F8MzK+4R8VvWJ0XxgtikSo72fHjwha7MAjqFnOq6eo6fEC/75g3NL +Ght5VdpGuHk0vbdENHMC8wS99e5qXGNDued3hlTavDMlEAHl34q2H9nakTGRF5Ki +JUfNh3DVRGhg8cMIti21njiRh7gyFI2OccATY7bBSr79JhuNwelHuxLrCFpY7V25 +OFktl15jZJaMxuQBqYdBgSay2G0U6D1+7VsWufpzd/Abx1/c3oi9ZaJvW22kAggq +dzdA27UUYjWvx42w9menJwh/0jeQcTecIUd0d0rFcw/c1pvgMMl/Q73yzKgKYw== +=zbHE +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBGIpIp4BEAC/o5e1WzLIsS6/JOQCs4XYATYTcf6B6ALzcP05G0W3uRpUQSrL +FRKNrU8ZCelm/B+XSh2ljJNeklp2WLxYENDOsftDXGoyLr2hEkI5OyK267IHhFNJ +g+BN+T5Cjh4ZiiWij6o9F7x2ZpxISE9M4iI80rwSv1KOnGSw5j2zD2EwoMjTVyVE +/t3s5XJxnDclB7ZqL+cgjv0mWUY/4+b/OoRTkhq7b8QILuZp75Y64pkrndgakm1T +8mAGXV02mEzpNj9DyAJdUqa11PIhMJMxxHOGHJ8CcHZ2NJL2e7yJf4orTj+cMhP5 +LzJcVlaXnQYu8Zkqa0V6J1Qdj8ZXL72QsmyicRYXAtK9Jm5pvBHuYU2m6Ja7dBEB +Vkhe7lTKhAjkZC5ErPmANNS9kPdtXCOpwN1lOnmD2m04hks3kpH9OTX7RkTFUSws +eARAfRID6RLfi59B9lmAbekecnsMIFMx7qR7ZKyQb3GOuZwNYOaYFevuxusSwCHv +4FtLDIhk+Fge+EbPdEva+VLJeMOb02gC4V/cX/oFoPkxM1A5LHjkuAM+aFLAiIRd +Np/tAPWk1k6yc+FqkcDqOttbP4ciiXb9JPtmzTCbJD8lgH0rGp8ufyMXC9x7/dqX +TjsiGzyvlMnrkKB4GL4DqRFl8LAR02A3846DD8CAcaxoXggL2bJCU2rgUQARAQAB +tDVSZWQgSGF0LCBJbmMuIChhdXhpbGlhcnkga2V5IDMpIDxzZWN1cml0eUByZWRo +YXQuY29tPokCUgQTAQgAPBYhBH5GJCWMQGU11W1vE1BU5KRaY0CzBQJiKSKeAhsD +BQsJCAcCAyICAQYVCgkICwIEFgIDAQIeBwIXgAAKCRBQVOSkWmNAsyBfEACuTN/X +YR+QyzeRw0pXcTvMqzNE4DKKr97hSQEwZH1/v1PEPs5O3psuVUm2iam7bqYwG+ry +EskAgMHi8AJmY0lioQD5/LTSLTrM8UyQnU3g17DHau1NHIFTGyaW4a7xviU4C2+k +c6X0u1CPHI1U4Q8prpNcfLsldaNYlsVZtUtYSHKPAUcswXWliW7QYjZ5tMSbu8jR +OMOc3mZuf0fcVFNu8+XSpN7qLhRNcPv+FCNmk/wkaQfH4Pv+jVsOgHqkV3aLqJeN +kNUnpyEKYkNqo7mNfNVWOcl+Z1KKKwSkIi3vg8maC7rODsy6IX+Y96M93sqYDQom +aaWue2gvw6thEoH4SaCrCL78mj2YFpeg1Oew4QwVcBnt68KOPfL9YyoOicNs4Vuu +fb/vjU2ONPZAeepIKA8QxCETiryCcP43daqThvIgdbUIiWne3gae6eSj0EuUPoYe +H5g2Lw0qdwbHIOxqp2kvN96Ii7s1DK3VyhMt/GSPCxRnDRJ8oQKJ2W/I1IT5VtiU +zMjjq5JcYzRPzHDxfVzT9CLeU/0XQ+2OOUAiZKZ0dzSyyVn8xbpviT7iadvjlQX3 +CINaPB+d2Kxa6uFWh+ZYOLLAgZ9B8NKutUHpXN66YSfe79xFBSFWKkJ8cSIMk13/ +Ifs7ApKlKCCRDpwoDqx/sjIaj1cpOfLHYjnefg== +=UZd/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/repos/system_upgrade/common/files/rpm-gpg/9beta/RPM-GPG-KEY-redhat-beta b/repos/system_upgrade/common/files/rpm-gpg/9beta/RPM-GPG-KEY-redhat-beta new file mode 100644 index 0000000..1efd150 --- /dev/null +++ b/repos/system_upgrade/common/files/rpm-gpg/9beta/RPM-GPG-KEY-redhat-beta @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.6 (GNU/Linux) + +mQINBEmkAzABEAC2/c7bP1lHQ3XScxbIk0LQWe1YOiibQBRLwf8Si5PktgtuPibT +kKpZjw8p4D+fM7jD1WUzUE0X7tXg2l/eUlMM4dw6XJAQ1AmEOtlwSg7rrMtTvM0A +BEtI7Km6fC6sU6RtBMdcqD1cH/6dbsfh8muznVA7UlX+PRBHVzdWzj6y8h84dBjo +gzcbYu9Hezqgj/lLzicqsSZPz9UdXiRTRAIhp8V30BD8uRaaa0KDDnD6IzJv3D9P +xQWbFM4Z12GN9LyeZqmD7bpKzZmXG/3drvfXVisXaXp3M07t3NlBa3Dt8NFIKZ0D +FRXBz5bvzxRVmdH6DtkDWXDPOt+Wdm1rZrCOrySFpBZQRpHw12eo1M1lirANIov7 +Z+V1Qh/aBxj5EUu32u9ZpjAPPNtQF6F/KjaoHHHmEQAuj4DLex4LY646Hv1rcv2i +QFuCdvLKQGSiFBrfZH0j/IX3/0JXQlZzb3MuMFPxLXGAoAV9UP/Sw/WTmAuTzFVm +G13UYFeMwrToOiqcX2VcK0aC1FCcTP2z4JW3PsWvU8rUDRUYfoXovc7eg4Vn5wHt +0NBYsNhYiAAf320AUIHzQZYi38JgVwuJfFu43tJZE4Vig++RQq6tsEx9Ftz3EwRR +fJ9z9mEvEiieZm+vbOvMvIuimFVPSCmLH+bI649K8eZlVRWsx3EXCVb0nQARAQAB +tDBSZWQgSGF0LCBJbmMuIChiZXRhIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0LmNv +bT6JAjYEEwECACAFAkpSM+cCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCT +ioDK8hVB6/9tEAC0+KmzeKceXQ/GTUoU6jy9vtkFCFrmv+c7ol4XpdTt0QhqBOwy +6m2mKWwmm8KfYfy0cADQ4y/EcoXl7FtFBwYmkCuEQGXhTDn9DvVjhooIq59LEMBQ +OW879RwwzRIZ8ebbjMUjDPF5MfPQqP2LBu9N4KvXlZp4voykwuuaJ+cbsKZR6pZ6 +0RQKPHKP+NgUFC0fff7XY9cuOZZWFAeKRhLN2K7bnRHKxp+kELWb6R9ZfrYwZjWc +MIPbTd1khE53L4NTfpWfAnJRtkPSDOKEGVlVLtLq4HEAxQt07kbslqISRWyXER3u +QOJj64D1ZiIMz6t6uZ424VE4ry9rBR0Jz55cMMx5O/ni9x3xzFUgH8Su2yM0r3jE +Rf24+tbOaPf7tebyx4OKe+JW95hNVstWUDyGbs6K9qGfI/pICuO1nMMFTo6GqzQ6 +DwLZvJ9QdXo7ujEtySZnfu42aycaQ9ZLC2DOCQCUBY350Hx6FLW3O546TAvpTfk0 +B6x+DV7mJQH7MGmRXQsE7TLBJKjq28Cn4tVp04PmybQyTxZdGA/8zY6pPl6xyVMH +V68hSBKEVT/rlouOHuxfdmZva1DhVvUC6Xj7+iTMTVJUAq/4Uyn31P1OJmA2a0PT +CAqWkbJSgKFccsjPoTbLyxhuMSNkEZFHvlZrSK9vnPzmfiRH0Orx3wYpMQ== +=21pb +-----END PGP PUBLIC KEY BLOCK----- diff --git a/repos/system_upgrade/common/files/upgrade_paths.json b/repos/system_upgrade/common/files/upgrade_paths.json new file mode 100644 index 0000000..2069e26 --- /dev/null +++ b/repos/system_upgrade/common/files/upgrade_paths.json @@ -0,0 +1,17 @@ +{ + "default": { + "7.9": ["8.6", "8.8", "8.9"], + "8.6": ["9.0"], + "8.8": ["9.2"], + "8.9": ["9.3"], + "7": ["8.6", "8.8", "8.9"], + "8": ["9.3"] + }, + "saphana": { + "7.9": ["8.8", "8.6"], + "7": ["8.8", "8.6"], + "8.6": ["9.0"], + "8.8": ["9.2"], + "8": ["9.2", "9.0"] + } +} diff --git a/repos/system_upgrade/common/libraries/Makefile b/repos/system_upgrade/common/libraries/Makefile new file mode 100644 index 0000000..27cda18 --- /dev/null +++ b/repos/system_upgrade/common/libraries/Makefile @@ -0,0 +1,2 @@ +install-deps: + yum install -y python*-pyudev diff --git a/repos/system_upgrade/common/libraries/config/__init__.py b/repos/system_upgrade/common/libraries/config/__init__.py new file mode 100644 index 0000000..c37a35c --- /dev/null +++ b/repos/system_upgrade/common/libraries/config/__init__.py @@ -0,0 +1,99 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api + +# The devel variable for target product channel can also contain 'beta' +SUPPORTED_TARGET_CHANNELS = {'ga', 'tuv', 'e4s', 'eus', 'aus'} +CONSUMED_DATA_STREAM_ID = '2.0' + + +def get_env(name, default=None): + """Return Leapp environment variable value if matched by name.""" + for var in api.current_actor().configuration.leapp_env_vars: + if var.name == name: + return var.value + return default + + +def get_all_envs(): + """Return all Leapp environment variables (both name and value).""" + return api.current_actor().configuration.leapp_env_vars + + +def get_product_type(sys_type): + """ + Get expected product type (ga/beta/htb) of the chosen sys type. + + By default, expected product type is 'ga'. It can be changed using these envars: + LEAPP_DEVEL_SOURCE_PRODUCT_TYPE + LEAPP_DEVEL_TARGET_PRODUCT_TYPE + which can set the product type of chosen system (source/target) to one of + valid product types: ga/beta/htb. + + Raise ValueError when specified sys_type or set product_type is invalid. + + :param sys_type: choose system for which to get the product type: 'source' or 'target' + :type sys_type: str + :return: 'ga' (default), 'htb', 'beta' + :rtype: str + """ + if sys_type == 'source': + envar = 'LEAPP_DEVEL_SOURCE_PRODUCT_TYPE' + elif sys_type == 'target': + envar = 'LEAPP_DEVEL_TARGET_PRODUCT_TYPE' + else: + raise ValueError('Given invalid sys_type. Valid values: source/target') + val = get_env(envar, '').lower() + if not val: + return 'ga' + if val in ('beta', 'htb', 'ga'): + return val + raise ValueError('Invalid value in the {} envar. Possible values: ga/beta/htb.'.format(envar)) + + +def _stop_exection_due_invalid_channel(channel_specified_via, actual_value, supported_values): + raise StopActorExecutionError('Target channel specified via {0} has invalid value: {1}. Possible values: {2}' + .format(channel_specified_via, actual_value, ", ".join(supported_values))) + + +def get_target_product_channel(default='ga'): + """ + Get target product channel specified when running the IPU or default if no channel was specified. + The channel returned is always lower case regardless how it was specified by the user. + + The target channel can be specified via: + - Using the environment variable LEAPP_DEVEL_TARGET_PRODUCT_TYPE (devel variable with higher priority than + any other way of specifying target channel). + - Using the environment variable LEAPP_TARGET_PRODUCT_CHANNEL + - Using the '--channel' option when running leapp preupgrade/upgrade + + :param default: Value to be returned if no target product type has been specified when running leapp. + :type default: str + :returns: The user-specified target channel or default if no channel was specified. + :rtype: str + """ + + devel_target_product_type = get_env('LEAPP_DEVEL_TARGET_PRODUCT_TYPE') + if devel_target_product_type: + devel_target_product_type = devel_target_product_type.lower() + supported_devel_target_channels = SUPPORTED_TARGET_CHANNELS | {'beta'} + if devel_target_product_type not in supported_devel_target_channels: + _stop_exection_due_invalid_channel('LEAPP_DEVEL_TARGET_PRODUCT_TYPE', + devel_target_product_type, + supported_devel_target_channels) + return devel_target_product_type + + target_product_channel = get_env('LEAPP_TARGET_PRODUCT_CHANNEL') + if target_product_channel: + target_product_channel = target_product_channel.lower() + if target_product_channel not in SUPPORTED_TARGET_CHANNELS: + _stop_exection_due_invalid_channel('LEAPP_TARGET_PRODUCT_CHANNEL or the --channel option', + target_product_channel, + SUPPORTED_TARGET_CHANNELS) + return target_product_channel + + return default + + +def get_consumed_data_stream_id(): + """Get the identifier of the asset family used by leapp.""" + return CONSUMED_DATA_STREAM_ID diff --git a/repos/system_upgrade/common/libraries/config/architecture.py b/repos/system_upgrade/common/libraries/config/architecture.py new file mode 100644 index 0000000..787efef --- /dev/null +++ b/repos/system_upgrade/common/libraries/config/architecture.py @@ -0,0 +1,28 @@ +import six + +from leapp.libraries.stdlib import api + +ARCH_X86_64 = 'x86_64' +ARCH_ARM64 = 'aarch64' +ARCH_PPC64LE = 'ppc64le' +ARCH_S390X = 's390x' +ARCH_ACCEPTED = (ARCH_X86_64, ARCH_ARM64, ARCH_PPC64LE, ARCH_S390X) +ARCH_SUPPORTED = (ARCH_X86_64, ARCH_ARM64, ARCH_PPC64LE, ARCH_S390X) + + +def matches_architecture(*match_list): + """ + Check if one of provided architectures matches the system's one. + + :param match_list: specification of architectures to check against + :type match_list: strings + :return: ``True`` if system's architecture matches one of the values in match_list, ``False`` otherwise + :rtype: bool + """ + if not all(isinstance(e, six.string_types) for e in match_list): + raise TypeError("Architectures to check against have to strings " + "but provided was {}: '{}'".format([type(e) for e in match_list], match_list)) + unsupported = set(match_list).difference(ARCH_ACCEPTED) + if unsupported: + api.current_logger().warning("Unsupported architecture specified: {}".format(unsupported)) + return api.current_actor().configuration.architecture in match_list diff --git a/repos/system_upgrade/common/libraries/config/mock_configs.py b/repos/system_upgrade/common/libraries/config/mock_configs.py new file mode 100644 index 0000000..ee9dd76 --- /dev/null +++ b/repos/system_upgrade/common/libraries/config/mock_configs.py @@ -0,0 +1,76 @@ + +""" +This is not regular library. + +The library is supposed to be used only for testing purposes. Import of the +library is expected only inside test files. +""" + +from leapp.models import EnvVar, IPUConfig, OSRelease, Version + +CONFIG = IPUConfig( + leapp_env_vars=[EnvVar(name='LEAPP_DEVEL', value='0')], + os_release=OSRelease( + release_id='rhel', + name='Red Hat Enterprise Linux Server', + pretty_name='RHEL', + version='7.6 (Maipo)', + version_id='7.6' + ), + version=Version( + source='7.6', + target='8.0' + ), + architecture='x86_64', + kernel='3.10.0-957.43.1.el7.x86_64', +) + +CONFIG_NO_NETWORK_RENAMING = IPUConfig( + leapp_env_vars=[EnvVar(name='LEAPP_DEVEL', value='0'), EnvVar(name='LEAPP_NO_NETWORK_RENAMING', value='1')], + os_release=OSRelease( + release_id='rhel', + name='Red Hat Enterprise Linux Server', + pretty_name='RHEL', + version='7.6 (Maipo)', + version_id='7.6' + ), + version=Version( + source='7.6', + target='8.0' + ), + architecture='x86_64', + kernel='3.10.0-957.43.1.el7.x86_64', +) + +CONFIG_ALL_SIGNED = IPUConfig( + leapp_env_vars=[EnvVar(name='LEAPP_DEVEL_RPMS_ALL_SIGNED', value='1')], + os_release=OSRelease( + release_id='rhel', + name='Red Hat Enterprise Linux Server', + pretty_name='RHEL', + version='7.6 (Maipo)', + version_id='7.6' + ), + version=Version( + source='7.6', + target='8.0' + ), + architecture='x86_64', + kernel='3.10.0-957.43.1.el7.x86_64', +) + +CONFIG_S390X = IPUConfig( + os_release=OSRelease( + release_id='rhel', + name='Red Hat Enterprise Linux Server', + pretty_name='RHEL', + version='7.6 (Maipo)', + version_id='7.6' + ), + version=Version( + source='7.6', + target='8.0' + ), + architecture='s390x', + kernel='3.10.0-957.43.1.el7.x86_64', +) diff --git a/repos/system_upgrade/common/libraries/config/tests/test_architecture.py b/repos/system_upgrade/common/libraries/config/tests/test_architecture.py new file mode 100644 index 0000000..d137838 --- /dev/null +++ b/repos/system_upgrade/common/libraries/config/tests/test_architecture.py @@ -0,0 +1,21 @@ +import pytest + +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api + + +def test_matches_architecture_pass(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_ACCEPTED[0])) + assert architecture.matches_architecture(*architecture.ARCH_ACCEPTED) + + +def test_matches_architecture_fail(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_ACCEPTED[0])) + assert not architecture.matches_architecture() + assert not architecture.matches_architecture(*architecture.ARCH_ACCEPTED[1:]) + + +def test_matches_architecture_wrong_args(): + with pytest.raises(TypeError): + architecture.matches_architecture('aarch64', 1) diff --git a/repos/system_upgrade/common/libraries/config/tests/test_getenvvars.py b/repos/system_upgrade/common/libraries/config/tests/test_getenvvars.py new file mode 100644 index 0000000..1a9ad9d --- /dev/null +++ b/repos/system_upgrade/common/libraries/config/tests/test_getenvvars.py @@ -0,0 +1,55 @@ +import pytest + +from leapp.libraries.common.config import get_all_envs, get_env, get_product_type +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api + + +def test_env_var_match(monkeypatch): + envars = {'LEAPP_DEVEL_SKIP_WIP': '0', + 'LEAPP_DEVEL_SKIP_DIP': '1', + 'LEAPP_DEVEL_SKIP_RIP': '2'} + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars=envars)) + assert get_env('LEAPP_DEVEL_SKIP_WIP') == '0' + assert not get_env('LEAPP_DEVEL_SKIP_PIP') + + +def test_get_all_vars(monkeypatch): + envars = {'LEAPP_DEVEL_SKIP_WIP': '0', + 'LEAPP_DEVEL_SKIP_DIP': '1', + 'LEAPP_DEVEL_SKIP_RIP': '2'} + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars=envars)) + assert api.current_actor().configuration.leapp_env_vars == get_all_envs() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked) + assert api.current_actor().configuration.leapp_env_vars == get_all_envs() + + +def test_get_product_type_valid(monkeypatch): + prod_types = ('ga', 'beta', 'htb', 'GA', 'BETA', 'HTB', '') + for src, dst in [(i, j) for i in prod_types for j in prod_types]: + envars = {'LEAPP_DEVEL_SOURCE_PRODUCT_TYPE': src, + 'LEAPP_DEVEL_TARGET_PRODUCT_TYPE': dst} + exp_src = 'ga' if not src else src.lower() + exp_dst = 'ga' if not dst else dst.lower() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars=envars)) + assert exp_src == get_product_type('source') + assert exp_dst == get_product_type('target') + # return 'ga' if envars are not specified + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked) + assert get_product_type('source') == 'ga' + assert get_product_type('target') == 'ga' + + +def test_get_product_type_invalid_product(monkeypatch): + for sys_type, envar in [('source', 'LEAPP_DEVEL_SOURCE_PRODUCT_TYPE'), + ('target', 'LEAPP_DEVEL_TARGET_PRODUCT_TYPE')]: + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars={envar: 'wrong'})) + with pytest.raises(ValueError) as err: + get_product_type(sys_type) + assert 'Invalid value in the {} envar'.format(envar) in str(err) + + +def test_get_product_type_invalid_param(): + with pytest.raises(ValueError) as err: + get_product_type('fail') + assert 'Given invalid sys_type.' in str(err) diff --git a/repos/system_upgrade/common/libraries/config/tests/test_version.py b/repos/system_upgrade/common/libraries/config/tests/test_version.py new file mode 100644 index 0000000..4ef7e50 --- /dev/null +++ b/repos/system_upgrade/common/libraries/config/tests/test_version.py @@ -0,0 +1,123 @@ +import pytest + +from leapp.libraries.common.config import version +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.utils.deprecation import suppress_deprecation + + +def test_version_to_tuple(): + assert version._version_to_tuple('7.6') == (7, 6) + + +def test_validate_versions(): + version._validate_versions(['7.6', '7.7']) + with pytest.raises(ValueError): + assert version._validate_versions(['7.6', 'z.z']) + + +def test_simple_versions(): + assert version._simple_versions(['7.6', '7.7']) + assert not version._simple_versions(['7.6', '< 7.7']) + + +def test_cmp_versions(): + assert version._cmp_versions(['>= 7.6', '< 7.7']) + assert not version._cmp_versions(['>= 7.6', '& 7.7']) + + +def test_matches_version_wrong_args(): + with pytest.raises(TypeError): + version.matches_version('>= 7.6', '7.7') + with pytest.raises(TypeError): + version.matches_version([7.6, 7.7], '7.7') + with pytest.raises(TypeError): + version.matches_version(['7.6', '7.7'], 7.7) + with pytest.raises(ValueError): + version.matches_version(['>= 7.6', '> 7.7'], 'x.y') + with pytest.raises(ValueError): + version.matches_version(['>= 7.6', '7.7'], '7.7') + with pytest.raises(ValueError): + version.matches_version(['>= 7.6', '& 7.7'], '7.7') + + +def test_matches_version_fail(): + assert not version.matches_version(['> 7.6', '< 7.7'], '7.6') + assert not version.matches_version(['> 7.6', '< 7.7'], '7.7') + assert not version.matches_version(['> 7.6', '< 7.10'], '7.6') + assert not version.matches_version(['> 7.6', '< 7.10'], '7.10') + assert not version.matches_version(['7.6', '7.7', '7.10'], '7.8') + + +def test_matches_version_pass(): + assert version.matches_version(['7.6', '7.7', '7.10'], '7.7') + assert version.matches_version(['> 7.6', '< 7.10'], '7.7') + + +@pytest.mark.parametrize('result,version_list', [ + (True, ['7.6', '7.7']), + (True, ['7.6']), + (False, ['7.5', '7.7']), + (False, ['7.5']), +]) +def test_matches_source_version(monkeypatch, result, version_list): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.6')) + assert version.matches_source_version(*version_list) == result + + +@pytest.mark.parametrize('result,version_list', [ + (True, ['8.0', '8.1']), + (True, ['8.1']), + (False, ['8.2']), + (False, ['8.2', '8.0']), +]) +def test_matches_target_version(monkeypatch, result, version_list): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.6')) + assert version.matches_target_version(*version_list) == result + + +@pytest.mark.parametrize('result,kernel,release_id,src_ver', [ + (True, '4.14.0-100.8.2.el7a.x86_64', 'rhel', '7.6'), + (True, '4.14.0-100.8.2.el7a.x86_64', 'rhel', '7.9'), + (False, '3.10.0-100.8.2.el7a.x86_64', 'rhel', '7.6'), + (False, '4.14.0-100.8.2.el7a.x86_64', 'fedora', '7.6'), + (False, '4.14.0-100.8.2.el7a.x86_64', 'fedora', '33'), + (False, '5.14.0-100.8.2.el7a.x86_64', 'rhel', '7.6'), + (False, '4.14.0-100.8.2.el8.x86_64', 'rhel', '8.1'), + (False, '4.14.0-100.8.2.el9.x86_64', 'rhel', '9.1'), +]) +def test_is_rhel_alt(monkeypatch, result, kernel, release_id, src_ver): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver=src_ver, kernel=kernel, + release_id=release_id)) + assert version.is_rhel_alt() == result + + +@pytest.mark.parametrize('result,is_alt,src_ver,saphana', [ + (True, True, '7.6', False), + (True, False, '7.8', False), + (False, True, '7.8', False), + (False, False, '7.6', False), + (True, True, '7.6', True), + (True, False, '7.7', True), + (False, True, '7.7', True), + (False, False, '7.6', True), +]) +def test_is_supported_version(monkeypatch, result, is_alt, src_ver, saphana): + monkeypatch.setattr(version, 'is_rhel_alt', lambda: is_alt) + monkeypatch.setattr(version, 'is_sap_hana_flavour', lambda: saphana) + monkeypatch.setattr(version, 'SUPPORTED_VERSIONS', {'rhel': ['7.8'], 'rhel-alt': ['7.6'], 'rhel-saphana': ['7.7']}) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver=src_ver)) + assert version.is_supported_version() == result + + +@pytest.mark.parametrize('result,kernel,release_id', [ + (False, '3.10.0-790.el7.x86_64', 'rhel'), + (False, '3.10.0-790.el7.x86_64', 'fedora'), + (False, '3.10.0-790.35.2.rt666.1133.el7.x86_64', 'fedora'), + (True, '3.10.0-790.35.2.rt666.1133.el7.x86_64', 'rhel'), +]) +@suppress_deprecation(version.is_rhel_realtime) +def test_is_rhel_realtime(monkeypatch, result, kernel, release_id): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver='7.9', kernel=kernel, + release_id=release_id)) + assert version.is_rhel_realtime() == result diff --git a/repos/system_upgrade/common/libraries/config/version.py b/repos/system_upgrade/common/libraries/config/version.py new file mode 100644 index 0000000..0f1e587 --- /dev/null +++ b/repos/system_upgrade/common/libraries/config/version.py @@ -0,0 +1,328 @@ +import operator + +import six + +from leapp.libraries.common import kernel as kernel_lib +from leapp.libraries.stdlib import api +from leapp.utils.deprecation import deprecated + +OP_MAP = { + '>': operator.gt, + '>=': operator.ge, + '<': operator.lt, + '<=': operator.le +} + +_SUPPORTED_VERSIONS = { + # Note: 'rhel-alt' is detected when on 'rhel' with kernel 4.x + '7': {'rhel': ['7.9'], 'rhel-alt': [], 'rhel-saphana': ['7.9']}, + '8': {'rhel': ['8.6', '8.8', '8.9'], 'rhel-saphana': ['8.6', '8.8']}, +} + + +def get_major_version(version): + """ + Return the major version from the given version string. + + Versioning schema: MAJOR.MINOR.PATCH + It doesn't matter how many dots are present. Everything until the first dot is returned. E.g.: + 8.1.0 => 8 + 7.9 => 7 + 7 => 7 + + :param str version: The version string according to the versioning schema described. + :rtype: str + :returns: The major version from the given version string. + """ + return version.split('.')[0] + + +def get_source_version(): + """ + Return the version of the source system. + + :rtype: str + :returns: The version of the source system. + """ + return api.current_actor().configuration.version.source + + +def get_source_major_version(): + """ + Return the major version of the source (original) system. + + For more details about about the versioning schema see :func:`get_major_version`. + + :rtype: str + :returns: The major version of the source system. + """ + return get_major_version(get_source_version()) + + +def get_target_version(): + """ + Return the version of the target system. + + :rtype: str + :returns: The version of the target system. + """ + return api.current_actor().configuration.version.target + + +def get_target_major_version(): + """ + Return the major version of the target system. + + For more details about about the versioning schema see :func:`get_major_version`. + + :rtype: str + :returns: The major version of the target system. + """ + return get_major_version(get_target_version()) + + +class _SupportedVersionsDict(dict): + """ + Class for _SUPPORTED_VERSIONS lazy evaluation until ipuworkflowconfig actor data + is ready. + """ + + def __init__(self): # pylint: disable=W0231 + self.data = {} + + def _feed_supported_versions(self): + major = get_source_major_version() + if major not in _SUPPORTED_VERSIONS: + raise KeyError('{} is not a supported source version of RHEL'.format(major)) + self.data = _SUPPORTED_VERSIONS[major] + + def __getitem__(self, key): + self._feed_supported_versions() + return self.data[key] + + def __iter__(self): + self._feed_supported_versions() + for d in self.data: + yield d + + def __repr__(self): + self._feed_supported_versions() + return repr(self.data) + + def __contains__(self, x): + self._feed_supported_versions() + return x in self.data + + def __len__(self): + self._feed_supported_versions() + return len(self.data) + + def __str__(self): + self._feed_supported_versions() + return str(self.data) + + +SUPPORTED_VERSIONS = _SupportedVersionsDict() + + +def _version_to_tuple(version): + """Converts the version string ``major.minor`` to ``(major, minor)`` int tuple.""" + major, minor = version.split('.') + return (int(major), int(minor)) + + +def _validate_versions(versions): + """Raise ``TypeError`` if provided versions are not strings in the form ``.``.""" + for ver in versions: + split = ver.split('.') + if not len(split) == 2 or not all(x.isdigit() for x in split): + raise ValueError("Versions have to be in the form of '.' " + "but provided was '{}'".format(versions)) + + +def _simple_versions(versions): + """Return ``True`` if provided versions are list of strings without comparison operators.""" + return all(len(v.split()) == 1 for v in versions) + + +def _cmp_versions(versions): + """Return ``True`` if provided versions are list of strings with comparison operators.""" + split = [v.split() for v in versions] + if not all(len(s) == 2 for s in split): + return False + + return all(s[0] in OP_MAP for s in split) + + +def matches_version(match_list, detected): + """ + Check if the `detected` version meets the criteria specified in `match_list`. + + :param match_list: specification of versions to check against + :type match_list: list or tuple of strings in one of the two following forms: + ``['>'|'>='|'<'|'<='] .`` form, where elements are ANDed, + meaning that ``['>= 7.6', '< 7.8']`` would match for ``'7.6'``, and ``'7,7'`` only. + ``.`` form, where elements are ORed, meaning that + ``['7.6', '7.7']`` would match for ``'7.6'``, and ``'7,7'`` only. + These two forms cannot be mixed, otherwise ``ValueError`` is raised. + :param detected: detected version + :type detected: string in the form ``.`` + :return: ``True`` if `detected` value matches one of the values in `match_list`, ``False`` otherwise + :rtype: bool + """ + if not isinstance(match_list, (list, tuple)): + raise TypeError("Versions to check against have to be a list or tuple " + "but provided was {}: '{}'".format(type(match_list), match_list)) + if not all(isinstance(e, six.string_types) for e in match_list): + raise TypeError("Versions to check against have to be a list or tuple of strings " + "but provided was {}: '{}'".format([type(e) for e in match_list], match_list)) + if not isinstance(detected, six.string_types): + raise TypeError("Detected version has to be a string " + "but provided was {}: '{}'".format(type(detected), detected)) + _validate_versions([detected]) + + if _simple_versions(match_list): + # match_list = ['7.6', '7.7', '7.8', '7.9'] + _validate_versions(match_list) + return detected in match_list + if _cmp_versions(match_list): + detected = _version_to_tuple(detected) + # match_list = ['>= 7.6', '< 7.10'] + _validate_versions([s.split()[1] for s in match_list]) + for match in match_list: + op, ver = match.split() + ver = _version_to_tuple(ver) + if not OP_MAP[op](detected, ver): + return False + return True + + raise ValueError("Versions have to be a list or tuple of strings in the form " + "'['>'|'>='|'<'|'<='] .' or " + "'.' but provided was '{}'".format(match_list)) + + +def matches_source_version(*match_list): + """ + Check if one of provided source versions matches the configured one. + + :param match_list: specification of versions to check against + :type match_list: strings, for details see argument ``match_list`` of function :func:`matches_version`. + """ + return matches_version(match_list, get_source_version()) + + +def matches_target_version(*match_list): + """ + Check if one of provided target versions matches the configured one. + + :param match_list: specification of versions to check against + :type match_list: strings, for details see argument ``match_list`` of function :func:`matches_version`. + """ + return matches_version(match_list, get_target_version()) + + +def matches_release(allowed_releases, release): + """ + Check if the given `release` is allowed to upgrade based in `allowed_releases`. + + :param allowed_releases: All supported releases + :type allowed_releases: list or dict + :param release: release name to be checked + :type release: string + :return: ``True`` if `release` value matches one of the values in `allowed_releases`, ``False`` otherwise + :rtype: bool + """ + if not (release and allowed_releases): + return False + + return release in allowed_releases + + +def current_version(): + """ + Return the current Linux release and version. + + :return: The tuple contains release name and version value. + :rtype: (string, string) + """ + release = api.current_actor().configuration.os_release + return release.release_id, release.version_id + + +def is_default_flavour(): + """ + Check if the current system uses the default upgrade path. + + :return: `True` if this upgrade process is using the default upgrade path and `False` otherwise. + :rtype: bool + """ + return api.current_actor().configuration.flavour == 'default' + + +def is_sap_hana_flavour(): + """ + Check if the current system needs to use the SAP HANA upgrade path. + + :return: `True` if this upgrade process is using the SAP HANA upgrade path and `False` otherwise. + :rtype: bool + """ + return api.current_actor().configuration.flavour == 'saphana' + + +def is_rhel_alt(): + """ + Check if the current system is RHEL-ALT or not (only for RHEL 7) + + The function is valid only for the RHEL 7 systems. On RHEL 8+ systems + returns always False. + + :return: `True` if the current system is RHEL-ALT and `False` otherwise. + :rtype: bool + """ + + if get_source_major_version() != '7': + return False + conf = api.current_actor().configuration + # rhel-alt is rhel 7 with kernel 4.x - there is not better detection... + return conf.os_release.release_id == 'rhel' and conf.kernel[0] == '4' + + +@deprecated(since='2023-08-15', message='This information is now provided by KernelInfo message.') +def is_rhel_realtime(): + """ + Check whether the original system is RHEL Real Time. + + Currently the check is based on the release of the original booted kernel. + In case of RHEL, we are sure the release contains the ".rt" string and + non-realtime kernels don't. Let's use this minimalistic check for now. + In future, we could detect whether the system is preemptive or not based + on properties of the kernel (e.g. uname -a tells that information). + + :return: `True` if the orig system is RHEL RT and `False` otherwise. + :rtype: bool + """ + conf = api.current_actor().configuration + if conf.os_release.release_id != 'rhel': + return False + + kernel_type = kernel_lib.determine_kernel_type_from_uname(get_source_version(), conf.kernel) + return kernel_type == kernel_lib.KernelType.REALTIME + + +def is_supported_version(): + """ + Verify if the current system version is supported for the upgrade. + + :return: `True` if the current version is supported and `False` otherwise. + :rtype: bool + """ + release_id, version_id = current_version() + if is_rhel_alt(): + release_id = 'rhel-alt' + elif is_sap_hana_flavour(): + release_id = 'rhel-saphana' + + if not matches_release(SUPPORTED_VERSIONS, release_id): + return False + + return matches_version(SUPPORTED_VERSIONS[release_id], version_id) diff --git a/repos/system_upgrade/common/libraries/dnfconfig.py b/repos/system_upgrade/common/libraries/dnfconfig.py new file mode 100644 index 0000000..5b8180f --- /dev/null +++ b/repos/system_upgrade/common/libraries/dnfconfig.py @@ -0,0 +1,126 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config.version import get_source_major_version +from leapp.libraries.stdlib import api, CalledProcessError + + +def get_leapp_packages(): + """ + Return the list of leapp and leapp-repository rpms that should be preserved + during the upgrade. + + It's list of packages that should be preserved, not what is really + installed. + + The snactor RPM doesn't have to be installed, but if so, we have to take + care about that too as well to prevent broken dnf transaction. + """ + # TODO: should we set the seatbelt and exclude leapp RPMs from the target + # system too? + generic = ['leapp', 'snactor'] + if get_source_major_version() == '7': + return generic + ['python2-leapp', 'leapp-upgrade-el7toel8'] + + return generic + ['python3-leapp', 'leapp-upgrade-el8toel9'] + + +def _strip_split(data, sep, maxsplit=-1): + """ + Just like str.split(), but remove ambient whitespaces from all items + """ + return [item.strip() for item in data.split(sep, maxsplit)] + + +def _get_main_dump(context, disable_plugins): + """ + Return the dnf configuration dump of main options for the given context. + + Returns the list of lines after the line with "[main]" section + """ + + cmd = ['dnf', 'config-manager', '--dump'] + + if disable_plugins: + for plugin in disable_plugins: + cmd += ['--disableplugin', plugin] + + try: + data = context.call(cmd, split=True)['stdout'] + except CalledProcessError as e: + api.current_logger().error('Cannot obtain the dnf configuration') + raise StopActorExecutionError( + message='Cannot obtain data about the DNF configuration', + details={'stdout': e.stdout, 'stderr': e.stderr} + ) + + try: + # return index of the first item in the main section + main_start = data.index('[main]') + 1 + except ValueError: + raise StopActorExecutionError( + message='Invalid DNF configuration data (missing [main])', + details=data, + ) + + output_data = {} + for line in data[main_start:]: + try: + key, val = _strip_split(line, '=', 1) + except ValueError: + # This is not expected to happen, but call it a seatbelt in case + # the dnf dump implementation will change and we will miss it + # This is not such a hard error as the one above, as it means + # some values could be incomplete, however we are still able + # to continue. + api.current_logger().warning( + 'Cannot parse the dnf dump correctly, line: {}'.format(line)) + pass + output_data[key] = val + + return output_data + + +def _get_excluded_pkgs(context, disable_plugins): + """ + Return the list of excluded packages for DNF in the given context. + + It shouldn't be used on the source system. It is expected this functions + is called only in the target userspace container or on the target system. + """ + pkgs = _strip_split(_get_main_dump(context, disable_plugins).get('exclude', ''), ',') + return [i for i in pkgs if i] + + +def _set_excluded_pkgs(context, pkglist, disable_plugins): + """ + Configure DNF to exclude packages in the given list + + Raise the CalledProcessError on error. + """ + exclude = 'exclude={}'.format(','.join(pkglist)) + cmd = ['dnf', 'config-manager', '--save', '--setopt', exclude] + + if disable_plugins: + for plugin in disable_plugins: + cmd += ['--disableplugin', plugin] + + try: + context.call(cmd) + except CalledProcessError: + api.current_logger().error('Cannot set the dnf configuration') + raise + api.current_logger().debug('The DNF configuration has been updated to exclude leapp packages.') + + +def exclude_leapp_rpms(context, disable_plugins): + """ + Ensure the leapp RPMs are excluded from any DNF transaction. + + This has to be called several times to ensure that our RPMs are not removed + or updated (replaced) during the IPU. The action should happen inside + - the target userspace container + - on the host system + So user will have to drop these packages from the exclude after the + upgrade. + """ + to_exclude = list(set(_get_excluded_pkgs(context, disable_plugins) + get_leapp_packages())) + _set_excluded_pkgs(context, to_exclude, disable_plugins) diff --git a/repos/system_upgrade/common/libraries/dnfplugin.py b/repos/system_upgrade/common/libraries/dnfplugin.py new file mode 100644 index 0000000..ffde211 --- /dev/null +++ b/repos/system_upgrade/common/libraries/dnfplugin.py @@ -0,0 +1,539 @@ +import contextlib +import itertools +import json +import os +import re +import shutil + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import dnfconfig, guards, mounting, overlaygen, rhsm, utils +from leapp.libraries.common.config import get_env +from leapp.libraries.common.config.version import get_target_major_version, get_target_version +from leapp.libraries.stdlib import api, CalledProcessError, config +from leapp.models import DNFWorkaround + +DNF_PLUGIN_NAME = 'rhel_upgrade.py' +_DEDICATED_URL = 'https://access.redhat.com/solutions/7011704' + + +class _DnfPluginPathStr(str): + _PATHS = { + "8": os.path.join('/lib/python3.6/site-packages/dnf-plugins', DNF_PLUGIN_NAME), + "9": os.path.join('/lib/python3.9/site-packages/dnf-plugins', DNF_PLUGIN_NAME), + } + + def __init__(self): # noqa: W0231; pylint: disable=super-init-not-called + self.data = "" + + def _feed(self): + major = get_target_major_version() + if major not in _DnfPluginPathStr._PATHS: + raise KeyError('{} is not a supported target version of RHEL'.format(major)) + self.data = _DnfPluginPathStr._PATHS[major] + + def __str__(self): + self._feed() + return str(self.data) + + def __repr__(self): + self._feed() + return repr(self.data) + + def lstrip(self, chars=None): + self._feed() + return self.data.lstrip(chars) + + +# Deprecated +DNF_PLUGIN_PATH = _DnfPluginPathStr() + +DNF_PLUGIN_DATA_NAME = 'dnf-plugin-data.txt' +DNF_PLUGIN_DATA_PATH = os.path.join('/var/lib/leapp', DNF_PLUGIN_DATA_NAME) +DNF_PLUGIN_DATA_LOG_PATH = os.path.join('/var/log/leapp', DNF_PLUGIN_DATA_NAME) +DNF_DEBUG_DATA_PATH = '/var/log/leapp/dnf-debugdata/' + + +def install(target_basedir): + """ + Installs our plugin to the DNF plugins. + """ + try: + shutil.copy2( + api.get_file_path(DNF_PLUGIN_NAME), + os.path.join(target_basedir, DNF_PLUGIN_PATH.lstrip('/'))) + except EnvironmentError as e: + api.current_logger().debug('Failed to install DNF plugin', exc_info=True) + raise StopActorExecutionError( + message='Failed to install DNF plugin. Error: {}'.format(str(e)) + ) + + +def _rebuild_rpm_db(context, root=None): + """ + Convert rpmdb from BerkeleyDB to Sqlite + """ + base_cmd = ['rpmdb', '--rebuilddb'] + cmd = base_cmd if not root else base_cmd + ['-r', root] + context.call(cmd) + + +def _the_nogpgcheck_option_used(): + return get_env('LEAPP_NOGPGCHECK', '0') == '1' + + +def build_plugin_data(target_repoids, debug, test, tasks, on_aws): + """ + Generates a dictionary with the DNF plugin data. + """ + # get list of repo IDs of target repositories that should be used for upgrade + data = { + 'pkgs_info': { + 'local_rpms': [os.path.join('/installroot', pkg.lstrip('/')) for pkg in tasks.local_rpms], + 'to_install': tasks.to_install, + 'to_remove': tasks.to_remove, + 'to_upgrade': tasks.to_upgrade, + 'modules_to_enable': ['{}:{}'.format(m.name, m.stream) for m in tasks.modules_to_enable], + }, + 'dnf_conf': { + 'allow_erasing': True, + 'best': True, + 'debugsolver': debug, + 'disable_repos': True, + 'enable_repos': target_repoids, + 'gpgcheck': not _the_nogpgcheck_option_used(), + 'platform_id': 'platform:el{}'.format(get_target_major_version()), + 'releasever': get_target_version(), + 'installroot': '/installroot', + 'test_flag': test + }, + 'rhui': { + 'aws': { + 'on_aws': on_aws, + 'region': None, + } + } + } + return data + + +def create_config(context, target_repoids, debug, test, tasks, on_aws=False): + """ + Creates the configuration data file for our DNF plugin. + """ + context.makedirs(os.path.dirname(DNF_PLUGIN_DATA_PATH), exists_ok=True) + with context.open(DNF_PLUGIN_DATA_PATH, 'w+') as f: + config_data = build_plugin_data( + target_repoids=target_repoids, debug=debug, test=test, tasks=tasks, on_aws=on_aws + ) + json.dump(config_data, f, sort_keys=True, indent=2) + + +def backup_config(context): + """ + Backs up the configuration data used for the plugin. + """ + context.copy_from(DNF_PLUGIN_DATA_PATH, DNF_PLUGIN_DATA_LOG_PATH) + + +def backup_debug_data(context): + """ + Performs the backup of DNF debug data + """ + if config.is_debug(): + # The debugdata is a folder generated by dnf when using the --debugsolver dnf option. We switch on the + # debug_solver dnf config parameter in our rhel-upgrade dnf plugin when LEAPP_DEBUG env var set to 1. + try: + context.copytree_from('/debugdata', DNF_DEBUG_DATA_PATH) + except OSError as e: + api.current_logger().warning('Failed to copy debugdata. Message: {}'.format(str(e)), exc_info=True) + + +def _handle_transaction_err_msg_old(stage, xfs_info, err): + # NOTE(pstodulk): This is going to be removed in future! + message = 'DNF execution failed with non zero exit code.' + details = {'STDOUT': err.stdout, 'STDERR': err.stderr} + + if 'more space needed on the' in err.stderr and stage != 'upgrade': + # Disk Requirements: + # At least more space needed on the filesystem. + # + article_section = 'Generic case' + if xfs_info.present and xfs_info.without_ftype: + article_section = 'XFS ftype=0 case' + + message = ('There is not enough space on the file system hosting /var/lib/leapp directory ' + 'to extract the packages.') + details = {'hint': "Please follow the instructions in the '{}' section of the article at: " + "link: https://access.redhat.com/solutions/5057391".format(article_section)} + + raise StopActorExecutionError(message=message, details=details) + + +def _handle_transaction_err_msg(stage, xfs_info, err, is_container=False): + # ignore the fallback when the error is related to the container issue + # e.g. installation of packages inside the container; so it's unrelated + # to the upgrade transactions. + if get_env('LEAPP_OVL_LEGACY', '0') == '1' and not is_container: + _handle_transaction_err_msg_old(stage, xfs_info, err) + return # not needed actually as the above function raises error, but for visibility + NO_SPACE_STR = 'more space needed on the' + message = 'DNF execution failed with non zero exit code.' + details = {'STDOUT': err.stdout, 'STDERR': err.stderr} + if NO_SPACE_STR not in err.stderr: + raise StopActorExecutionError(message=message, details=details) + + # Disk Requirements: + # At least more space needed on the filesystem. + # + missing_space = [line.strip() for line in err.stderr.split('\n') if NO_SPACE_STR in line] + if is_container: + size_str = re.match(r'At least (.*) more space needed', missing_space[0]).group(1) + message = 'There is not enough space on the file system hosting /var/lib/leapp.' + hint = ( + 'Increase the free space on the filesystem hosting' + ' /var/lib/leapp by {} at minimum. It is suggested to provide' + ' reasonably more space to be able to perform all planned actions' + ' (e.g. when 200MB is missing, add 1700MB or more).\n\n' + 'It is also a good practice to create dedicated partition' + ' for /var/lib/leapp when more space is needed, which can be' + ' dropped after the system upgrade is fully completed' + ' For more info, see: {}' + .format(size_str, _DEDICATED_URL) + ) + # we do not want to confuse customers by the orig msg speaking about + # missing space on '/'. Skip the Disk Requirements section. + # The information is part of the hint. + details = {'hint': hint} + else: + message = 'There is not enough space on some file systems to perform the upgrade transaction.' + hint = ( + 'Increase the free space on listed filesystems. Presented values' + ' are required minimum calculated by RPM and it is suggested to' + ' provide reasonably more free space (e.g. when 200 MB is missing' + ' on /usr, add 1200MB or more).' + ) + details = {'hint': hint, 'Disk Requirements': '\n'.join(missing_space)} + + raise StopActorExecutionError(message=message, details=details) + + +def _transaction(context, stage, target_repoids, tasks, plugin_info, xfs_info, + test=False, cmd_prefix=None, on_aws=False): + """ + Perform the actual DNF rpm download via our DNF plugin + """ + + # we do not want + if stage not in ['dry-run', 'upgrade']: + create_config( + context=context, + target_repoids=target_repoids, + debug=config.is_debug(), + test=test, tasks=tasks, + on_aws=on_aws + ) + backup_config(context=context) + + # FIXME: rhsm + with guards.guarded_execution(guards.connection_guard(), guards.space_guard()): + cmd_prefix = cmd_prefix or [] + common_params = [] + if config.is_verbose(): + common_params.append('-v') + if rhsm.skip_rhsm(): + common_params += ['--disableplugin', 'subscription-manager'] + if plugin_info: + for info in plugin_info: + if stage in info.disable_in: + common_params += ['--disableplugin', info.name] + env = {} + if get_target_major_version() == '9': + # allow handling new RHEL 9 syscalls by systemd-nspawn + env = {'SYSTEMD_SECCOMP': '0'} + + # We need to reset modules twice, once before we check, and the second time before we actually perform + # the upgrade. Not more often as the modules will be reset already. + if stage in ('check', 'upgrade') and tasks.modules_to_reset: + # We shall only reset modules that are not going to be enabled + # This will make sure it is so + modules_to_reset = {(module.name, module.stream) for module in tasks.modules_to_reset} + modules_to_enable = {(module.name, module.stream) for module in tasks.modules_to_enable} + module_reset_list = [module[0] for module in modules_to_reset - modules_to_enable] + # Perform module reset + cmd = ['/usr/bin/dnf', 'module', 'reset', '--enabled', ] + module_reset_list + cmd += ['--disablerepo', '*', '-y', '--installroot', '/installroot'] + try: + context.call( + cmd=cmd_prefix + cmd + common_params, + callback_raw=utils.logging_handler, + env=env + ) + except (CalledProcessError, OSError): + api.current_logger().debug('Failed to reset modules via dnf with an error. Ignoring.', + exc_info=True) + + cmd = [ + '/usr/bin/dnf', + 'rhel-upgrade', + stage, + DNF_PLUGIN_DATA_PATH + ] + try: + context.call( + cmd=cmd_prefix + cmd + common_params, + callback_raw=utils.logging_handler, + env=env + ) + except OSError as e: + api.current_logger().error('Could not call dnf command: Message: %s', str(e), exc_info=True) + raise StopActorExecutionError( + message='Failed to execute dnf. Reason: {}'.format(str(e)) + ) + except CalledProcessError as e: + api.current_logger().error('Cannot calculate, check, test, or perform the upgrade transaction.') + _handle_transaction_err_msg(stage, xfs_info, e, is_container=False) + finally: + if stage == 'check': + backup_debug_data(context=context) + + +@contextlib.contextmanager +def _prepare_transaction(used_repos, target_userspace_info, binds=()): + """ Creates the transaction environment needed for the target userspace DNF execution """ + target_repoids = set() + for message in used_repos: + target_repoids.update([repo.repoid for repo in message.repos]) + with mounting.NspawnActions(base_dir=target_userspace_info.path, binds=binds) as context: + yield context, list(target_repoids), target_userspace_info + + +def apply_workarounds(context=None): + """ + Apply registered workarounds in the given context environment + """ + context = context or mounting.NotIsolatedActions(base_dir='/') + for workaround in api.consume(DNFWorkaround): + try: + api.show_message('Applying transaction workaround - {}'.format(workaround.display_name)) + if workaround.script_args: + cmd_str = '{script} {args}'.format( + script=workaround.script_path, + args=' '.join(workaround.script_args) + ) + else: + cmd_str = workaround.script_path + context.call(['/bin/bash', '-c', cmd_str]) + except (OSError, CalledProcessError) as e: + raise StopActorExecutionError( + message=('Failed to execute script to apply transaction workaround {display_name}.' + ' Message: {error}'.format(error=str(e), display_name=workaround.display_name)) + ) + + +def install_initramdisk_requirements(packages, target_userspace_info, used_repos): + """ + Performs the installation of packages into the initram disk + """ + with _prepare_transaction(used_repos=used_repos, + target_userspace_info=target_userspace_info) as (context, target_repoids, _unused): + if get_target_major_version() == '9': + _rebuild_rpm_db(context) + repos_opt = [['--enablerepo', repo] for repo in target_repoids] + repos_opt = list(itertools.chain(*repos_opt)) + cmd = [ + 'dnf', + 'install', + '-y'] + if _the_nogpgcheck_option_used(): + cmd.append('--nogpgcheck') + cmd += [ + '--setopt=module_platform_id=platform:el{}'.format(get_target_major_version()), + '--setopt=keepcache=1', + '--releasever', api.current_actor().configuration.version.target, + '--disablerepo', '*' + ] + repos_opt + list(packages) + if config.is_verbose(): + cmd.append('-v') + if rhsm.skip_rhsm(): + cmd += ['--disableplugin', 'subscription-manager'] + env = {} + if get_target_major_version() == '9': + # allow handling new RHEL 9 syscalls by systemd-nspawn + env = {'SYSTEMD_SECCOMP': '0'} + try: + context.call(cmd, env=env) + except CalledProcessError as e: + api.current_logger().error( + 'Cannot install packages in the target container required to build the upgrade initramfs.' + ) + _handle_transaction_err_msg('', None, e, is_container=True) + + +def perform_transaction_install(target_userspace_info, storage_info, used_repos, tasks, plugin_info, xfs_info): + """ + Performs the actual installation with the DNF rhel-upgrade plugin using the target userspace + """ + + stage = 'upgrade' + + # These bind mounts are performed by systemd-nspawn --bind parameters + bind_mounts = [ + '/:/installroot', + '/dev:/installroot/dev', + '/proc:/installroot/proc', + '/run/udev:/installroot/run/udev', + ] + + if get_target_major_version() == '8': + bind_mounts.append('/sys:/installroot/sys') + else: + # the target major version is RHEL 9+ + # we are bindmounting host's "/sys" to the intermediate "/hostsys" + # in the upgrade initramdisk to avoid cgroups tree layout clash + bind_mounts.append('/hostsys:/installroot/sys') + + already_mounted = {entry.split(':')[0] for entry in bind_mounts} + for entry in storage_info.fstab: + mp = entry.fs_file + if not os.path.isdir(mp): + continue + if mp not in already_mounted: + bind_mounts.append('{}:{}'.format(mp, os.path.join('/installroot', mp.lstrip('/')))) + + if os.path.ismount('/boot'): + bind_mounts.append('/boot:/installroot/boot') + + if os.path.ismount('/boot/efi'): + bind_mounts.append('/boot/efi:/installroot/boot/efi') + + with _prepare_transaction(used_repos=used_repos, + target_userspace_info=target_userspace_info, + binds=bind_mounts + ) as (context, target_repoids, _unused): + # the below nsenter command is important as we need to enter sysvipc namespace on the host so we can + # communicate with udev + cmd_prefix = ['nsenter', '--ipc=/installroot/proc/1/ns/ipc'] + + disable_plugins = [] + if plugin_info: + for info in plugin_info: + if stage in info.disable_in: + disable_plugins += [info.name] + + # we have to ensure the leapp packages will stay untouched + # Note: this is the most probably duplicate action - it should be already + # set like that, however seatbelt is a good thing. + dnfconfig.exclude_leapp_rpms(context, disable_plugins) + + if get_target_major_version() == '9': + _rebuild_rpm_db(context, root='/installroot') + _transaction( + context=context, stage='upgrade', target_repoids=target_repoids, plugin_info=plugin_info, + xfs_info=xfs_info, tasks=tasks, cmd_prefix=cmd_prefix + ) + + # we have to ensure the leapp packages will stay untouched even after the + # upgrade is fully finished (it cannot be done before the upgrade + # on the host as the config-manager plugin is available since rhel-8) + dnfconfig.exclude_leapp_rpms(mounting.NotIsolatedActions(base_dir='/'), disable_plugins=disable_plugins) + + +@contextlib.contextmanager +def _prepare_perform(used_repos, target_userspace_info, xfs_info, storage_info, target_iso=None): + reserve_space = overlaygen.get_recommended_leapp_free_space(target_userspace_info.path) + with _prepare_transaction(used_repos=used_repos, + target_userspace_info=target_userspace_info + ) as (context, target_repoids, userspace_info): + with overlaygen.create_source_overlay(mounts_dir=userspace_info.mounts, scratch_dir=userspace_info.scratch, + xfs_info=xfs_info, storage_info=storage_info, + mount_target=os.path.join(context.base_dir, 'installroot'), + scratch_reserve=reserve_space) as overlay: + with mounting.mount_upgrade_iso_to_root_dir(target_userspace_info.path, target_iso): + yield context, overlay, target_repoids + + +def perform_transaction_check(target_userspace_info, + used_repos, + tasks, + xfs_info, + storage_info, + plugin_info, + target_iso=None): + """ + Perform DNF transaction check using our plugin + """ + + stage = 'check' + + with _prepare_perform(used_repos=used_repos, target_userspace_info=target_userspace_info, xfs_info=xfs_info, + storage_info=storage_info, target_iso=target_iso) as (context, overlay, target_repoids): + apply_workarounds(overlay.nspawn()) + + disable_plugins = [] + if plugin_info: + for info in plugin_info: + if stage in info.disable_in: + disable_plugins += [info.name] + + dnfconfig.exclude_leapp_rpms(context, disable_plugins) + _transaction( + context=context, stage='check', target_repoids=target_repoids, plugin_info=plugin_info, xfs_info=xfs_info, + tasks=tasks + ) + + +def perform_rpm_download(target_userspace_info, + used_repos, + tasks, + xfs_info, + storage_info, + plugin_info, + target_iso=None, + on_aws=False): + """ + Perform RPM download including the transaction test using dnf with our plugin + """ + + stage = 'download' + + with _prepare_perform(used_repos=used_repos, + target_userspace_info=target_userspace_info, + xfs_info=xfs_info, + storage_info=storage_info, + target_iso=target_iso) as (context, overlay, target_repoids): + + disable_plugins = [] + if plugin_info: + for info in plugin_info: + if stage in info.disable_in: + disable_plugins += [info.name] + + apply_workarounds(overlay.nspawn()) + dnfconfig.exclude_leapp_rpms(context, disable_plugins) + _transaction( + context=context, stage='download', target_repoids=target_repoids, plugin_info=plugin_info, tasks=tasks, + test=True, on_aws=on_aws, xfs_info=xfs_info + ) + + +def perform_dry_run(target_userspace_info, + used_repos, + tasks, + xfs_info, + storage_info, + plugin_info, + target_iso=None, + on_aws=False): + """ + Perform the dnf transaction test / dry-run using only cached data. + """ + with _prepare_perform(used_repos=used_repos, + target_userspace_info=target_userspace_info, + xfs_info=xfs_info, + storage_info=storage_info, + target_iso=target_iso) as (context, overlay, target_repoids): + apply_workarounds(overlay.nspawn()) + _transaction( + context=context, stage='dry-run', target_repoids=target_repoids, plugin_info=plugin_info, tasks=tasks, + test=True, on_aws=on_aws, xfs_info=xfs_info + ) diff --git a/repos/system_upgrade/common/libraries/efi_reboot_fix.py b/repos/system_upgrade/common/libraries/efi_reboot_fix.py new file mode 100644 index 0000000..8b18cfb --- /dev/null +++ b/repos/system_upgrade/common/libraries/efi_reboot_fix.py @@ -0,0 +1,47 @@ +import os +from re import compile as regexp + +from leapp.libraries.stdlib import run + +_current_boot_matcher = regexp(r'BootCurrent: (?P([0-9A-F]*))') +_next_boot_matcher = regexp(r'BootNext: (?P([0-9A-F]*))') + + +def get_current_boot_match(string): + match = _current_boot_matcher.match(string) + if not match: + return None + captured_groups = match.groupdict() + return captured_groups['boot_current'] + + +def get_next_boot_match(string): + match = _next_boot_matcher.match(string) + if not match: + return None + captured_groups = match.groupdict() + return captured_groups['boot_next'] + + +def maybe_emit_updated_boot_entry(): + if not os.path.exists('/sbin/efibootmgr'): + return + + efi_info = run(['/sbin/efibootmgr'], checked=False, split=True) + if efi_info['exit_code'] != 0: + # Not an efi system + return + + current_boot, next_boot = None, None + for line in efi_info['stdout']: + current_match = get_current_boot_match(line) + if current_match: + current_boot = current_match + + next_match = get_next_boot_match(line) + if next_match: + next_boot = next_match + + if current_boot and not next_boot: + # We set BootNext to CurrentBoot only if BootNext wasn't previously set + run(['/sbin/efibootmgr', '-n', current_boot]) diff --git a/repos/system_upgrade/common/libraries/fetch.py b/repos/system_upgrade/common/libraries/fetch.py new file mode 100644 index 0000000..1ca2617 --- /dev/null +++ b/repos/system_upgrade/common/libraries/fetch.py @@ -0,0 +1,198 @@ +import io # Python2/Python3 compatible IO (open etc.) +import json +import os + +import requests + +from leapp import models +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import get_consumed_data_stream_id, get_env +from leapp.libraries.common.config.version import get_source_major_version, get_target_major_version +from leapp.libraries.stdlib import api + +SERVICE_HOST_DEFAULT = "https://cert.cloud.redhat.com" +REQUEST_TIMEOUT = (5, 30) +MAX_ATTEMPTS = 3 +ASSET_PROVIDED_DATA_STREAMS_FIELD = 'provided_data_streams' + + +def _get_hint(): + rpmname = 'leapp-upgrade-el{}toel{}'.format(get_source_major_version(), get_target_major_version()) + hint = ( + 'All official data files are nowadays part of the installed rpms.' + ' This issue is usually encountered when the data files are incorrectly customized, replaced, or removed' + ' (e.g. by custom scripts).' + ' In case you want to recover the original file, remove it (if still exists)' + ' and reinstall the {} rpm.' + .format(rpmname) + ) + return hint + + +def _raise_error(local_path, details): + """ + If the file acquisition fails in any way, throw an informative error to stop the actor. + """ + summary = 'Data file {lp} is missing or invalid.'.format(lp=local_path) + raise StopActorExecutionError(summary, details={'details': details, 'hint': _get_hint()}) + + +def _request_data(service_path, cert, proxies, timeout=REQUEST_TIMEOUT): + logger = api.current_logger() + attempt = 0 + while True: + attempt += 1 + try: + return requests.get(service_path, cert=cert, proxies=proxies, timeout=REQUEST_TIMEOUT) + except requests.exceptions.Timeout as e: + etype_msg = 'Connection timeout' + if isinstance(e, requests.exceptions.ReadTimeout): + etype_msg = 'Read timeout' + # reading is slow, increase the time limit for the reading + timeout = (timeout[0], timeout[1] + 10) + if attempt > MAX_ATTEMPTS: + logger.warning( + 'Attempt {} of {} to get {} failed: {}.' + .format(MAX_ATTEMPTS, MAX_ATTEMPTS, service_path, etype_msg) + ) + raise + + logger.info( + 'Attempt {} of {} to get {} failed: {}. Retrying...' + .format(attempt, MAX_ATTEMPTS, service_path, etype_msg) + ) + + +def read_or_fetch(filename, + directory="/etc/leapp/files", + service=None, + allow_empty=False, + encoding='utf-8', + data_stream=None, + allow_download=True): + """ + Return the contents of a text file or fetch them from an online service if the file does not exist. + + :param str filename: The name of the file to read or fetch. + :param str directory: Directory that should contain the file. + :param str service: URL to the service providing the data if the file is missing. + :param Optional[str] with_leapp_version: Inject the given leapp version when fetching from a service. + :param bool allow_empty: Raise an error if the resulting data are empty. + :param str encoding: Encoding to use when decoding the raw binary data. + :param bool allow_download: Allow the fallback to download the data file if not present. + :returns: Text contents of the file. Text is decoded using the provided encoding. + :rtype: str + """ + logger = api.current_logger() + local_path = os.path.join(directory, filename) + + # try to get the data locally + if not os.path.exists(local_path): + if not allow_download: + _raise_error(local_path, "File {lp} does not exist.".format(lp=local_path)) + logger.warning("File {lp} does not exist, falling back to online service)".format(lp=local_path)) + else: + try: + with io.open(local_path, encoding=encoding) as f: + data = f.read() + if not allow_empty and not data: + _raise_error(local_path, "File {lp} exists but is empty".format(lp=local_path)) + logger.warning("File {lp} successfully read ({l} bytes)".format(lp=local_path, l=len(data))) + return data + except EnvironmentError: + _raise_error(local_path, "File {lp} exists but couldn't be read".format(lp=local_path)) + except Exception as e: + raise e + + # if the data is not present locally, fetch it from the online service + service = service or get_env("LEAPP_SERVICE_HOST", default=SERVICE_HOST_DEFAULT) + if data_stream: + service_path = "{s}/api/pes/{stream}/{f}".format(s=service, stream=data_stream, f=filename) + else: + service_path = "{s}/api/pes/{f}".format(s=service, f=filename) + + proxy = get_env("LEAPP_PROXY_HOST") + proxies = {"https": proxy} if proxy else None + cert = ("/etc/pki/consumer/cert.pem", "/etc/pki/consumer/key.pem") + response = None + try: + response = _request_data(service_path, cert=cert, proxies=proxies) + except requests.exceptions.RequestException as e: + logger.error(e) + _raise_error(local_path, "Could not fetch {f} from {sp} (unreachable address).".format( + f=filename, sp=service_path)) + # almost certainly missing certs + except (OSError, IOError) as e: + logger.error(e) + _raise_error(local_path, ("Could not fetch {f} from {sp} (missing certificates). Is the machine" + " registered?".format(f=filename, sp=service_path))) + if response.status_code != 200: + _raise_error(local_path, "Could not fetch {f} from {sp} (error code: {e}).".format( + f=filename, sp=service_path, e=response.status_code)) + + if not allow_empty and not response.content: + _raise_error(local_path, "File {lp} successfully retrieved but it's empty".format(lp=local_path)) + logger.warning("File {sp} successfully retrieved and read ({l} bytes)".format( + sp=service_path, l=len(response.content))) + + return response.content.decode(encoding) + + +def load_data_asset(actor_requesting_asset, + asset_filename, + asset_fulltext_name, + docs_url, + docs_title): + """ + Load the content of the data asset with given asset_filename + + :param Actor actor_requesting_asset: The actor instance requesting the asset file. It is necessary for the actor + to be able to produce ConsumedDataAsset message in order for leapp to be able + to uniformly report assets with incorrect versions. + :param str asset_filename: The file name of the asset to load. + :param str asset_fulltext_name: A human readable asset name to display in error messages. + :param str docs_url: Docs url to provide if an asset is malformed or outdated. + :param str docs_title: Title of the documentation to where `docs_url` points to. + :returns: A dict with asset contents (a parsed JSON), or None if the asset was outdated. + """ + + # Check that the actor that is attempting to obtain the asset meets the contract to call this function + if models.ConsumedDataAsset not in actor_requesting_asset.produces: + raise StopActorExecutionError('The supplied `actor_requesting_asset` does not produce ConsumedDataAsset.') + + if docs_url: + error_hint = {'hint': ('Read documentation at the following link for more information about how to retrieve ' + 'the valid file: {0}'.format(docs_url))} + else: + error_hint = {'hint': _get_hint()} + + data_stream_id = get_consumed_data_stream_id() + data_stream_major = data_stream_id.split('.', 1)[0] + api.current_logger().info( + 'Attempting to load the asset {0} (data_stream={1})'.format(asset_filename, data_stream_id) + ) + + try: + # The asset family ID has the form (major, minor), include only `major` in the URL + raw_asset_contents = read_or_fetch(asset_filename, data_stream=data_stream_major) + asset_contents = json.loads(raw_asset_contents) + except ValueError: + msg = 'The {0} file (at {1}) does not contain a valid JSON object.'.format(asset_fulltext_name, asset_filename) + raise StopActorExecutionError(msg, details=error_hint) + + if not isinstance(asset_contents, dict): + # Should be unlikely + msg = 'The {0} file (at {1}) is invalid - it does not contain a JSON object at the topmost level.' + raise StopActorExecutionError(msg.format(asset_fulltext_name, asset_filename), details=error_hint) + + provided_data_streams = asset_contents.get(ASSET_PROVIDED_DATA_STREAMS_FIELD) + if provided_data_streams and not isinstance(provided_data_streams, list): + provided_data_streams = [] # The asset will be later reported as malformed + + api.produce(models.ConsumedDataAsset(filename=asset_filename, + fulltext_name=asset_fulltext_name, + docs_url=docs_url, + docs_title=docs_title, + provided_data_streams=provided_data_streams)) + + return asset_contents diff --git a/repos/system_upgrade/common/libraries/grub.py b/repos/system_upgrade/common/libraries/grub.py new file mode 100644 index 0000000..957d51d --- /dev/null +++ b/repos/system_upgrade/common/libraries/grub.py @@ -0,0 +1,118 @@ +import os + +from leapp.exceptions import StopActorExecution +from leapp.libraries.common import mdraid +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.utils.deprecation import deprecated + + +def has_grub(blk_dev): + """ + Check whether GRUB is present on block device + """ + try: + blk = os.open(blk_dev, os.O_RDONLY) + mbr = os.read(blk, 512) + except OSError: + api.current_logger().warning( + 'Could not read first sector of {} in order to identify the bootloader'.format(blk_dev) + ) + raise StopActorExecution() + os.close(blk) + test = 'GRUB' + if not isinstance(mbr, str): + test = test.encode('utf-8') + + return test in mbr + + +def blk_dev_from_partition(partition): + """ + Find parent device of /boot partition + """ + try: + result = run(['lsblk', '-spnlo', 'name', partition]) + except CalledProcessError: + api.current_logger().warning( + 'Could not get parent device of {} partition'.format(partition) + ) + raise StopActorExecution() + # lsblk "-s" option prints dependencies in inverse order, so the parent device will always + # be the last or the only device. + # Command result example: + # 'result', {'signal': 0, 'pid': 3872, 'exit_code': 0, 'stderr': u'', 'stdout': u'/dev/vda1\n/dev/vda\n'} + return result['stdout'].strip().split()[-1] + + +def get_boot_partition(): + """ + Get /boot partition name. + """ + try: + # call grub2-probe to identify /boot partition + result = run(['grub2-probe', '--target=device', '/boot']) + except CalledProcessError: + api.current_logger().warning( + 'Could not get name of underlying /boot partition' + ) + raise StopActorExecution() + except OSError: + api.current_logger().warning( + 'Could not get name of underlying /boot partition:' + ' grub2-probe is missing.' + ' Possibly called on system that does not use GRUB2?' + ) + raise StopActorExecution() + boot_partition = result['stdout'].strip() + api.current_logger().info('/boot is on {}'.format(boot_partition)) + return boot_partition + + +def get_grub_devices(): + """ + Get block devices where GRUB is located. We assume GRUB is on the same device + as /boot partition is. In case that device is an md (Multiple Device) device, all + of the component devices of such a device are considered. + + :return: Devices where GRUB is located + :rtype: list + """ + boot_device = get_boot_partition() + devices = [] + if mdraid.is_mdraid_dev(boot_device): + component_devs = mdraid.get_component_devices(boot_device) + blk_devs = [blk_dev_from_partition(dev) for dev in component_devs] + # remove duplicates as there might be raid on partitions on the same drive + # even if that's very unusual + devices = sorted(list(set(blk_devs))) + else: + devices.append(blk_dev_from_partition(boot_device)) + + have_grub = [dev for dev in devices if has_grub(dev)] + api.current_logger().info('GRUB is installed on {}'.format(",".join(have_grub))) + return have_grub + + +@deprecated(since='2023-06-23', message='This function has been replaced by get_grub_devices') +def get_grub_device(): + """ + Get block device where GRUB is located. We assume GRUB is on the same device + as /boot partition is. + + """ + boot_partition = get_boot_partition() + grub_dev = blk_dev_from_partition(boot_partition) + api.current_logger().info('GRUB is installed on {}'.format(grub_dev)) + # if has_grub(grub_dev): + return grub_dev if has_grub(grub_dev) else None + + +def is_blscfg_enabled_in_defaultgrub(default_grub_msg): + """ + Check if GRUB_ENABLE_BLSCFG is true in /etc/default/grub file + """ + grub_options_lst = default_grub_msg.default_grub_info + default_grub_options = { + option.name: option.value.strip('"') for option in grub_options_lst + } + return bool(default_grub_options.get('GRUB_ENABLE_BLSCFG', '') == 'true') diff --git a/repos/system_upgrade/common/libraries/guards.py b/repos/system_upgrade/common/libraries/guards.py new file mode 100644 index 0000000..c800181 --- /dev/null +++ b/repos/system_upgrade/common/libraries/guards.py @@ -0,0 +1,54 @@ +import contextlib +import os + +from six.moves.urllib.error import URLError +from six.moves.urllib.request import urlopen + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import CalledProcessError + + +@contextlib.contextmanager +def guarded_execution(*guards): + try: + yield + except CalledProcessError as e: + # collect output from guards for possible spurious failure + guard_errors = [] + for guard in guards: + err = guard() + if err: + guard_errors.append(err) + + details = None + if guard_errors: + details = { + 'hint': 'Possible spurious failure: {cause}'.format(cause=' '.join(guard_errors)) + } + raise StopActorExecutionError( + message=str(e), + details=details + ) + + +def connection_guard(url='https://example.com'): + def closure(): + try: + urlopen(url) + return None + except URLError as e: + cause = '''Failed to open url '{url}' with error: {error}'''.format(url=url, error=e) + return ('There was probably a problem with internet connection ({cause}).' + ' Check your connection and try again.'.format(cause=cause)) + return closure + + +def space_guard(path='/', min_free_mb=100): + def closure(): + info = os.statvfs(path) + free_mb = (info.f_bavail * info.f_frsize) >> 20 + if free_mb >= min_free_mb: + return None + return ('''Not enough free disk space in '{path}', needed: {min} M, available: {avail} M.''' + ' Free more disk space and try again.'.format(path=path, min=min_free_mb, avail=free_mb)) + return closure diff --git a/repos/system_upgrade/common/libraries/kernel.py b/repos/system_upgrade/common/libraries/kernel.py new file mode 100644 index 0000000..dac21b0 --- /dev/null +++ b/repos/system_upgrade/common/libraries/kernel.py @@ -0,0 +1,116 @@ +from collections import namedtuple + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api, CalledProcessError, run + +KernelPkgInfo = namedtuple('KernelPkgInfo', ('name', 'version', 'release', 'arch', 'nevra')) + + +KERNEL_UNAME_R_PROVIDES = ['kernel-uname-r', 'kernel-rt-uname-r'] + + +class KernelType(object): + ORDINARY = 'ordinary' + REALTIME = 'realtime' + + +def determine_kernel_type_from_uname(rhel_version, kernel_uname_r): + """ + Determine kernel type from given kernel release (uname-r). + + :param str rhel_version: Version of RHEL for which the kernel with the uname-r is targeted. + :param str kernel_uname_r: Kernel release (uname-r) + :returns: Kernel type based on a given uname_r + :rtype: KernelType + """ + version_fragments = rhel_version.split('.') + major_ver = version_fragments[0] + minor_ver = version_fragments[1] if len(version_fragments) > 1 else '0' + rhel_version = (major_ver, minor_ver) + + if rhel_version <= ('9', '2'): + uname_r_infixes = { + '.rt': KernelType.REALTIME + } + for infix, kernel_type in uname_r_infixes.items(): + if infix in kernel_uname_r: + return kernel_type + else: + uname_r_suffixes = { + '+rt': KernelType.REALTIME + } + + for suffix, kernel_type in uname_r_suffixes.items(): + if kernel_uname_r.endswith(suffix): + return kernel_type + + return KernelType.ORDINARY + + +def get_uname_r_provided_by_kernel_pkg(kernel_pkg_nevra): + """ + Get kernel release (uname-r) provided by a given kernel package. + + Calls the ``rpm`` command internally and might raise CalledProcessError if the rpm query fails. + + :param str kernel_pkg_nevra: NEVRA of an installed kernel package + :returns: uname-r provided by the given package + :rtype: str + """ + provides = run(['rpm', '-q', '--provides', kernel_pkg_nevra], + split=True, + callback_raw=lambda fd, value: None, + callback_linebuffered=lambda fd, value: None)['stdout'] + for provide_line in provides: + if '=' not in provide_line: + continue + provide, value = provide_line.split('=', 1) + provide = provide.strip() + if provide in KERNEL_UNAME_R_PROVIDES: + return value.strip() + return '' + + +def get_kernel_pkg_info(kernel_pkg_nevra): + """ + Query the RPM database for information about the given kernel package. + + Calls the ``rpm`` command internally and might raise CalledProcessError if the rpm query fails. + + :param str kernel_pkg_nevra: NEVRA of an installed kernel package + :returns: Information about the given kernel package + :rtype: KernelPkgInfo + """ + query_format = '%{NAME}|%{VERSION}|%{RELEASE}|%{ARCH}|' + pkg_info = run(['rpm', '-q', '--queryformat', query_format, kernel_pkg_nevra])['stdout'].strip().split('|') + return KernelPkgInfo(name=pkg_info[0], version=pkg_info[1], release=pkg_info[2], arch=pkg_info[3], + nevra=kernel_pkg_nevra) + + +def get_kernel_pkg_info_for_uname_r(uname_r): + """ + Identify the kernel package providing a kernel with the given kernel release (uname-r). + + Raises ``StopActorExecutionError`` if no package provides given uname_r or if the internal rpm query fails. + :param str uname_r: NEVRA of an installed kernel package + :returns: Information about the kernel package providing given uname_r + :rtype: KernelPkgInfo + """ + kernel_pkg_nevras = [] + for kernel_uname_r_provide in KERNEL_UNAME_R_PROVIDES: + try: + kernel_pkg_nevras += run(['rpm', '-q', '--whatprovides', kernel_uname_r_provide], split=True)['stdout'] + except CalledProcessError: # There is nothing providing a particular provide, e.g, kernel-rt-uname-r + continue # Nothing bad happened, continue + + kernel_pkg_nevras = set(kernel_pkg_nevras) + + for kernel_pkg_nevra in kernel_pkg_nevras: + provided_uname = get_uname_r_provided_by_kernel_pkg(kernel_pkg_nevra) # We know all packages provide a uname + if not provided_uname: + api.current_logger().warning('Failed to obtain uname-r provided by %s', kernel_pkg_nevra) + if provided_uname == uname_r: + return get_kernel_pkg_info(kernel_pkg_nevra) + + raise StopActorExecutionError(message='Unable to obtain kernel information of the booted kernel: no package is ' + 'providing the booted kernel release returned by uname.') diff --git a/repos/system_upgrade/common/libraries/mdraid.py b/repos/system_upgrade/common/libraries/mdraid.py new file mode 100644 index 0000000..5b59814 --- /dev/null +++ b/repos/system_upgrade/common/libraries/mdraid.py @@ -0,0 +1,52 @@ +import os + +from leapp.libraries.stdlib import api, CalledProcessError, run + + +def is_mdraid_dev(dev): + """ + Check if a given device is an md (Multiple Device) device + + It is expected that the "mdadm" command is available, + if it's not it is assumed the device is not an md device. + + :return: True if the device is an md device, False otherwise + :raises CalledProcessError: If an error occurred + """ + fail_msg = 'Could not check if device "{}" is an md device: {}' + if not os.path.exists('/usr/sbin/mdadm'): + api.current_logger().warning(fail_msg.format( + dev, '/usr/sbin/mdadm is not installed.' + )) + return False + try: + result = run(['mdadm', '--query', dev]) + except CalledProcessError as err: + err.message = fail_msg.format(dev, err) + raise # let the calling actor handle the exception + + return '--detail' in result['stdout'] + + +def get_component_devices(raid_dev): + """ + Get list of component devices in an md (Multiple Device) array + + :return: The list of component devices or None in case of error + :raises ValueError: If the device is not an mdraid device + """ + try: + # using both --verbose and --brief for medium verbosity + result = run(['mdadm', '--detail', '--verbose', '--brief', raid_dev]) + except (OSError, CalledProcessError) as err: + api.current_logger().warning( + 'Could not get md array component devices: {}'.format(err) + ) + return None + # example output: + # ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=c4acea6e:d56e1598:91822e3f:fb26832c # noqa: E501; pylint: disable=line-too-long + # devices=/dev/vda1,/dev/vdb1 + if 'does not appear to be an md device' in result['stdout']: + raise ValueError("Expected md device, but got: {}".format(raid_dev)) + + return sorted(result['stdout'].rsplit('=', 2)[-1].strip().split(',')) diff --git a/repos/system_upgrade/common/libraries/module.py b/repos/system_upgrade/common/libraries/module.py new file mode 100644 index 0000000..abde69e --- /dev/null +++ b/repos/system_upgrade/common/libraries/module.py @@ -0,0 +1,93 @@ +import os +import warnings + +from leapp.libraries.common.config.version import get_source_major_version + +try: + import dnf +except ImportError: + dnf = None + warnings.warn('Could not import the `dnf` python module.', ImportWarning) + +try: + import hawkey +except ImportError: + hawkey = None + warnings.warn('Could not import the `hawkey` python module.', ImportWarning) + + +def _create_or_get_dnf_base(base=None): + if not base: + # The DNF command reads /etc/yum/vars/releasever, but the DNF library does not. It parses redhat-release + # package to retrieve system's major version which it then uses as $releasever. However, some systems might + # have repositories only for the exact system version (including the minor number). In a case when + # /etc/yum/vars/releasever is present, read its contents so that we can access repositores on such systems. + conf = dnf.conf.Conf() + pkg_manager = 'yum' if get_source_major_version() == '7' else 'dnf' + releasever_path = '/etc/{0}/vars/releasever'.format(pkg_manager) + if os.path.exists(releasever_path): + with open(releasever_path) as releasever_file: + releasever = releasever_file.read().strip() + conf.substitutions['releasever'] = releasever + else: + conf.substitutions['releasever'] = get_source_major_version() + + base = dnf.Base(conf=conf) + base.init_plugins() + base.read_all_repos() + # configure plugins after the repositories are loaded + # e.g. the amazon-id plugin requires loaded repositories + # for the proper configuration. + base.configure_plugins() + base.fill_sack() + return base + + +def get_modules(base=None): + """ + Return info about all module streams as a list of libdnf.module.ModulePackage objects. + """ + if not dnf: + return [] + base = _create_or_get_dnf_base(base) + + module_base = dnf.module.module_base.ModuleBase(base) + # this method is absent on RHEL 7, in which case there are no modules anyway + if not hasattr(module_base, 'get_modules'): + return [] + return module_base.get_modules('*')[0] + + +def get_enabled_modules(): + """ + Return currently enabled module streams as a list of libdnf.module.ModulePackage objects. + """ + if not dnf: + return [] + + base = _create_or_get_dnf_base() + modules = get_modules(base) + + # if modules are not supported (RHEL 7), base.sack._moduleContainer won't exist + # luckily in that case modules are empty and the element won't even be accessed + return [m for m in modules if base.sack._moduleContainer.isEnabled(m)] + + +def map_installed_rpms_to_modules(): + """ + Map installed modular packages to the module streams they come from. + """ + modules = get_modules() + # empty on RHEL 7 because of no modules + if not modules: + return {} + # create a reverse mapping from the RPMS to module streams + # key: tuple of 4 strings representing a NVRA (name, version, release, arch) of an RPM + # value: tuple of 2 strings representing a module and its stream + rpm_streams = {} + for module in modules: + for rpm in module.getArtifacts(): + nevra = hawkey.split_nevra(rpm) + rpm_key = (nevra.name, nevra.version, nevra.release, nevra.arch) + rpm_streams[rpm_key] = (module.getName(), module.getStream()) + return rpm_streams diff --git a/repos/system_upgrade/common/libraries/mounting.py b/repos/system_upgrade/common/libraries/mounting.py new file mode 100644 index 0000000..fd07904 --- /dev/null +++ b/repos/system_upgrade/common/libraries/mounting.py @@ -0,0 +1,444 @@ +import errno +import itertools +import os +import shutil +from collections import namedtuple + +from leapp.libraries.common.config import get_all_envs +from leapp.libraries.common.config.version import get_source_major_version +from leapp.libraries.stdlib import api, CalledProcessError, run + +# Using ALWAYS_BIND will crash the upgrade process if the file does not exist. +# Consider instead adding an entry to the ScanFilesToCopyIntoTargetSystem actor that +# conditionally (only if it exists) creates CopyFile message to the TargetUserspaceCreator. +ALWAYS_BIND = [] + +ErrorData = namedtuple('ErrorData', ['summary', 'details']) + + +class MountingMode(object): + """ + MountingMode are types of mounts supported by the library + """ + BIND = 'bind' + """ Used for bind mounts """ + OVERLAY = 'overlay' + """ Used for overlayfs mounts """ + LOOP = 'loop' + """ Used for loop mounts """ + FSTYPE = 'fstype' + """ Used to mount specific filesystem types such as procfs, sysfs etc """ + NONE = 'none' + """ Used when no actual mount call needs to be issued """ + + +def _makedirs(path, mode=0o777, exists_ok=True): + """ Helper function which extends os.makedirs with exists_ok on all versions of python. """ + try: + os.makedirs(path, mode=mode) + except OSError: + if not exists_ok or not os.path.isdir(path): + raise + + +class MountError(Exception): + """ Exception that is thrown when a mount related operation failed """ + + def __init__(self, message, details): + super(MountError, self).__init__(message) + self.details = details + + +class IsolationType(object): + """ Implementations for the different isolated actions types """ + class _Implementation(object): + """ Base class for all isolated actions """ + + def __init__(self, target, **kwargs): + self.target = target + + def create(self): + """ Create the isolation context """ + pass + + def close(self): + """ Release the isolation context """ + pass + + def make_command(self, cmd): + """ Transform the given command to the isolated environment """ + return cmd + + class NSPAWN(_Implementation): + """ systemd-nspawn implementation """ + + def __init__(self, target, binds=(), env_vars=None): + super(IsolationType.NSPAWN, self).__init__(target=target) + self.binds = list(binds) + ALWAYS_BIND + self.env_vars = env_vars or get_all_envs() + + def make_command(self, cmd): + """ Transform the command to be executed with systemd-nspawn """ + binds = ['--bind={}'.format(bind) for bind in self.binds] + setenvs = ['--setenv={}={}'.format(env.name, env.value) for env in self.env_vars] + final_cmd = ['systemd-nspawn', '--register=no', '--quiet'] + if get_source_major_version() != '7': + # TODO: check whether we could use the --keep unit on el7 too. + # in such a case, just add line into the previous solution.. + # TODO: the same about --capability=all + final_cmd += ['--keep-unit', '--capability=all'] + return final_cmd + ['-D', self.target] + binds + setenvs + cmd + + class CHROOT(_Implementation): + """ chroot implementation """ + + def __init__(self, target): + super(IsolationType.CHROOT, self).__init__(target) + self.context = None + + def create(self): + """ Create the necessary context for chroot based isolation """ + self.close() + self.context = self._create_context() + next(self.context) + + def _create_context(self): + """ This will mount /proc, /sys and /dev for chroot executions """ + with TypedMount('proc', 'proc', os.path.join(self.target, 'proc')): + with TypedMount('sysfs', 'sys', os.path.join(self.target, 'sys')): + with BindMount('/dev', os.path.join(self.target, 'dev')): + yield + + def close(self): + """ Releasing the context and perform unmounting """ + if self.context: + next(self.context) + self.context = None + + def make_command(self, cmd): + """ Transform the command to be executed in the chrooted environment """ + return [ + 'chroot', self.target + ] + cmd + + class NONE(_Implementation): + """ Execute the given commands and perform the given operations on the real system and not isolated. """ + + +class IsolatedActions(object): + """ This class allows to perform actions in a manner as if the given base_dir would be the current root """ + + _isolated = True + + def __init__(self, base_dir, implementation, **kwargs): + self.base_dir = base_dir + self.type = implementation(base_dir, **kwargs) + + def __enter__(self): + self.type.create() + return self + + def __exit__(self, exception_type, exception_value, traceback): + self.type.close() + + def full_path(self, path): + """ + Transform the path given to be prefixed with the base_dir, to get the real path on the system. + + The function is secured, so it is not possible to return path outside + of the self.base_dir directory. + + Example: self.base_dir = '/var/lib/leapp/scratch/userspace' + path = '/etc/yum.repos.d/redhat.repo' + The result would be: /var/lib/leapp/scratch/userspace/etc/yum.repos.d/redhat.repo + """ + return os.path.join(self.base_dir, os.path.abspath(path).lstrip('/')) + + def open(self, path, *args, **kwargs): + """ + Open the path given as if it would be the real system. + + The only difference between this function and the python builtin open is the fact that the path uses + self.full_path to translate the passed path argument. All other arguments are passed through + """ + return open(self.full_path(path), *args, **kwargs) + + def call(self, cmd, *args, **kwargs): + """ Running the given command using the leapp.libraries.stdlib.run function in a isolated manner. """ + return run(self.type.make_command(cmd), *args, **kwargs) + + def remove(self, path): + """ + Removes the given file as it would be on the real system. + """ + os.unlink(self.full_path(path)) + + def remove_tree(self, path): + """ + Removes the given directory recursively inside the isolated environment + as it would be on the real system. + + If the destination doesn't exist, nothing happens. + """ + try: + shutil.rmtree(self.full_path(path)) + except EnvironmentError as e: + # this is recommended way to handle it in Py2 & Py3 + if e.errno != errno.ENOENT: + raise + + def mkdir(self, path, mode=0o777): + """ + Creates the given path as it would be on the real system. + """ + os.mkdir(self.full_path(path), mode=mode) + + def makedirs(self, path, mode=0o777, exists_ok=True): + """ + Creates the whole path recursively for any missing part. + """ + _makedirs(path=self.full_path(path), mode=mode, exists_ok=exists_ok) + + def copytree_to(self, src, dst): + """ + Recursively copy an entire directory tree rooted at src. The destination directory, + named by dst, must not already exist; it will be created as well as missing parent directories. + + The destination directory is considered to be in the isolated environment. + The source directory is considered to be on the current system root. + """ + shutil.copytree(src, self.full_path(dst)) + + def copytree_from(self, src, dst): + """ + Recursively copy an entire directory tree rooted at src. The destination directory, + named by dst, must not already exist; it will be created as well as missing parent directories. + + The destination directory is considered to be on the current system root. + The source directory is considered to be in the isolated environment. + """ + shutil.copytree(self.full_path(src), dst) + + def copy_to(self, src, dst): + """ + Copy the file src to the file or directory dst. If dst is a directory, a file with the same basename + as src is created (or overwritten) in the directory specified. Permission bits are copied. src and dst + are path names given as strings. + copy_to also attempts to preserve file metadata. + + The source is expected to be on the current system. + The destination is expected to be in the isolated environment. + """ + shutil.copy2(src, self.full_path(dst)) + + def copy_from(self, src, dst): + """ + Copy the file src to the file or directory dst. If dst is a directory, a file with the same basename + as src is created (or overwritten) in the directory specified. Permission bits are copied. src and dst + are path names given as strings. + copy_to also attempts to preserve file metadata. + + The source is expected to be in the isolated environment. + The destination is expected to be on the current system. + """ + shutil.copy2(self.full_path(src), dst) + + @classmethod + def is_isolated(cls): + """ + Tell whether the context is isolated or not. + + All classes except NotIsolatedActions return True. + """ + return cls._isolated + + +class ChrootActions(IsolatedActions): + """ Isolation with chroot """ + + def __init__(self, base_dir): + super(ChrootActions, self).__init__(base_dir=base_dir, implementation=IsolationType.CHROOT) + + +class NspawnActions(IsolatedActions): + """ Isolation with systemd-nspawn """ + + def __init__(self, base_dir, binds=(), env_vars=None): + super(NspawnActions, self).__init__( + base_dir=base_dir, implementation=IsolationType.NSPAWN, binds=binds, env_vars=env_vars) + + +class NotIsolatedActions(IsolatedActions): + """ Non isolated executed. """ + _isolated = False + + def __init__(self, base_dir): + super(NotIsolatedActions, self).__init__(base_dir=base_dir, implementation=IsolationType.NONE) + + +class MountConfig(object): + """ Options for Mount """ + _Options = namedtuple('_Options', ('should_create', 'should_cleanup')) + AttachOnly = _Options(should_create=False, should_cleanup=False) + """ Do not perform any mount operations, and do not clean up afterwards """ + Attach = _Options(should_create=False, should_cleanup=True) + """ Do not perform any mount operations, however cleanup afterwards """ + MountOnly = _Options(should_create=True, should_cleanup=False) + """ Create all necessary directories and perform mount calls, but do not cleanup afterwards """ + Mount = _Options(should_create=True, should_cleanup=True) + """ Create all necessary directories and perform mount calls and cleanup afterwards """ + + +class MountingBase(object): + """ Base class for all mount operations """ + + def __init__(self, source, target, mode, config=MountConfig.Mount): + self._mode = mode + self.source = source + self.target = target + self._config = config + self.additional_directories = () + + def _mount_options(self): + """ + Options to use with the mount call, individual implementations may override this function to return the + correct parameters + """ + return ['-o', self._mode, self.source] + + def chroot(self): + """ Create a ChrootActions instance for this mount """ + return ChrootActions(self.target) + + def nspawn(self): + """ Create a NspawnActions instance for this mount """ + return NspawnActions(self.target) + + def real(self): + """ Create a NotIsolatedActions instance for this mount """ + return NotIsolatedActions(self.target) + + def _cleanup(self): + """ Cleanup operations """ + if os.path.exists(self.target) and os.path.ismount(self.target): + try: + run(['umount', '-fl', self.target], split=False) + except (OSError, CalledProcessError) as e: + api.current_logger().warning('Unmounting %s failed with: %s', self.target, str(e)) + for directory in itertools.chain(self.additional_directories, (self.target,)): + try: + run(['rm', '-rf', directory], split=False) + except (OSError, CalledProcessError) as e: + api.current_logger().warning('Removing mount directory %s failed with: %s', directory, str(e)) + + def mount(self): + """ Performs the mount if MountConfig.should_create = True """ + if self._config.should_create: + self._create() + + def _create(self): + self._cleanup() + for directory in itertools.chain(self.additional_directories, (self.target,)): + try: + _makedirs(directory, exists_ok=True) + except (OSError) as e: + raise MountError('Failed to create mount target directory {}'.format(directory), str(e)) + try: + run(['mount'] + self._mount_options() + [self.target], split=False) + except (OSError, CalledProcessError) as e: + api.current_logger().warning('Mounting %s failed with: %s', self.target, str(e), exc_info=True) + raise MountError( + message='Mount operation with mode {} from {} to {} failed: {}'.format( + self._mode, self.source, self.target, str(e)), + details=None) + return self + + def umount(self): + """ Performs the umount if MountConfig.should_cleanup = True """ + if self._config.should_cleanup: + self._cleanup() + + def __enter__(self): + self.mount() + return self + + def __exit__(self, exception_type, exception_value, traceback): + self.umount() + + +class NullMount(MountingBase): + """ This is basically a NoOp for compatibility with other mount operations, in case a mount is optional """ + + def __init__(self, target, config=MountConfig.AttachOnly): + super(NullMount, self).__init__(source=target, target=target, mode=MountingMode.NONE, config=config) + + def __enter__(self): + return self + + def __exit__(self, exception_type, exception_value, traceback): + pass + + +class LoopMount(MountingBase): + """ Performs loop mounts """ + + def __init__(self, source, target, config=MountConfig.Mount): + super(LoopMount, self).__init__(source=source, target=target, mode=MountingMode.LOOP, config=config) + + +class BindMount(MountingBase): + """ Performs bind mounts """ + + def __init__(self, source, target, config=MountConfig.Mount): + super(BindMount, self).__init__(source=source, target=target, mode=MountingMode.BIND, config=config) + + +class TypedMount(MountingBase): + """ Performs a typed mounts """ + + def __init__(self, fstype, source, target, config=MountConfig.Mount): + super(TypedMount, self).__init__(source=source, target=target, mode=MountingMode.FSTYPE, config=config) + self.fstype = fstype + + def _mount_options(self): + return [ + '-t', self.fstype, + self.source + ] + + +class OverlayMount(MountingBase): + """ Performs an overlayfs mount """ + + def __init__(self, name, source, workdir, config=MountConfig.Mount): + super(OverlayMount, self).__init__(source=source, target=os.path.join(workdir, name), + mode=MountingMode.OVERLAY, config=config) + self._upper_dir = os.path.join(workdir, 'upper') + self._work_dir = os.path.join(workdir, 'work') + self.additional_directories = (self._upper_dir, self._work_dir) + + def _mount_options(self): + return [ + '-t', 'overlay', 'overlay2', + '-o', 'lowerdir={},upperdir={},workdir={}'.format(self.source, self._upper_dir, self._work_dir) + ] + + +def mount_upgrade_iso_to_root_dir(root_dir, target_iso): + """ + Context manager mounting the target RHEL ISO into the system root residing at `root_dir`. + + If the `target_iso` is None no action is performed. + + :param root_dir: Path to a directory containing a system root. + :type root_dir: str + :param target_iso: Description of the ISO to be mounted. + :type target_iso: Optional[TargetOSInstallationImage] + :rtype: Optional[LoopMount] + """ + if not target_iso: + return NullMount(root_dir) + + mountpoint = target_iso.mountpoint[1:] # Strip the leading / from the absolute mountpoint + mountpoint_in_root_dir = os.path.join(root_dir, mountpoint) + return LoopMount(source=target_iso.path, target=mountpoint_in_root_dir) diff --git a/repos/system_upgrade/common/libraries/multipathutil.py b/repos/system_upgrade/common/libraries/multipathutil.py new file mode 100644 index 0000000..47d0d86 --- /dev/null +++ b/repos/system_upgrade/common/libraries/multipathutil.py @@ -0,0 +1,102 @@ +import errno +import re + +from leapp.libraries.stdlib import api + +_sections = ('defaults', 'blacklist', 'blacklist_exceptions', 'devices', + 'overrides', 'multipaths') + +_subsections = {'blacklist': 'device', 'blacklist_exceptions': 'device', + 'devices': 'device', 'multipaths': 'multipath'} + + +def read_config(path): + try: + with open(path, 'r') as f: + return f.read() + except IOError as e: + if e.errno == errno.ENOENT: + api.current_logger().debug( + 'multipath configuration file {} does not exist.'.format(path) + ) + else: + api.current_logger().warning( + 'Failed to read multipath configuration file {}: {}'. + format(path, e) + ) + return None + + +def write_config(path, contents): + try: + with open(path, 'w') as f: + f.write(contents) + except IOError as e: + api.current_logger().warning( + 'Failed to write multipath configuration file {}: {}'. + format(path, e) + ) + + +class LineData(object): + TYPE_BLANK = 0 + TYPE_SECTION_START = 1 + TYPE_SECTION_END = 2 + TYPE_OPTION = 3 + + def __init__(self, line, section, in_subsection): + comment_pattern = re.compile('^([^"#!]*)[#!]') + string_pattern = re.compile('^([^"]*)"([^"]*)') + utf8_pattern = re.compile('[^\x00-\x7F]+') + line_pattern = re.compile(r'^([^\s{}]+)\s*(\S*)') + value = None + + r = comment_pattern.match(line) + if r: + line = r.group(1) + r = string_pattern.match(line) + if r: + line = r.group(1) + value = r.group(2) + line = utf8_pattern.sub(' ', line) + line = line.strip() + + if line == '': + self.type = self.TYPE_BLANK + return + if line[0] == '}': + self.type = self.TYPE_SECTION_END + return + + r = line_pattern.match(line) + if r is None: + raise ValueError + keyword = r.group(1) + if r.group(2) != '': + value = r.group(2) # even if value was set before + + if section is None: + if keyword in _sections: + self.type = self.TYPE_SECTION_START + self.section = keyword + return + raise ValueError + + if not in_subsection and section in _subsections and \ + keyword == _subsections[section]: + self.type = self.TYPE_SECTION_START + self.section = keyword + return + + if value is None: + raise ValueError + self.type = self.TYPE_OPTION + self.option = keyword + self.value = value + + def is_enabled(self): + if self.value in ('yes', '1'): + return True + if self.value in ('no', '0'): + return False + return None diff --git a/repos/system_upgrade/common/libraries/overlaygen.py b/repos/system_upgrade/common/libraries/overlaygen.py new file mode 100644 index 0000000..6b0ff97 --- /dev/null +++ b/repos/system_upgrade/common/libraries/overlaygen.py @@ -0,0 +1,713 @@ +import contextlib +import os +import shutil +from collections import namedtuple + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import mounting, utils +from leapp.libraries.common.config import get_env +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api, CalledProcessError, run + +OVERLAY_DO_NOT_MOUNT = ('tmpfs', 'devtmpfs', 'devpts', 'sysfs', 'proc', 'cramfs', 'sysv', 'vfat') + +# NOTE(pstodulk): what about using more closer values and than just multiply +# the final result by magical constant?... this number is most likely going to +# be lowered and affected by XFS vs EXT4 FSs that needs different spaces each +# of them. +_MAGICAL_CONSTANT_OVL_SIZE = 128 +""" +Average size of created disk space images. + +The size can be lower or higher - usually lower. The value is higher as we want +to rather prevent future actions in advance instead of resolving later issues +with the missing space. + +It's possible that in future we implement better heuristic that will guess +the needed space based on size of each FS. I have been thinking to lower +the value, as in my case most of partitions where we do not need to do +write operations consume just ~ 33MB. However, I decided to keep it as it is +for now to stay on the safe side. +""" + +_MAGICAL_CONSTANT_MIN_CONTAINER_SIZE_8 = 3200 +""" +Average space consumed to create target el8userspace container installation + pkg downloads. + +Minimal container size is approx. 1GiB without download of packages for the upgrade +(and without pkgs for the initramfs creation). The total size of the container + * with all pkgs downloaded + * final initramfs installed package set + * created the upgrade initramfs +is for the minimal system + * ~ 2.9 GiB for IPU 7 -> 8 + * ~ 1.8 GiB for IPU 8 -> 9 +when no other extra packages are installed for the needs of the upgrade. +Keeping in mind that during the upgrade initramfs creation another 400+ MiB +is consumed temporarily. + +Using higher value to cover also the space that consumes leapp.db records. + +This constant is really magical and the value can be changed in future. +""" + +_MAGICAL_CONSTANT_MIN_CONTAINER_SIZE_9 = 2200 +""" +Average space consumed to create target el9userspace container installation + pkg downloads. + +See _MAGICAL_CONSTANT_MIN_CONTAINER_SIZE_8 for more details. +""" + +_MAGICAL_CONSTANT_MIN_PROTECTED_SIZE = 200 +""" +This is the minimal size (in MiB) that will be always reserved for /var/lib/leapp + +In case the size of the container is larger than _MAGICAL_CONSTANT_MIN_PROTECTED_SIZE +or close to that size, stay always with this minimal protected size defined by +this constant. +""" + + +MountPoints = namedtuple('MountPoints', ['fs_file', 'fs_vfstype']) + + +def _get_min_container_size(): + if get_target_major_version() == '8': + return _MAGICAL_CONSTANT_MIN_CONTAINER_SIZE_8 + return _MAGICAL_CONSTANT_MIN_CONTAINER_SIZE_9 + + +def get_recommended_leapp_free_space(userspace_path=None): + """ + Return recommended free space for the target container (+ pkg downloads) + + If the path to the container is set, the returned value is updated to + reflect already consumed space by the installed container. In case the + container is bigger than the minimal protected size, return at least + `_MAGICAL_CONSTANT_MIN_PROTECTED_SIZE`. + + It's not recommended to use this function except official actors managed + by OAMG group in github.com/oamg/leapp-repository. This function can be + changed in future, ignoring the deprecation process. + + TODO(pstodulk): this is so far the best trade off between stay safe and do + do not consume too much space. But need to figure out cost of the time + consumption. + + TODO(pstodulk): check we are not negatively affected in case of downloaded + rpms. We want to prevent situations when we say that customer has enough + space for the first run and after the download of packages we inform them + they do not have enough free space anymore. Note: such situation can be + valid in specific cases - e.g. the space is really consumed already e.g. by + leapp.db that has been executed manytimes. + + :param userspace_path: Path to the userspace container. + :type userspace_path: str + :rtype: int + """ + min_cont_size = _get_min_container_size() + if not userspace_path or not os.path.exists(userspace_path): + return min_cont_size + try: + # ignore symlinks and other partitions to be sure we calculate the space + # in reasonable time + cont_size = run(['du', '-sPmx', userspace_path])['stdout'].split()[0] + # the obtained number is in KiB. But we want to work with MiBs rather. + cont_size = int(cont_size) + except (OSError, CalledProcessError): + # do not care about failed cmd, in such a case, just act like userspace_path + # has not been set + api.current_logger().warning( + 'Cannot calculate current container size to estimate correctly required space.' + ' Working with the default: {} MiB' + .format(min_cont_size) + ) + return min_cont_size + if cont_size < 0: + api.current_logger().warning( + 'Cannot calculate the container size - negative size obtained: {}.' + ' Estimate the required size based on the default value: {} MiB' + .format(cont_size, min_cont_size) + ) + return min_cont_size + prot_size = min_cont_size - cont_size + if prot_size < _MAGICAL_CONSTANT_MIN_PROTECTED_SIZE: + api.current_logger().debug( + 'The size of the container is higher than the expected default.' + ' Use the minimal protected size instead: {} MiB.' + .format(_MAGICAL_CONSTANT_MIN_PROTECTED_SIZE) + ) + return _MAGICAL_CONSTANT_MIN_PROTECTED_SIZE + return prot_size + + +def _get_fspace(path, convert_to_mibs=False, coefficient=1): + """ + Return the free disk space on given path. + + The default is in bytes, but if convert_to_mibs is True, return MiBs instead. + + Raises OSError if nothing exists on the given `path`. + + :param path: Path to an existing file or directory + :type path: str + :param convert_to_mibs: If True, convert the value to MiBs + :type convert_to_mibs: bool + :param coefficient: Coefficient to multiply the free space (e.g. 0.9 to have it 10% lower). Max: 1 + :type coefficient: float + :rtype: int + """ + stat = os.statvfs(path) + + # TODO(pstodulk): discuss the function params + coefficient = min(coefficient, 1) + fspace_bytes = int(stat.f_frsize * stat.f_bavail * coefficient) + if convert_to_mibs: + return int(fspace_bytes / 1024 / 1024) # noqa: W1619; pylint: disable=old-division + return fspace_bytes + + +def _ensure_enough_diskimage_space(space_needed, directory): + # TODO(pstodulk): update the error msg/details + # imagine situation we inform user we need at least 800MB, + # so they clean /var/lib/leapp/* which can provide additional space, + # but the calculated required free space takes the existing content under + # /var/lib/leapp/ into account, so the next error msg could say: + # needed at least 3400 MiB - which could be confusing for users. + if _get_fspace(directory) < (space_needed * 1024 * 1024): + message = ( + 'Not enough space available on {directory}: Needed at least {space_needed} MiB.' + .format(directory=directory, space_needed=space_needed) + ) + details = {'detail': ( + 'The file system hosting the {directory} directory does not contain' + ' enough free space to proceed all parts of the in-place upgrade.' + ' Note the calculated required free space is the minimum derived' + ' from upgrades of minimal systems and the actual needed free' + ' space could be higher.' + '\nNeeded at least: {space_needed} MiB.' + '\nSuggested free space: {suggested} MiB (or more).' + .format(space_needed=space_needed, directory=directory, suggested=space_needed + 1000) + )} + if get_env('LEAPP_OVL_SIZE', None): + # LEAPP_OVL_SIZE has not effect as we use sparse files now. + details['note'] = 'The LEAPP_OVL_SIZE environment variable has no effect anymore.' + api.current_logger().error(message) + raise StopActorExecutionError(message, details=details) + + +def _get_mountpoints(storage_info): + mount_points = set() + for entry in storage_info.fstab: + if os.path.isdir(entry.fs_file) and entry.fs_vfstype not in OVERLAY_DO_NOT_MOUNT: + mount_points.add(MountPoints(entry.fs_file, entry.fs_vfstype)) + elif os.path.isdir(entry.fs_file) and entry.fs_vfstype == 'vfat': + # VFAT FS is not supported to be used for any system partition, + # so we can safely ignore it + api.current_logger().warning( + 'Ignoring vfat {} filesystem mount during upgrade process'.format(entry.fs_file) + ) + + return list(mount_points) + + +def _mount_name(mountpoint): + return 'root{}'.format(mountpoint.replace('/', '_')) + + +def _mount_dir(mounts_dir, mountpoint): + return os.path.join(mounts_dir, _mount_name(mountpoint)) + + +def _get_scratch_mountpoint(mount_points, dir_path): + for mp in sorted(mount_points, reverse=True): + # we are sure that mountpoint != dir_path in this case, as the latest + # valid mountpoint customers could create is the parent directory + mod_mp = mp if mp[-1] == '/' else '{}/'.format(mp) + if dir_path.startswith(mod_mp): + # longest first, so the first one we find, is the last mp on the path + return mp + return None # making pylint happy; this is basically dead code + + +def _prepare_required_mounts(scratch_dir, mounts_dir, storage_info, scratch_reserve): + """ + Create disk images and loop mount them. + + Ensure to create disk image for each important mountpoint configured + in fstab (excluding fs types noted in `OVERLAY_DO_NOT_MOUNT`). + Disk images reflect the free space of related partition/volume. In case + of partition hosting /var/lib/leapp/* calculate the free space value + taking `scratch_reserve` into account, as during the run of the tooling, + we will be consuming the space on the partition and we want to be more + sure that we do not consume all the space on the partition during the + execution - so we reduce the risk we affect run of other applications + due to missing space. + + Note: the partition hosting the scratch dir is expected to be the same + partition that is hosting the target userspace container, but it does not + have to be true if the code changes. Right now, let's live with that. + + See `_create_mount_disk_image` docstring for additional more details. + + :param scratch_dir: Path to the scratch directory. + :type scratch_dir: str + :param mounts_dir: Path to the directory supposed to be a mountpoint. + :type mounts_dir: str + :param storage_info: The StorageInfo message. + :type storage_info: leapp.models.StorageInfo + :param scratch_reserve: Number of MB that should be extra reserved in a partition hosting the scratch_dir. + :type scratch_reserve: Optional[int] + """ + mount_points = sorted([mp.fs_file for mp in _get_mountpoints(storage_info)]) + scratch_mp = _get_scratch_mountpoint(mount_points, scratch_dir) + disk_images_directory = os.path.join(scratch_dir, 'diskimages') + + # Ensure we cleanup old disk images before we check for space constraints. + # NOTE(pstodulk): Could we improve the process so we create imgs & calculate + # the required disk space just once during each leapp (pre)upgrade run? + run(['rm', '-rf', disk_images_directory]) + _create_diskimages_dir(scratch_dir, disk_images_directory) + + # TODO(pstodulk): update the calculation for bind mounted mount_points (skip) + # basic check whether we have enough space at all + space_needed = scratch_reserve + _MAGICAL_CONSTANT_OVL_SIZE * len(mount_points) + _ensure_enough_diskimage_space(space_needed, scratch_dir) + + # free space required on this partition should not be affected by durin the + # upgrade transaction execution by space consumed on creation of disk images + # as disk images are cleaned in the end of this functions, + # but we want to reserve some space in advance. + scratch_disk_size = _get_fspace(scratch_dir, convert_to_mibs=True) - scratch_reserve + + result = {} + for mountpoint in mount_points: + # keep the info about the free space rather 5% lower than the real value + disk_size = _get_fspace(mountpoint, convert_to_mibs=True, coefficient=0.95) + if mountpoint == scratch_mp: + disk_size = scratch_disk_size + image = _create_mount_disk_image(disk_images_directory, mountpoint, disk_size) + result[mountpoint] = mounting.LoopMount( + source=image, + target=_mount_dir(mounts_dir, mountpoint) + ) + return result + + +@contextlib.contextmanager +def _build_overlay_mount(root_mount, mounts): + if not root_mount: + raise StopActorExecutionError('Root mount point has not been prepared for overlayfs.') + if not mounts: + yield root_mount + else: + current = list(mounts.keys())[0] + current_mount = mounts.pop(current) + name = _mount_name(current) + with current_mount: + with mounting.OverlayMount(name=name, source=current, workdir=current_mount.target) as overlay: + with mounting.BindMount(source=overlay.target, + target=os.path.join(root_mount.target, current.lstrip('/'))): + with _build_overlay_mount(root_mount, mounts) as mount: + yield mount + + +def cleanup_scratch(scratch_dir, mounts_dir): + """ + Function to cleanup the scratch directory + + If the mounts_dir is a mountpoint, unmount it first. + + :param scratch_dir: Path to the scratch directory. + :type scratch_dir: str + :param mounts_dir: Path to the directory supposed to be a mountpoint. + :type mounts_dir: str + """ + api.current_logger().debug('Cleaning up mounts') + if os.path.ismount(mounts_dir): + # TODO(pstodulk): this is actually obsoleted for years. mounts dir + # is not mountpoit anymore, it contains mountpoints. But in time of + # this call all MPs should be already umounted as the solution has been + # changed also (all MPs are handled by context managers). This code + # is basically dead, so keeping it as it does not hurt us now. + api.current_logger().debug('Mounts directory is a mounted disk image - Unmounting.') + try: + run(['/bin/umount', '-fl', mounts_dir]) + api.current_logger().debug('Unmounted mounted disk image.') + except (OSError, CalledProcessError) as e: + api.current_logger().warning('Failed to umount %s - message: %s', mounts_dir, str(e)) + if get_env('LEAPP_DEVEL_KEEP_DISK_IMGS', None) == '1': + # NOTE(pstodulk): From time to time, it helps me with some experiments + return + api.current_logger().debug('Recursively removing scratch directory %s.', scratch_dir) + shutil.rmtree(scratch_dir, onerror=utils.report_and_ignore_shutil_rmtree_error) + api.current_logger().debug('Recursively removed scratch directory %s.', scratch_dir) + + +def _format_disk_image_ext4(diskimage_path): + """ + Format the specified disk image with Ext4 filesystem. + + The formatted file system is optimized for operations we want to do and + mainly for the space it needs to take for the initialisation. So use 32MiB + journal (that's enough for us as we do not plan to do too many operations + inside) for any size of the disk image. Also the lazy + initialisation is disabled. The formatting will be slower, but it helps + us to estimate better the needed amount of the space for other actions + done later. + """ + api.current_logger().debug('Creating ext4 filesystem in disk image at %s', diskimage_path) + cmd = [ + '/sbin/mkfs.ext4', + '-J', 'size=32', + '-E', 'lazy_itable_init=0,lazy_journal_init=0', + '-F', diskimage_path + ] + try: + utils.call_with_oserror_handled(cmd=cmd) + except CalledProcessError as e: + # FIXME(pstodulk): taken from original, but %s seems to me invalid here + api.current_logger().error('Failed to create ext4 filesystem in %s', diskimage_path, exc_info=True) + raise StopActorExecutionError( + message='Cannot create Ext4 filesystem in {}'.format(diskimage_path), + details={ + 'error message': str(e), + } + ) + + +def _format_disk_image_xfs(diskimage_path): + """ + Format the specified disk image with XFS filesystem. + + Set journal just to 32MiB always as we will not need to do too many operation + inside, so 32MiB should enough for us. + """ + api.current_logger().debug('Creating XFS filesystem in disk image at %s', diskimage_path) + cmd = ['/sbin/mkfs.xfs', '-l', 'size=32m', '-f', diskimage_path] + try: + utils.call_with_oserror_handled(cmd=cmd) + except CalledProcessError as e: + # FIXME(pstodulk): taken from original, but %s seems to me invalid here + api.current_logger().error('Failed to create XFS filesystem %s', diskimage_path, exc_info=True) + raise StopActorExecutionError( + message='Cannot create XFS filesystem in {}'.format(diskimage_path), + details={ + 'error message': str(e), + } + ) + + +def _create_mount_disk_image(disk_images_directory, path, disk_size): + """ + Creates the mount disk image and return path to it. + + The disk image is represented by a sparse file which apparent size + corresponds usually to the free space of a particular partition/volume it + represents - in this function it's set by `disk_size` parameter, which should + be int representing the free space in MiBs. + + The created disk image is formatted with XFS (default) or Ext4 FS + and it's supposed to be used for write directories of an overlayfs built + above it. + + If the disk_size is lower than 130 MiBs, the disk size is automatically + set to 130 MiBs to be able to format it correctly. + + The disk image is formatted with Ext4 if (envar) `LEAPP_OVL_IMG_FS_EXT4=1`. + + :param disk_images_directory: Path to the directory where disk images should be stored. + :type disk_images_directory: str + :param path: Path to the mountpoint of the original (host/source) partition/volume + :type path: str + :param disk_size: Apparent size of the disk img in MiBs + :type disk_size: int + :return: Path to the created disk image + :rtype: str + """ + if disk_size < 130: + # NOTE(pstodulk): SEATBELT + # min. required size for current params to format a disk img with a FS: + # XFS -> 130 MiB + # EXT4 -> 70 MiB + # so let's stick to 130 always. This is expected to happen when: + # * the free space on a system mountpoint is really super small, but if + # such a mounpoint contains a content installed by packages, most + # likely the msg about not enough free space is raised + # * the mountpoint is actually no important at all, could be possibly + # read only (e.g. ISO), or it's an FS type that should be covered by + # OVERLAY_DO_NOT_MOUNT + # * most common case important for us here could be /boot, but that's + # covered already in different actors/checks, so it should not be + # problem either + # NOTE(pstodulk): In case the formatting params are modified, + # the minimal required size could be different + api.current_logger().warning( + 'The apparent size for the disk image representing {path}' + ' is too small ({disk_size} MiBs) for a formatting. Setting 130 MiBs instead.' + .format(path=path, disk_size=disk_size) + ) + disk_size = 130 + diskimage_path = os.path.join(disk_images_directory, _mount_name(path)) + cmd = [ + '/bin/dd', + 'if=/dev/zero', 'of={}'.format(diskimage_path), + 'bs=1M', 'count=0', 'seek={}'.format(disk_size) + ] + hint = ( + 'Please ensure that there is enough diskspace on the partition hosting' + 'the {} directory.' + .format(disk_images_directory) + ) + + api.current_logger().debug('Attempting to create disk image at %s', diskimage_path) + utils.call_with_failure_hint(cmd=cmd, hint=hint) + + if get_env('LEAPP_OVL_IMG_FS_EXT4', '0') == '1': + # This is alternative to XFS in case we find some issues, to be able + # to switch simply to Ext4, so we will be able to simple investigate + # possible issues between overlay <-> XFS if any happens. + _format_disk_image_ext4(diskimage_path) + else: + _format_disk_image_xfs(diskimage_path) + + return diskimage_path + + +def _create_diskimages_dir(scratch_dir, diskimages_dir): + """ + Prepares directories for disk images + """ + api.current_logger().debug('Creating disk images directory.') + try: + utils.makedirs(diskimages_dir) + api.current_logger().debug('Done creating disk images directory.') + except OSError: + api.current_logger().error('Failed to create disk images directory %s', diskimages_dir, exc_info=True) + + # This is an attempt for giving the user a chance to resolve it on their own + raise StopActorExecutionError( + message='Failed to prepare environment for package download while creating directories.', + details={ + 'hint': 'Please ensure that {scratch_dir} is empty and modifiable.'.format(scratch_dir=scratch_dir) + } + ) + + +def _create_mounts_dir(scratch_dir, mounts_dir): + """ + Prepares directories for mounts + """ + api.current_logger().debug('Creating mount directories.') + try: + utils.makedirs(mounts_dir) + api.current_logger().debug('Done creating mount directories.') + except OSError: + api.current_logger().error('Failed to create mounting directories %s', mounts_dir, exc_info=True) + + # This is an attempt for giving the user a chance to resolve it on their own + raise StopActorExecutionError( + message='Failed to prepare environment for package download while creating directories.', + details={ + 'hint': 'Please ensure that {scratch_dir} is empty and modifiable.'.format(scratch_dir=scratch_dir) + } + ) + + +@contextlib.contextmanager +def _mount_dnf_cache(overlay_target): + """ + Convenience context manager to ensure bind mounted /var/cache/dnf and removal of the mount. + """ + with mounting.BindMount( + source='/var/cache/dnf', + target=os.path.join(overlay_target, 'var', 'cache', 'dnf')) as cache_mount: + yield cache_mount + + +@contextlib.contextmanager +def create_source_overlay(mounts_dir, scratch_dir, xfs_info, storage_info, mount_target=None, scratch_reserve=0): + """ + Context manager that prepares the source system overlay and yields the mount. + + The in-place upgrade itself requires to do some changes on the system to be + able to perform the in-place upgrade itself - or even to be able to evaluate + if the system is possible to upgrade. However, we do not want to (and must not) + change the original system until we pass beyond the point of not return. + + For that purposes we have to create a layer above the real host file system, + where we can safely perform all operations without affecting the system + setup, rpm database, etc. Currently overlay (OVL) technology showed it is + capable to handle our requirements good enough - with some limitations. + + This function prepares a disk image and an overlay layer for each + mountpoint configured in /etc/fstab, excluding those with FS type noted + in the OVERLAY_DO_NOT_MOUNT set. Such prepared OVL images are then composed + together to reflect the real host filesystem. In the end everything is cleaned. + + The new solution can be now problematic for system with too many partitions + and loop devices. For such systems we keep for now the possibility of the + fallback to an old solution, which has however number of issues that are + fixed by the new design. To fallback to the old solution, set envar: + LEAPP_OVL_LEGACY=1 + + Disk images created for OVL are formatted with XFS by default. In case of + problems, it's possible to switch to Ext4 FS using: + LEAPP_OVL_IMG_FS_EXT4=1 + + :param mounts_dir: Absolute path to the directory under which all mounts should happen. + :type mounts_dir: str + :param scratch_dir: Absolute path to the directory in which all disk and OVL images are stored. + :type scratch_dir: str + :param xfs_info: The XFSPresence message. + :type xfs_info: leapp.models.XFSPresence + :param storage_info: The StorageInfo message. + :type storage_info: leapp.models.StorageInfo + :param mount_target: Directory to which whole source OVL layer should be bind mounted. + If None (default), mounting.NullMount is created instead + :type mount_target: Optional[str] + :param scratch_reserve: Number of MB that should be extra reserved in a partition hosting the scratch_dir. + :type scratch_reserve: Optional[int] + :rtype: mounting.BindMount or mounting.NullMount + """ + api.current_logger().debug('Creating source overlay in {scratch_dir} with mounts in {mounts_dir}'.format( + scratch_dir=scratch_dir, mounts_dir=mounts_dir)) + try: + _create_mounts_dir(scratch_dir, mounts_dir) + if get_env('LEAPP_OVL_LEGACY', '0') != '1': + mounts = _prepare_required_mounts(scratch_dir, mounts_dir, storage_info, scratch_reserve) + else: + # fallback to the deprecated OVL solution + mounts = _prepare_required_mounts_old(scratch_dir, mounts_dir, _get_mountpoints(storage_info), xfs_info) + with mounts.pop('/') as root_mount: + with mounting.OverlayMount(name='system_overlay', source='/', workdir=root_mount.target) as root_overlay: + if mount_target: + target = mounting.BindMount(source=root_overlay.target, target=mount_target) + else: + target = mounting.NullMount(target=root_overlay.target) + with target: + with _build_overlay_mount(root_overlay, mounts) as overlay: + with _mount_dnf_cache(overlay.target): + yield overlay + except Exception: + cleanup_scratch(scratch_dir, mounts_dir) + raise + # cleanup always now + cleanup_scratch(scratch_dir, mounts_dir) + + +# ############################################################################# +# Deprecated OVL solution ... +# This is going to be removed in future as the whole functionality is going to +# be replaced by new one. The problem is that the new solution can potentially +# negatively affect systems with many loop mountpoints, so let's keep this +# as a workaround for now. I am separating the old and new code in this way +# to make the future removal easy. +# The code below is triggered when LEAPP_OVL_LEGACY=1 envar is set. +# IMPORTANT: Before an update of functions above, ensure the functionality of +# the code below is not affected, otherwise copy the function below with the +# "_old" suffix. +# ############################################################################# +def _ensure_enough_diskimage_space_old(space_needed, directory): + stat = os.statvfs(directory) + if (stat.f_frsize * stat.f_bavail) < (space_needed * 1024 * 1024): + message = ('Not enough space available for creating required disk images in {directory}. ' + + 'Needed: {space_needed} MiB').format(space_needed=space_needed, directory=directory) + api.current_logger().error(message) + raise StopActorExecutionError(message) + + +def _overlay_disk_size_old(): + """ + Convenient function to retrieve the overlay disk size + """ + try: + env_size = get_env('LEAPP_OVL_SIZE', '2048') + disk_size = int(env_size) + except ValueError: + disk_size = 2048 + api.current_logger().warning( + 'Invalid "LEAPP_OVL_SIZE" environment variable "%s". Setting default "%d" value', env_size, disk_size + ) + return disk_size + + +def _create_diskimages_dir_old(scratch_dir, diskimages_dir): + """ + Prepares directories for disk images + """ + api.current_logger().debug('Creating disk images directory.') + try: + utils.makedirs(diskimages_dir) + api.current_logger().debug('Done creating disk images directory.') + except OSError: + api.current_logger().error('Failed to create disk images directory %s', diskimages_dir, exc_info=True) + + # This is an attempt for giving the user a chance to resolve it on their own + raise StopActorExecutionError( + message='Failed to prepare environment for package download while creating directories.', + details={ + 'hint': 'Please ensure that {scratch_dir} is empty and modifiable.'.format(scratch_dir=scratch_dir) + } + ) + + +def _create_mount_disk_image_old(disk_images_directory, path): + """ + Creates the mount disk image, for cases when we hit XFS with ftype=0 + """ + diskimage_path = os.path.join(disk_images_directory, _mount_name(path)) + disk_size = _overlay_disk_size_old() + + api.current_logger().debug('Attempting to create disk image with size %d MiB at %s', disk_size, diskimage_path) + utils.call_with_failure_hint( + cmd=['/bin/dd', 'if=/dev/zero', 'of={}'.format(diskimage_path), 'bs=1M', 'count={}'.format(disk_size)], + hint='Please ensure that there is enough diskspace in {} at least {} MiB are needed'.format( + diskimage_path, disk_size) + ) + + api.current_logger().debug('Creating ext4 filesystem in disk image at %s', diskimage_path) + try: + utils.call_with_oserror_handled(cmd=['/sbin/mkfs.ext4', '-F', diskimage_path]) + except CalledProcessError as e: + api.current_logger().error('Failed to create ext4 filesystem in %s', exc_info=True) + raise StopActorExecutionError( + message=str(e) + ) + + return diskimage_path + + +def _prepare_required_mounts_old(scratch_dir, mounts_dir, mount_points, xfs_info): + result = { + mount_point.fs_file: mounting.NullMount( + _mount_dir(mounts_dir, mount_point.fs_file)) for mount_point in mount_points + } + + if not xfs_info.mountpoints_without_ftype: + return result + + space_needed = _overlay_disk_size_old() * len(xfs_info.mountpoints_without_ftype) + disk_images_directory = os.path.join(scratch_dir, 'diskimages') + + # Ensure we cleanup old disk images before we check for space constraints. + run(['rm', '-rf', disk_images_directory]) + _create_diskimages_dir_old(scratch_dir, disk_images_directory) + _ensure_enough_diskimage_space_old(space_needed, scratch_dir) + + mount_names = [mount_point.fs_file for mount_point in mount_points] + + # TODO(pstodulk): this (adding rootfs into the set always) is hotfix for + # bz #1911802 (not ideal one..). The problem occurs one rootfs is ext4 fs, + # but /var/lib/leapp/... is under XFS without ftype; In such a case we can + # see still the very same problems as before. But letting you know that + # probably this is not the final solution, as we could possibly see the + # same problems on another partitions too (needs to be tested...). However, + # it could fit for now until we provide the complete solution around XFS + # workarounds (including management of required spaces for virtual FSs per + # mountpoints - without that, we cannot fix this properly) + for mountpoint in set(xfs_info.mountpoints_without_ftype + ['/']): + if mountpoint in mount_names: + image = _create_mount_disk_image_old(disk_images_directory, mountpoint) + result[mountpoint] = mounting.LoopMount(source=image, target=_mount_dir(mounts_dir, mountpoint)) + return result diff --git a/repos/system_upgrade/common/libraries/persistentnetnames.py b/repos/system_upgrade/common/libraries/persistentnetnames.py new file mode 100644 index 0000000..8769712 --- /dev/null +++ b/repos/system_upgrade/common/libraries/persistentnetnames.py @@ -0,0 +1,56 @@ +import pyudev + +from leapp.libraries.stdlib import api +from leapp.models import Interface, PCIAddress + +udev_context = pyudev.Context() + + +def physical_interfaces(): + """ + Returns a list of pyudev.Device objects for all physical network interfaces + """ + enumerator = pyudev.Enumerator(udev_context).match_subsystem('net') + return [d for d in enumerator if not d.device_path.startswith('/devices/virtual/')] + + +def pci_info(path): + """ + Returns PCI topology info from string which is expected to be a value of ID_PATH udev device property + """ + pci = {} + + # TODO(msekleta): check that path argument actually has ID_PATH format + if path.startswith('pci-'): + components = path[4:16].split(':') + pci['domain'] = components[0] + pci['bus'] = components[1] + pci['device'] = components[2].split('.')[0] + pci['function'] = components[2].split('.')[1] + + return pci + + +def interfaces(): + """ + Generator which produces an Interface objects containing assorted interface properties relevant for network naming + """ + for dev in physical_interfaces(): + attrs = {} + + try: + attrs['name'] = dev.sys_name + attrs['devpath'] = dev.device_path + attrs['driver'] = dev['ID_NET_DRIVER'] + attrs['vendor'] = dev['ID_VENDOR_ID'] + attrs['pci_info'] = PCIAddress(**pci_info(dev['ID_PATH'])) + attrs['mac'] = dev.attributes.get('address') + if isinstance(attrs['mac'], bytes): + attrs['mac'] = attrs['mac'].decode() + except Exception as e: # pylint: disable=broad-except + # FIXME(msekleta): We should probably handle errors more granularly + # Maybe we should inhibit upgrade process at this point + api.current_logger().warning('Failed to gather information about network interface: ' + str(e)) + continue + + yield Interface(**attrs) diff --git a/repos/system_upgrade/common/libraries/repofileutils.py b/repos/system_upgrade/common/libraries/repofileutils.py new file mode 100644 index 0000000..a563be5 --- /dev/null +++ b/repos/system_upgrade/common/libraries/repofileutils.py @@ -0,0 +1,106 @@ +import json +import os + +from leapp.libraries.common import mounting, utils +from leapp.libraries.stdlib import api +from leapp.models import fields, RepositoryData, RepositoryFile + +try: + import dnf +except ImportError: + api.current_logger().warning('repofileutils.py: failed to import dnf') + + +def _parse_repository(repoid, repo_data): + def asbool(x): + return x == '1' + prepared = {'repoid': repoid, 'additional_fields': {}} + for key in repo_data.keys(): + if key in RepositoryData.fields: + if isinstance(RepositoryData.fields[key], fields.Boolean): + repo_data[key] = asbool(repo_data[key]) + prepared[key] = repo_data[key] + else: + prepared['additional_fields'][key] = repo_data[key] + prepared['additional_fields'] = json.dumps(prepared['additional_fields']) + return RepositoryData(**prepared) + + +def parse_repofile(repofile): + """ + Parse the given repo file. + + :param repofile: Path to the repo file + :type repofile: str + :rtype: RepositoryFile + """ + data = [] + with open(repofile, mode='r') as fp: + cp = utils.parse_config(fp, strict=False) + for repoid in cp.sections(): + data.append(_parse_repository(repoid, dict(cp.items(repoid)))) + return RepositoryFile(file=repofile, data=data) + + +def get_repodirs(): + """ + Return all directories yum scans for repository files, if they exist. + By default, the possible paths on RHEL should be: + ['/etc/yum.repos.d', '/etc/yum/repos.d', '/etc/distro.repos.d'] + + ATTENTION: Requires the dnf module to be present. + TODO: Get repodirs inside given context. + """ + with dnf.base.Base() as base: + base.conf.read(priority=dnf.conf.PRIO_MAINCONFIG) + return list({os.path.realpath(d) for d in base.conf.reposdir if os.path.isdir(d)}) + + +def get_parsed_repofiles(context=mounting.NotIsolatedActions(base_dir='/')): + """ + Scan all repositories on the system. + + Repositories are scanned under repository directories (as reported by dnf) + of the given context. By default the context is the host system. + + ATTENTION: Do not forget to ensure the redhat.repo file is regenerated + by RHSM when used. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :rtype: List(RepositoryFile) + """ + repofiles = [] + cmd = ['find', '-L'] + get_repodirs() + ['-maxdepth', '1', '-type', 'f', '-name', '*.repo'] + repofiles_paths = context.call(cmd, split=True)['stdout'] + for repofile_path in repofiles_paths: + repofile = parse_repofile(context.full_path(repofile_path)) + # we want full path in cotext, not the real full path + repofile.file = repofile_path + repofiles.append(repofile) + return repofiles + + +def _invert_dict(data): + """{a: [b]} -> {b: [a]}""" + inv_dict = {} + for key in data.keys(): + for value in data[key]: + inv_dict[value] = inv_dict.get(value, []) + [key] + return inv_dict + + +def get_duplicate_repositories(repofiles): + """ + Return dict of duplicate repositories {repoid: [repofile_path]} + + A repository is defined multiple times if it exists in multiple repofiles. + Redefinition inside one repository file is ignored (same in DNF). + + :param repofiles: + :type repofiles: List(RepositoryFile) + :rtype: dict {repoid: repofilepath} + """ + rf_repos = {repofile.file: [repo.repoid for repo in repofile.data] for repofile in repofiles} + repos = _invert_dict(rf_repos) + return {repo: set(rfiles) for repo, rfiles in repos.items() if len(set(rfiles)) > 1} diff --git a/repos/system_upgrade/common/libraries/rhsm.py b/repos/system_upgrade/common/libraries/rhsm.py new file mode 100644 index 0000000..4a5b0eb --- /dev/null +++ b/repos/system_upgrade/common/libraries/rhsm.py @@ -0,0 +1,387 @@ +import contextlib +import functools +import os +import re +import time + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import repofileutils +from leapp.libraries.common.config import get_env +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import RHSMInfo + +_RE_REPO_UID = re.compile(r'Repo ID:\s*([^\s]+)') +_RE_RELEASE = re.compile(r'Release:\s*([^\s]+)') +_RE_SKU_CONSUMED = re.compile(r'SKU:\s*([^\s]+)') +_ATTEMPTS = 5 +_RETRY_SLEEP = 5 +_DEFAULT_RHSM_REPOFILE = '/etc/yum.repos.d/redhat.repo' + +SCA_TEXT = "Content Access Mode is set to Simple Content Access" + + +def _rhsm_retry(max_attempts, sleep=None): + """ + A decorator to retry executing a function/method if unsuccessful. + + The function/method execution is considered unsuccessful when it raises StopActorExecutionError. + + :param max_attempts: Maximum number of attempts to execute the decorated function/method. + :param sleep: Time to wait between attempts. In seconds. + """ + def impl(f): + @functools.wraps(f) + def wrapper(*args, **kwargs): + attempts = 0 + while True: + attempts += 1 + try: + return f(*args, **kwargs) + except StopActorExecutionError: + if max_attempts <= attempts: + api.current_logger().warning( + 'Attempt %d of %d to perform %s failed. Maximum number of retries has been reached.', + attempts, max_attempts, f.__name__) + raise + if sleep: + api.current_logger().info( + 'Attempt %d of %d to perform %s failed - Retrying after %s seconds', + attempts, max_attempts, f.__name__, str(sleep)) + time.sleep(sleep) + else: + api.current_logger().info( + 'Attempt %d of %d to perform %s failed - Retrying...', attempts, max_attempts, f.__name__) + return wrapper + return impl + + +@contextlib.contextmanager +def _handle_rhsm_exceptions(hint=None): + """ + Context manager based function that handles exceptions of `run` for the subscription-manager calls. + """ + try: + yield + except OSError as e: + api.current_logger().error('Failed to execute subscription-manager executable') + raise StopActorExecutionError( + message='Unable to execute subscription-manager executable: {}'.format(str(e)), + details={ + 'hint': 'Please ensure subscription-manager is installed and executable.' + } + ) + except CalledProcessError as e: + _def_hint = ( + 'Please ensure you have a valid RHEL subscription and your network is up.' + ' If you are using proxy for Red Hat subscription-manager, please make sure' + ' it is specified inside the /etc/rhsm/rhsm.conf file.' + ' Or use the --no-rhsm option when running leapp, if you do not want to' + ' use subscription-manager for the in-place upgrade and you want to' + ' deliver all target repositories by yourself or using RHUI on public cloud.' + ) + raise StopActorExecutionError( + message='A subscription-manager command failed to execute', + details={ + 'details': str(e), + 'stderr': e.stderr, + 'hint': hint or _def_hint + } + ) + + +def skip_rhsm(): + """Check whether we should skip RHSM related code.""" + return get_env('LEAPP_NO_RHSM', '0') == '1' + + +def with_rhsm(f): + """Decorator to allow skipping RHSM functions by executing a no-op.""" + @functools.wraps(f) + def wrapper(*args, **kwargs): + if not skip_rhsm(): + return f(*args, **kwargs) + return None + return wrapper + + +@with_rhsm +def get_attached_skus(context): + """ + Retrieve the list of the SKUs the system is attached to with the subscription-manager. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: SKUs the current system is attached to. + :rtype: List(string) + """ + with _handle_rhsm_exceptions(): + result = context.call(['subscription-manager', 'list', '--consumed'], split=False) + return _RE_SKU_CONSUMED.findall(result['stdout']) + + +@with_rhsm +def get_rhsm_status(context): + """ + Retrieve "subscription-manager status" output. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: "subscription manager status" output + :rtype: String + """ + with _handle_rhsm_exceptions(): + result = context.call(['subscription-manager', 'status']) + return result['stdout'] + + +def is_manifest_sca(context): + """ + Check if SCA manifest is used in Satellite. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: True if SCA manifest is used else False + :rtype: Boolean + """ + return SCA_TEXT in get_rhsm_status(context) + + +def get_available_repo_ids(context): + """ + Retrieve repo ids of all the repositories available through the subscription-manager. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: Repositories that are available to the current system through the subscription-manager + :rtype: List(string) + """ + # Regenerated redhat.repo file ... + # FIXME: try to come up with something less invasive than yum clean all + # but still safe to call.. + cmd = ['yum', 'clean', 'all'] + try: + context.call(cmd) + except CalledProcessError as exc: + raise StopActorExecutionError( + 'Unable to use yum successfully', + details={'details': str(exc), 'stderr': exc.stderr} + ) + + repofiles = repofileutils.get_parsed_repofiles(context) + + # TODO: move this functionality out! Create check actor that will do + # the inhibit. The functionality is really not good here in the current + # shape of the leapp-repository. See the targetuserspacecreator and + # systemfacts actor if this is moved out. + # Issue: #486 + _inhibit_on_duplicate_repos(repofiles) + rhsm_repos = [] + for rfile in repofiles: + if rfile.file == _DEFAULT_RHSM_REPOFILE and rfile.data: + rhsm_repos = [repo.repoid for repo in rfile.data] + rhsm_repos.sort() + break + + list_separator_fmt = '\n - ' + if rhsm_repos: + api.current_logger().info('The following repoids are available through RHSM:{0}{1}' + .format(list_separator_fmt, list_separator_fmt.join(rhsm_repos))) + else: + api.current_logger().info('There are no repos available through RHSM.') + return rhsm_repos + + +def _inhibit_on_duplicate_repos(repofiles): + """ + Inhibit the upgrade if any repoid is defined multiple times. + + When that happens, it not only shows misconfigured system, but then + we can't get details of all the available repos as well. + """ + duplicates = repofileutils.get_duplicate_repositories(repofiles).keys() + + if not duplicates: + return + list_separator_fmt = '\n - ' + api.current_logger().warning( + 'The following repoids are defined multiple times:{0}{1}' + .format(list_separator_fmt, list_separator_fmt.join(duplicates)) + ) + + reporting.create_report([ + reporting.Title('A YUM/DNF repository defined multiple times'), + reporting.Summary( + 'The following repositories are defined multiple times:{0}{1}' + .format(list_separator_fmt, list_separator_fmt.join(duplicates)) + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.REPOSITORY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint='Remove the duplicate repository definitions.') + ]) + + +@with_rhsm +def get_enabled_repo_ids(context): + """ + Retrieve repo ids of all the repositories enabled through the subscription-manager. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: Repositories that are enabled on the current system through the subscription-manager. + :rtype: List(string) + """ + with _handle_rhsm_exceptions(): + result = context.call(['subscription-manager', 'repos', '--list-enabled'], split=False) + return _RE_REPO_UID.findall(result['stdout']) + + +@with_rhsm +@_rhsm_retry(max_attempts=_ATTEMPTS, sleep=_RETRY_SLEEP) +def unset_release(context): + """ + Unset the configured release from the subscription-manager. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + """ + with _handle_rhsm_exceptions(): + context.call(['subscription-manager', 'release', '--unset'], split=False) + + +@with_rhsm +@_rhsm_retry(max_attempts=_ATTEMPTS, sleep=_RETRY_SLEEP) +def set_release(context, release): + """ + Set the release (RHEL minor version) through the subscription-manager. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :param release: Release to set the subscription-manager to. + :type release: str + """ + with _handle_rhsm_exceptions(): + context.call(['subscription-manager', 'release', '--set', release], split=False) + + +@with_rhsm +def get_release(context): + """ + Retrieves the release the subscription-manager has been pinned to, if applicable. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: Release the subscription-manager is set to. + :rtype: string + """ + with _handle_rhsm_exceptions(): + result = context.call(['subscription-manager', 'release'], split=False) + result = _RE_RELEASE.findall(result['stdout']) + return result[0] if result else '' + + +@with_rhsm +@_rhsm_retry(max_attempts=_ATTEMPTS, sleep=_RETRY_SLEEP) +def refresh(context): + """ + Calls 'subscription-manager refresh' + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + """ + with _handle_rhsm_exceptions(): + context.call(['subscription-manager', 'refresh'], split=False) + + +@with_rhsm +def get_existing_product_certificates(context): + """ + Retrieves information about existing product certificates on the system. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: Paths to product certificates that are currently installed on the system. + :rtype: List(string) + """ + certs = [] + for path in ('/etc/pki/product', '/etc/pki/product-default'): + if not os.path.isdir(context.full_path(path)): + continue + curr_certs = [os.path.join(path, f) for f in os.listdir(context.full_path(path)) + if os.path.isfile(os.path.join(context.full_path(path), f))] + if curr_certs: + certs.extend(curr_certs) + return certs + + +# DO NOT SET the with_rhsm decorator for this function +def set_container_mode(context): + """ + Put RHSM into the container mode. + + Inside the container, we have to ensure the RHSM is not used AND that host + is not affected. If the RHSM is not set into the container mode, the host + could be affected and the generated repo file in the container could be + affected as well (e.g. when the release is set, using rhsm, on the host). + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + """ + if not context.is_isolated(): + api.current_logger().error('Trying to set RHSM into the container mode' + 'on host. Skipping the action.') + return + try: + context.call(['ln', '-s', '/etc/rhsm', '/etc/rhsm-host']) + except CalledProcessError: + raise StopActorExecutionError( + message='Cannot set the container mode for the subscription-manager.') + + +@with_rhsm +def switch_certificate(context, rhsm_info, cert_path): + """ + Perform all actions needed to switch the passed RHSM product certificate. + + This function will copy the certificate to /etc/pki/product, and /etc/pki/product-default if necessary, and + remove other product certificates from there. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :param rhsm_info: An instance of the RHSMInfo model + :type rhsm_info: RHSMInfo model + :param cert_path: Path to the product certificate to switch to + :type cert_path: string + """ + for existing in rhsm_info.existing_product_certificates: + try: + context.remove(existing) + except OSError: + api.current_logger().warning('Failed to remove existing certificate: %s', existing, exc_info=True) + + for path in ('/etc/pki/product', '/etc/pki/product-default'): + if os.path.isdir(context.full_path(path)): + context.copy_to(cert_path, os.path.join(path, os.path.basename(cert_path))) + + +@with_rhsm +def scan_rhsm_info(context): + """ + Gather all the RHSM information of the source system. + + It's not intended for gathering RHSM info about the target system within a container. + + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + :return: An instance of an RHSMInfo model. + :rtype: RHSMInfo model + """ + info = RHSMInfo() + info.attached_skus = get_attached_skus(context) + info.available_repos = get_available_repo_ids(context) + info.enabled_repos = get_enabled_repo_ids(context) + info.release = get_release(context) + info.existing_product_certificates.extend(get_existing_product_certificates(context)) + info.sca_detected = is_manifest_sca(context) + return info diff --git a/repos/system_upgrade/common/libraries/rhui.py b/repos/system_upgrade/common/libraries/rhui.py new file mode 100644 index 0000000..4578ecd --- /dev/null +++ b/repos/system_upgrade/common/libraries/rhui.py @@ -0,0 +1,270 @@ +import os + +import six + +from leapp.libraries.common.config.version import get_target_major_version +from leapp.libraries.stdlib import api + +# when on AWS and upgrading from RHEL 7, we need also Python2 version of "Amazon-id" dnf +# plugin which is served by "leapp-rhui-aws" rpm package (please note this package is not +# in any RH official repository but only in "rhui-client-config-*" repo) +DNF_PLUGIN_PATH_PY2 = '/usr/lib/python2.7/site-packages/dnf-plugins/' +YUM_REPOS_PATH = '/etc/yum.repos.d' + +RHUI_PKI_DIR = '/etc/pki/rhui' +RHUI_PKI_PRODUCT_DIR = os.path.join(RHUI_PKI_DIR, 'product') +RHUI_PKI_PRIVATE_DIR = os.path.join(RHUI_PKI_DIR, 'private') + +AWS_DNF_PLUGIN_NAME = 'amazon-id.py' + + +# The files in 'files_map' are provided by special Leapp rpms (per cloud) and +# are delivered into "repos/system_upgrade/common/files/rhui/ + + +RHUI_CLOUD_MAP = { + '7to8': { + 'aws': { + 'src_pkg': 'rh-amazon-rhui-client', + 'target_pkg': 'rh-amazon-rhui-client', + 'leapp_pkg': 'leapp-rhui-aws', + 'leapp_pkg_repo': 'leapp-aws.repo', + 'files_map': [ + ('rhui-client-config-server-8.crt', RHUI_PKI_PRODUCT_DIR), + ('rhui-client-config-server-8.key', RHUI_PKI_DIR), + ('content-rhel8.crt', RHUI_PKI_PRODUCT_DIR), + ('content-rhel8.key', RHUI_PKI_DIR), + ('cdn.redhat.com-chain.crt', RHUI_PKI_DIR), + (AWS_DNF_PLUGIN_NAME, DNF_PLUGIN_PATH_PY2), + ('leapp-aws.repo', YUM_REPOS_PATH) + ], + }, + 'aws-sap-e4s': { + 'src_pkg': 'rh-amazon-rhui-client-sap-bundle', + 'target_pkg': 'rh-amazon-rhui-client-sap-bundle-e4s', + 'leapp_pkg': 'leapp-rhui-aws-sap-e4s', + 'leapp_pkg_repo': 'leapp-aws-sap-e4s.repo', + 'files_map': [ + ('rhui-client-config-server-8-sap-bundle.crt', RHUI_PKI_PRODUCT_DIR), + ('rhui-client-config-server-8-sap-bundle.key', RHUI_PKI_DIR), + ('content-rhel8-sap.crt', RHUI_PKI_PRODUCT_DIR), + ('content-rhel8-sap.key', RHUI_PKI_DIR), + ('cdn.redhat.com-chain.crt', RHUI_PKI_DIR), + (AWS_DNF_PLUGIN_NAME, DNF_PLUGIN_PATH_PY2), + ('leapp-aws-sap-e4s.repo', YUM_REPOS_PATH) + ], + }, + 'azure': { + 'src_pkg': 'rhui-azure-rhel7', + 'target_pkg': 'rhui-azure-rhel8', + 'agent_pkg': 'WALinuxAgent', + 'leapp_pkg': 'leapp-rhui-azure', + 'leapp_pkg_repo': 'leapp-azure.repo', + 'files_map': [ + ('content.crt', RHUI_PKI_PRODUCT_DIR), + ('key.pem', RHUI_PKI_PRIVATE_DIR), + ('leapp-azure.repo', YUM_REPOS_PATH) + ], + }, + 'azure-sap-apps': { + 'src_pkg': 'rhui-azure-rhel7-base-sap-apps', + 'target_pkg': 'rhui-azure-rhel8-sapapps', + 'agent_pkg': 'WALinuxAgent', + 'leapp_pkg': 'leapp-rhui-azure-sap', + 'leapp_pkg_repo': 'leapp-azure-sap-apps.repo', + 'files_map': [ + ('content-sapapps.crt', RHUI_PKI_PRODUCT_DIR), + ('key-sapapps.pem', RHUI_PKI_PRIVATE_DIR), + ('leapp-azure-sap-apps.repo', YUM_REPOS_PATH), + ], + }, + 'azure-sap-ha': { + 'src_pkg': 'rhui-azure-rhel7-base-sap-ha', + 'target_pkg': 'rhui-azure-rhel8-sap-ha', + 'agent_pkg': 'WALinuxAgent', + 'leapp_pkg': 'leapp-rhui-azure-sap', + 'leapp_pkg_repo': 'leapp-azure-sap-ha.repo', + 'files_map': [ + ('content-sap-ha.crt', RHUI_PKI_PRODUCT_DIR), + ('key-sap-ha.pem', RHUI_PKI_PRIVATE_DIR), + ('leapp-azure-sap-ha.repo', YUM_REPOS_PATH) + ], + }, + 'google': { + 'src_pkg': 'google-rhui-client-rhel7', + 'target_pkg': 'google-rhui-client-rhel8', + 'leapp_pkg': 'leapp-rhui-google', + 'leapp_pkg_repo': 'leapp-google.repo', + 'files_map': [ + ('content.crt', RHUI_PKI_PRODUCT_DIR), + ('key.pem', RHUI_PKI_DIR), + ('leapp-google.repo', YUM_REPOS_PATH) + ], + }, + 'google-sap': { + 'src_pkg': 'google-rhui-client-rhel79-sap', + 'target_pkg': 'google-rhui-client-rhel8-sap', + 'leapp_pkg': 'leapp-rhui-google-sap', + 'leapp_pkg_repo': 'leapp-google-sap.repo', + 'files_map': [ + ('content.crt', RHUI_PKI_PRODUCT_DIR), + ('key.pem', RHUI_PKI_DIR), + ('leapp-google-sap.repo', YUM_REPOS_PATH) + ], + }, + 'alibaba': { + 'src_pkg': 'client-rhel7', + 'target_pkg': 'aliyun_rhui_rhel8', + 'leapp_pkg': 'leapp-rhui-alibaba', + 'leapp_pkg_repo': 'leapp-alibaba.repo', + 'files_map': [ + ('content.crt', RHUI_PKI_PRODUCT_DIR), + ('key.pem', RHUI_PKI_DIR), + ('leapp-alibaba.repo', YUM_REPOS_PATH) + ], + } + }, + '8to9': { + 'aws': { + 'src_pkg': 'rh-amazon-rhui-client', + 'target_pkg': 'rh-amazon-rhui-client', + 'leapp_pkg': 'leapp-rhui-aws', + 'leapp_pkg_repo': 'leapp-aws.repo', + 'files_map': [ + ('rhui-client-config-server-9.crt', RHUI_PKI_PRODUCT_DIR), + ('rhui-client-config-server-9.key', RHUI_PKI_DIR), + ('content-rhel9.crt', RHUI_PKI_PRODUCT_DIR), + ('content-rhel9.key', RHUI_PKI_DIR), + ('cdn.redhat.com-chain.crt', RHUI_PKI_DIR), + ('leapp-aws.repo', YUM_REPOS_PATH) + ], + }, + 'aws-sap-e4s': { + 'src_pkg': 'rh-amazon-rhui-client-sap-bundle-e4s', + 'target_pkg': 'rh-amazon-rhui-client-sap-bundle-e4s', + 'leapp_pkg': 'leapp-rhui-aws-sap-e4s', + 'leapp_pkg_repo': 'leapp-aws-sap-e4s.repo', + 'files_map': [ + ('rhui-client-config-server-9-sap-bundle.crt', RHUI_PKI_PRODUCT_DIR), + ('rhui-client-config-server-9-sap-bundle.key', RHUI_PKI_DIR), + ('content-rhel9-sap-bundle-e4s.crt', RHUI_PKI_PRODUCT_DIR), + ('content-rhel9-sap-bundle-e4s.key', RHUI_PKI_DIR), + ('cdn.redhat.com-chain.crt', RHUI_PKI_DIR), + ('leapp-aws-sap-e4s.repo', YUM_REPOS_PATH) + ], + }, + 'azure': { + 'src_pkg': 'rhui-azure-rhel8', + 'target_pkg': 'rhui-azure-rhel9', + 'agent_pkg': 'WALinuxAgent', + 'leapp_pkg': 'leapp-rhui-azure', + 'leapp_pkg_repo': 'leapp-azure.repo', + 'files_map': [ + ('content.crt', RHUI_PKI_PRODUCT_DIR), + ('key.pem', RHUI_PKI_PRIVATE_DIR), + ('leapp-azure.repo', YUM_REPOS_PATH) + ], + }, + # FIXME(mhecko): This entry is identical to the azure one, since we have no EUS content yet, therefore, it + # # serves only the purpose of containing the name of rhui client package to correctly detect + # # cloud provider. Trying to work around this entry by specifying --channel, will result in + # # failures - there is no repomapping for EUS content, and the name of target pkg differs on EUS. + # # If the EUS image is available sooner than the 'azure-eus' entry gets modified, the user can + # # still upgrade to non-EUS, and switch the newly upgraded system to EUS manually. + 'azure-eus': { + 'src_pkg': 'rhui-azure-rhel8-eus', + 'target_pkg': 'rhui-azure-rhel9', + 'agent_pkg': 'WALinuxAgent', + 'leapp_pkg': 'leapp-rhui-azure-eus', + 'leapp_pkg_repo': 'leapp-azure.repo', + 'files_map': [ + ('content.crt', RHUI_PKI_PRODUCT_DIR), + ('key.pem', RHUI_PKI_PRIVATE_DIR), + ('leapp-azure.repo', YUM_REPOS_PATH) + ], + }, + 'azure-sap-ha': { + 'src_pkg': 'rhui-azure-rhel8-sap-ha', + 'target_pkg': 'rhui-azure-rhel9-sap-ha', + 'agent_pkg': 'WALinuxAgent', + 'leapp_pkg': 'leapp-rhui-azure-sap', + 'leapp_pkg_repo': 'leapp-azure-sap-ha.repo', + 'files_map': [ + ('content-sap-ha.crt', RHUI_PKI_PRODUCT_DIR), + ('key-sap-ha.pem', RHUI_PKI_DIR), + ('leapp-azure-sap-ha.repo', YUM_REPOS_PATH) + ], + }, + 'azure-sap-apps': { + 'src_pkg': 'rhui-azure-rhel8-sapapps', + 'target_pkg': 'rhui-azure-rhel9-sapapps', + 'agent_pkg': 'WALinuxAgent', + 'leapp_pkg': 'leapp-rhui-azure-sap', + 'leapp_pkg_repo': 'leapp-azure-sap-apps.repo', + 'files_map': [ + ('content-sapapps.crt', RHUI_PKI_PRODUCT_DIR), + ('key-sapapps.pem', RHUI_PKI_PRIVATE_DIR), + ('leapp-azure-sap-apps.repo', YUM_REPOS_PATH) + ], + }, + 'google': { + 'src_pkg': 'google-rhui-client-rhel8', + 'target_pkg': 'google-rhui-client-rhel9', + 'leapp_pkg': 'leapp-rhui-google', + 'leapp_pkg_repo': 'leapp-google.repo', + 'files_map': [ + ('content.crt', RHUI_PKI_PRODUCT_DIR), + ('key.pem', RHUI_PKI_DIR), + ('leapp-google.repo', YUM_REPOS_PATH) + ], + }, + 'google-sap': { + 'src_pkg': 'google-rhui-client-rhel8-sap', + 'target_pkg': 'google-rhui-client-rhel9-sap', + 'leapp_pkg': 'leapp-rhui-google-sap', + 'leapp_pkg_repo': 'leapp-google-sap.repo', + 'files_map': [ + ('content.crt', RHUI_PKI_PRODUCT_DIR), + ('key.pem', RHUI_PKI_DIR), + ('leapp-google-sap.repo', YUM_REPOS_PATH) + ], + }, + }, +} + + +def get_upg_path(): + """ + Get upgrade path in specific string format + """ + return '7to8' if get_target_major_version() == '8' else '8to9' + + +def gen_rhui_files_map(): + """ + Generate RHUI files map based on architecture and upgrade path + """ + arch = api.current_actor().configuration.architecture + upg_path = get_upg_path() + + cloud_map = RHUI_CLOUD_MAP + # for the moment the only arch related difference in RHUI package naming is on ARM + if arch == 'aarch64': + cloud_map[get_upg_path()]['aws']['src_pkg'] = 'rh-amazon-rhui-client-arm' + + files_map = dict((k, v['files_map']) for k, v in six.iteritems(cloud_map[upg_path])) + return files_map + + +def copy_rhui_data(context, provider): + """ + Copy relevant RHUI cerificates and key into the target userspace container + """ + rhui_dir = api.get_common_folder_path('rhui') + data_dir = os.path.join(rhui_dir, provider) + + context.call(['mkdir', '-p', RHUI_PKI_PRODUCT_DIR]) + context.call(['mkdir', '-p', RHUI_PKI_PRIVATE_DIR]) + + for path_ in gen_rhui_files_map().get(provider, ()): + context.copy_to(os.path.join(data_dir, path_[0]), path_[1]) diff --git a/repos/system_upgrade/common/libraries/rpms.py b/repos/system_upgrade/common/libraries/rpms.py new file mode 100644 index 0000000..a6cef13 --- /dev/null +++ b/repos/system_upgrade/common/libraries/rpms.py @@ -0,0 +1,116 @@ +from leapp.libraries import stdlib +from leapp.models import InstalledRPM + + +def get_installed_rpms(): + rpm_cmd = [ + '/bin/rpm', + '-qa', + '--queryformat', + r'%{NAME}|%{VERSION}|%{RELEASE}|%|EPOCH?{%{EPOCH}}:{0}||%|PACKAGER?{%{PACKAGER}}:{(none)}||%|' + r'ARCH?{%{ARCH}}:{}||%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:{(none)}|}|\n' + ] + try: + return stdlib.run(rpm_cmd, split=True)['stdout'] + except stdlib.CalledProcessError as err: + error = 'Execution of {CMD} returned {RC}. Unable to find installed packages.'.format(CMD=err.command, + RC=err.exit_code) + stdlib.api.current_logger().error(error) + return [] + + +def create_lookup(model, field, keys, context=stdlib.api): + """ + Create a lookup set from one of the model fields. + + :param model: model class + :param field: model field, its value will be taken for lookup data + :param key: property of the field's data that will be used to build a resulting set + :param context: context of the execution + """ + data = getattr(next((m for m in context.consume(model)), model()), field) + try: + return {tuple(getattr(obj, key) for key in keys) for obj in data} if data else set() + except TypeError: + # data is not iterable, not lookup can be built + stdlib.api.current_logger().error( + "{model}.{field}.{keys} is not iterable, can't build lookup".format( + model=model, field=field, keys=keys)) + return set() + + +def has_package(model, package_name, arch=None, version=None, release=None, context=stdlib.api): + """ + Expects a model InstalledRedHatSignedRPM or InstalledUnsignedRPM. + Can be useful in cases like a quick item presence check, ex. check in actor that + a certain package is installed. + + :param model: model class + :param package_name: package to be checked + :param arch: filter by architecture. None means all arches. + :param version: filter by version. None means all versions. + :param release: filter by release. None means all releases. + """ + if not (isinstance(model, type) and issubclass(model, InstalledRPM)): + return False + keys = ['name'] + if arch: + keys.append('arch') + if version: + keys.append('version') + if release: + keys.append('release') + + attributes = [package_name] + attributes += [attr for attr in (arch, version, release) if attr is not None] + rpm_lookup = create_lookup(model, field='items', keys=keys, context=context) + return tuple(attributes) in rpm_lookup + + +def _read_rpm_modifications(config): + """ + Ask RPM database whether the configuration file was modified. + + :param config: a config file to check + """ + try: + return stdlib.run(['rpm', '-Vf', config], split=True, checked=False)['stdout'] + except OSError as err: + error = 'Failed to check the modification status of the file {}: {}'.format(config, str(err)) + stdlib.api.current_logger().error(error) + return [] + + +def _parse_config_modification(data, config): + """ + Handle the output of rpm verify command to figure out if configuration file was modified. + + :param data: output of the rpm verify + :param config: a config file to check + """ + + # First assume it is not modified -- empty data says it is not modified + modified = False + for line in data: + parts = line.split(' ') + # The last part of the line is the actual file we care for + if parts[-1] == config: + # First part contains information, if the size and digest differ + if '5' in parts[0] or 'S' in parts[0]: + modified = True + # Ignore any other files lurking here + + return modified + + +def check_file_modification(config): + """ + Check if the given configuration file tracked by RPM was modified + + This is useful when figuring out if the file will be replaced by the rpm on the upgrade + or we need to take care of the upgrade manually. + + :param config: The configuration file to check + """ + output = _read_rpm_modifications(config) + return _parse_config_modification(output, config) diff --git a/repos/system_upgrade/common/libraries/systemd.py b/repos/system_upgrade/common/libraries/systemd.py new file mode 100644 index 0000000..c709f23 --- /dev/null +++ b/repos/system_upgrade/common/libraries/systemd.py @@ -0,0 +1,266 @@ +import fnmatch +import os + +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SystemdServiceFile, SystemdServicePreset + +SYSTEMD_SYMLINKS_DIR = '/etc/systemd/system/' + +_SYSTEMCTL_CMD_OPTIONS = ['--type=service', '--all', '--plain', '--no-legend'] +_USR_PRESETS_PATH = '/usr/lib/systemd/system-preset/' +_ETC_PRESETS_PATH = '/etc/systemd/system-preset/' + +SYSTEMD_SYSTEM_LOAD_PATH = [ + '/etc/systemd/system', + '/usr/lib/systemd/system' +] + + +def get_broken_symlinks(): + """ + Get broken systemd symlinks on the system + + :return: List of broken systemd symlinks + :rtype: list[str] + :raises: CalledProcessError: if the `find` command fails + :raises: OSError: if the find utility is not found + """ + try: + return run(['find', SYSTEMD_SYMLINKS_DIR, '-xtype', 'l'], split=True)['stdout'] + except (OSError, CalledProcessError): + api.current_logger().error('Cannot obtain the list of broken systemd symlinks.') + raise + + +def _try_call_unit_command(command, unit): + try: + # it is possible to call this on multiple units at once, + # but failing to enable one service would cause others to not enable as well + run(['systemctl', command, unit]) + except CalledProcessError as err: + msg = 'Failed to {} systemd unit "{}". Message: {}'.format(command, unit, str(err)) + api.current_logger().error(msg) + raise err + + +def enable_unit(unit): + """ + Enable a systemd unit + + It is strongly recommended to produce SystemdServicesTasks message instead, + unless it is absolutely necessary to handle failure yourself. + + :param unit: The systemd unit to enable + :raises CalledProcessError: In case of failure + """ + _try_call_unit_command('enable', unit) + + +def disable_unit(unit): + """ + Disable a systemd unit + + It is strongly recommended to produce SystemdServicesTasks message instead, + unless it is absolutely necessary to handle failure yourself. + + :param unit: The systemd unit to disable + :raises CalledProcessError: In case of failure + """ + _try_call_unit_command('disable', unit) + + +def reenable_unit(unit): + """ + Re-enable a systemd unit + + It is strongly recommended to produce SystemdServicesTasks message, unless it + is absolutely necessary to handle failure yourself. + + :param unit: The systemd unit to re-enable + :raises CalledProcessError: In case of failure + """ + _try_call_unit_command('reenable', unit) + + +def get_service_files(): + """ + Get list of unit files of systemd services on the system + + The list includes template units. + + :return: List of service unit files with states + :rtype: list[SystemdServiceFile] + :raises: CalledProcessError: in case of failure of `systemctl` command + """ + services_files = [] + try: + cmd = ['systemctl', 'list-unit-files'] + _SYSTEMCTL_CMD_OPTIONS + service_units_data = run(cmd, split=True)['stdout'] + except CalledProcessError as err: + api.current_logger().error('Cannot obtain the list of unit files:{}'.format(str(err))) + raise + + for entry in service_units_data: + columns = entry.split() + services_files.append(SystemdServiceFile(name=columns[0], state=columns[1])) + return services_files + + +def _join_presets_resolving_overrides(etc_files, usr_files): + """ + Join presets and resolve preset file overrides + + Preset files in /etc/ override those with the same name in /usr/. + If such a file is a symlink to /dev/null, it disables the one in /usr/ instead. + + :param etc_files: Systemd preset files in /etc/ + :param usr_files: Systemd preset files in /usr/ + :return: List of preset files in /etc/ and /usr/ with overridden files removed + """ + for etc_file in etc_files: + filename = os.path.basename(etc_file) + for usr_file in usr_files: + if filename == os.path.basename(usr_file): + usr_files.remove(usr_file) + if os.path.islink(etc_file) and os.readlink(etc_file) == '/dev/null': + etc_files.remove(etc_file) + + return etc_files + usr_files + + +def _search_preset_files(path): + """ + Search preset files in the given path + + Presets are search recursively in the given directory. + If path isn't an existing directory, return empty list. + + :param path: The path to search preset files in + :return: List of found preset files + :rtype: list[str] + :raises: CalledProcessError: if the `find` command fails + :raises: OSError: if the find utility is not found + """ + if os.path.isdir(path): + try: + return run(['find', path, '-name', '*.preset'], split=True)['stdout'] + except (OSError, CalledProcessError) as err: + api.current_logger().error('Cannot obtain list of systemd preset files in {}:{}'.format(path, str(err))) + raise + else: + return [] + + +def _get_system_preset_files(): + """ + Get systemd system preset files and remove overriding entries. Entries in /run/systemd/system are ignored. + + :return: List of system systemd preset files + :raises: CalledProcessError: if the `find` command fails + :raises: OSError: if the find utility is not found + """ + etc_files = _search_preset_files(_ETC_PRESETS_PATH) + usr_files = _search_preset_files(_USR_PRESETS_PATH) + + preset_files = _join_presets_resolving_overrides(etc_files, usr_files) + preset_files.sort() + return preset_files + + +def _recursive_glob(pattern, root_dir): + for _, _, filenames in os.walk(root_dir): + for filename in filenames: + if fnmatch.fnmatch(filename, pattern): + yield filename + + +def _parse_preset_entry(entry, presets, load_path): + """ + Parse a single entry (line) in a preset file + + Single entry might set presets on multiple units using globs. + + :param entry: The entry to parse + :param presets: Dictionary to store the presets into + :param load_path: List of paths to look systemd unit files up in + """ + + columns = entry.split() + if len(columns) < 2 or columns[0] not in ('enable', 'disable'): + raise ValueError('Invalid preset file entry: "{}"'.format(entry)) + + for path in load_path: + # TODO(mmatuska): This currently also globs non unit files, + # so the results need to be filtered with something like endswith('.') + unit_files = _recursive_glob(columns[1], root_dir=path) + + for unit_file in unit_files: + if '@' in columns[1] and len(columns) > 2: + # unit is a template, + # if the entry contains instance names after template unit name + # the entry only applies to the specified instances, not to the + # template itself + for instance in columns[2:]: + service_name = unit_file[:unit_file.index('@') + 1] + instance + '.service' + if service_name not in presets: # first occurrence has priority + presets[service_name] = columns[0] + + elif unit_file not in presets: # first occurrence has priority + presets[unit_file] = columns[0] + + +def _parse_preset_files(preset_files, load_path, ignore_invalid_entries): + """ + Parse presets from preset files + + :param load_path: List of paths to search units at + :param ignore_invalid_entries: Whether to ignore invalid entries in preset files or raise an error + :return: Dictionary mapping systemd units to their preset state + :rtype: dict[str, str] + :raises: ValueError: when a preset file has invalid content + """ + presets = {} + + for preset in preset_files: + with open(preset, 'r') as preset_file: + for line in preset_file: + stripped = line.strip() + if stripped and stripped[0] not in ('#', ';'): # ignore comments + try: + _parse_preset_entry(stripped, presets, load_path) + except ValueError as err: + new_msg = 'Invalid preset file {pfile}: {error}'.format(pfile=preset, error=str(err)) + if ignore_invalid_entries: + api.current_logger().warning(new_msg) + continue + raise ValueError(new_msg) + return presets + + +def get_system_service_preset_files(service_files, ignore_invalid_entries=False): + """ + Get system preset files for services + + Presets for static and transient services are filtered out. + + :param services_files: List of service unit files + :param ignore_invalid_entries: Ignore invalid entries in preset files if True, raise ValueError otherwise + :return: List of system systemd services presets + :rtype: list[SystemdServicePreset] + :raises: CalledProcessError: In case of errors when discovering systemd preset files + :raises: OSError: When the `find` command is not available + :raises: ValueError: When a preset file has invalid content and ignore_invalid_entries is False + """ + preset_files = _get_system_preset_files() + presets = _parse_preset_files(preset_files, SYSTEMD_SYSTEM_LOAD_PATH, ignore_invalid_entries) + + preset_models = [] + for unit, state in presets.items(): + if unit.endswith('.service'): + service_file = next(iter([s for s in service_files if s.name == unit]), None) + # presets can also be set on instances of template services which don't have a unit file + if service_file and service_file.state in ('static', 'transient'): + continue + preset_models.append(SystemdServicePreset(service=unit, state=state)) + + return preset_models diff --git a/repos/system_upgrade/common/libraries/tests/00-test.preset b/repos/system_upgrade/common/libraries/tests/00-test.preset new file mode 100644 index 0000000..85e4cb0 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/00-test.preset @@ -0,0 +1,10 @@ +enable example.service +# first line takes priority +disable example.service + +# hello, world! +disable abc.service + +; another comment format +disable template@.service +enable template@.service instance1 instance2 diff --git a/repos/system_upgrade/common/libraries/tests/01-test.preset b/repos/system_upgrade/common/libraries/tests/01-test.preset new file mode 100644 index 0000000..6ef393c --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/01-test.preset @@ -0,0 +1,4 @@ +disable example.* +enable globbed*.service + +disable * diff --git a/repos/system_upgrade/common/libraries/tests/05-invalid.preset b/repos/system_upgrade/common/libraries/tests/05-invalid.preset new file mode 100644 index 0000000..9ec39de --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/05-invalid.preset @@ -0,0 +1,8 @@ +# missing unit or glob +enable +; missing enable or disable +hello.service +# only enable and disable directives are allowed +mask hello.service + +disable example.service diff --git a/repos/system_upgrade/common/libraries/tests/grub_invalid b/repos/system_upgrade/common/libraries/tests/grub_invalid new file mode 100644 index 0000000..92e8982 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/grub_invalid @@ -0,0 +1 @@ +Nothing to see here! diff --git a/repos/system_upgrade/common/libraries/tests/grub_valid b/repos/system_upgrade/common/libraries/tests/grub_valid new file mode 100644 index 0000000..b94d49f --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/grub_valid @@ -0,0 +1 @@ +GRUB GeomHard DiskRead Error diff --git a/repos/system_upgrade/common/libraries/tests/panagrams b/repos/system_upgrade/common/libraries/tests/panagrams new file mode 100644 index 0000000..fce2475 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/panagrams @@ -0,0 +1,21 @@ +Vypätá dcéra grófa Maxwella s IQ nižším ako kôň núti čeľaď hrýzť hŕbu jabĺk. + +Nechť již hříšné saxofony ďáblů rozezvučí síň úděsnými tóny waltzu, tanga a quickstepu. + +صِف خَلقَ خَودِ كَمِثلِ الشَمسِ إِذ بَزَغَت — يَحظى الضَجيعُ بِها نَجلاءَ مِعطارِ + +Ах чудна българска земьо, полюшвай цъфтящи жита. + +Albert osti fagotin ja töräytti puhkuvan melodian. + +Falsches Üben von Xylophonmusik quält jeden größeren Zwerg + +Ταχίστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός Takhístè alôpèx vaphês psèménè gè, draskelízei ypér nòthroý kynós + +דג סקרן שט בים מאוכזב ולפתע מצא חברה + +ऋषियों को सताने वाले दुष्ट राक्षसों के राजा रावण का सर्वनाश करने वाले विष्णुवतार भगवान श्रीराम, अयोध्या के महाराज दशरथ के बड़े सपुत्र थे। + +Kæmi ný öxi hér, ykist þjófum nú bæði víl og ádrepa. + +Эх, чужак, общий съём цен шляп (юфть) – вдрызг! diff --git a/repos/system_upgrade/common/libraries/tests/sample_repos.txt b/repos/system_upgrade/common/libraries/tests/sample_repos.txt new file mode 100644 index 0000000..3994444 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/sample_repos.txt @@ -0,0 +1,28 @@ +[AppStream] +name=CentOS-$releasever - AppStream +mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra +#baseurl=http://mirror.centos.org/$contentdir/$releasever/AppStream/$basearch/os/ +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial +cost=77 + +[leapp-copr] +name=Copr repo for devel Leapp builds +baseurl=http://coprbe.devel.redhat.com/results/oam-group/leapp/rhel-7-x86_64/ +type=rpm-md +skip_if_unavailable=True +gpgcheck=0 +gpgkey=http://coprbe.devel.redhat.com/results/oam-group/leapp/pubkey.gpg +repo_gpgcheck=0 +enabled=0 +enabled_metadata=1 + +[spe-ci_al.cha:rs] +name=Special characters test + +[duplicate] +name=Duplicate 1 + +[duplicate] +name=Duplicate 2 diff --git a/repos/system_upgrade/common/libraries/tests/test_dnfplugin.py b/repos/system_upgrade/common/libraries/tests/test_dnfplugin.py new file mode 100644 index 0000000..1ca9594 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_dnfplugin.py @@ -0,0 +1,193 @@ +from collections import namedtuple + +import pytest + +import leapp.models +from leapp.libraries.common import dnfplugin +from leapp.libraries.common.config.version import get_major_version +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models.fields import Boolean +from leapp.topics import Topic + + +class DATADnfPluginDataTopic(Topic): + name = 'data_dnf_plugin_data' + + +fields = leapp.models.fields + +TaskData = namedtuple('TaskData', 'expected initdata') + +TEST_INSTALL_PACKAGES = TaskData( + expected=('install1', 'install2'), + initdata=('install1', 'install2') +) +TEST_REMOVE_PACKAGES = TaskData( + expected=('remove1', 'remove2'), + initdata=('remove1', 'remove2'), +) +TEST_UPGRADE_PACKAGES = TaskData( + expected=('upgrade1', 'upgrade2'), + initdata=('upgrade1', 'upgrade2'), +) +TEST_ENABLE_MODULES = TaskData( + expected=('enable1:stream1', 'enable2:stream2'), + initdata=( + leapp.models.Module(name='enable1', stream='stream1'), + leapp.models.Module(name='enable2', stream='stream2'), + ) +) + + +class DATADnfPluginDataPkgsInfo(leapp.models.Model): + topic = DATADnfPluginDataTopic + local_rpms = fields.List(fields.String()) + to_install = fields.List(fields.StringEnum(choices=TEST_INSTALL_PACKAGES.expected)) + to_remove = fields.List(fields.StringEnum(choices=TEST_REMOVE_PACKAGES.expected)) + to_upgrade = fields.List(fields.StringEnum(choices=TEST_UPGRADE_PACKAGES.expected)) + modules_to_enable = fields.List(fields.StringEnum(choices=TEST_ENABLE_MODULES.expected)) + + +TEST_ENABLE_REPOS_CHOICES = ('enabled_repo', 'BASEOS', 'APPSTREAM') + + +class BooleanEnum(fields.EnumMixin, Boolean): + pass + + +class DATADnfPluginDataDnfConf(leapp.models.Model): + topic = DATADnfPluginDataTopic + allow_erasing = BooleanEnum(choices=[True]) + best = BooleanEnum(choices=[True]) + debugsolver = fields.Boolean() + disable_repos = BooleanEnum(choices=[True]) + enable_repos = fields.List(fields.StringEnum(choices=TEST_ENABLE_REPOS_CHOICES)) + gpgcheck = fields.Boolean() + platform_id = fields.StringEnum(choices=['platform:el8', 'platform:el9']) + releasever = fields.String() + installroot = fields.StringEnum(choices=['/installroot']) + test_flag = fields.Boolean() + + +class DATADnfPluginDataRHUIAWS(leapp.models.Model): + topic = DATADnfPluginDataTopic + on_aws = fields.Boolean() + region = fields.Nullable(fields.String()) + + +class DATADnfPluginDataRHUI(leapp.models.Model): + topic = DATADnfPluginDataTopic + aws = fields.Model(DATADnfPluginDataRHUIAWS) + + +class DATADnfPluginData(leapp.models.Model): + topic = DATADnfPluginDataTopic + pkgs_info = fields.Model(DATADnfPluginDataPkgsInfo) + dnf_conf = fields.Model(DATADnfPluginDataDnfConf) + rhui = fields.Model(DATADnfPluginDataRHUI) + + +# Delete those models from leapp.models to 'unpolute' the module +del leapp.models.DATADnfPluginDataPkgsInfo +del leapp.models.DATADnfPluginDataDnfConf +del leapp.models.DATADnfPluginDataRHUI +del leapp.models.DATADnfPluginDataRHUIAWS +del leapp.models.DATADnfPluginData + + +_CONFIG_BUILD_TEST_DEFINITION = ( + # Parameter, Input Data, Expected Fields with data + ('debug', False, ('dnf_conf', 'debugsolver'), False), + ('debug', True, ('dnf_conf', 'debugsolver'), True), + ('target_repoids', TEST_ENABLE_REPOS_CHOICES, ('dnf_conf', 'enable_repos'), list(TEST_ENABLE_REPOS_CHOICES)), + ('target_repoids', TEST_ENABLE_REPOS_CHOICES[0:1], + ('dnf_conf', 'enable_repos'), list(TEST_ENABLE_REPOS_CHOICES[0:1])), + ('target_repoids', TEST_ENABLE_REPOS_CHOICES[1:], + ('dnf_conf', 'enable_repos'), list(TEST_ENABLE_REPOS_CHOICES[1:])), + ('target_repoids', TEST_ENABLE_REPOS_CHOICES[2:], + ('dnf_conf', 'enable_repos'), list(TEST_ENABLE_REPOS_CHOICES[2:])), + ('test', False, ('dnf_conf', 'test_flag'), False), + ('test', True, ('dnf_conf', 'test_flag'), True), +) + + +@pytest.mark.parametrize('used_target_version', ['8.4', '8.5', '9.0', '9.1']) +@pytest.mark.parametrize('parameter,input_value,test_path,expected_value', _CONFIG_BUILD_TEST_DEFINITION) +def test_build_plugin_data_variations( + monkeypatch, + used_target_version, + parameter, + input_value, + test_path, + expected_value, +): + used_target_major_version = get_major_version(used_target_version) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver=used_target_version)) + inputs = { + 'target_repoids': ['BASEOS', 'APPSTREAM'], + 'debug': True, + 'test': True, + 'on_aws': False, + 'tasks': leapp.models.FilteredRpmTransactionTasks( + to_install=TEST_INSTALL_PACKAGES.initdata, + to_remove=TEST_REMOVE_PACKAGES.initdata, + to_upgrade=TEST_UPGRADE_PACKAGES.initdata, + modules_to_enable=TEST_ENABLE_MODULES.initdata + ) + } + inputs[parameter] = input_value + created = DATADnfPluginData.create( + dnfplugin.build_plugin_data( + **inputs + ) + ) + assert created.dnf_conf.platform_id == 'platform:el{}'.format(used_target_major_version) + assert created.dnf_conf.releasever == used_target_version + value = created + for path in test_path: + value = getattr(value, path) + assert value == expected_value + + +def test_build_plugin_data(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(dst_ver='8.4')) + # Use leapp to validate format and data + created = DATADnfPluginData.create( + dnfplugin.build_plugin_data( + target_repoids=['BASEOS', 'APPSTREAM'], + debug=True, + test=True, + on_aws=False, + tasks=leapp.models.FilteredRpmTransactionTasks( + to_install=TEST_INSTALL_PACKAGES.initdata, + to_remove=TEST_REMOVE_PACKAGES.initdata, + to_upgrade=TEST_UPGRADE_PACKAGES.initdata, + modules_to_enable=TEST_ENABLE_MODULES.initdata + ) + ) + ) + assert created.dnf_conf.debugsolver is True + assert created.dnf_conf.test_flag is True + assert created.rhui.aws.on_aws is False + + with pytest.raises(fields.ModelViolationError): + DATADnfPluginData.create( + dnfplugin.build_plugin_data( + target_repoids=['BASEOS', 'APPSTREAM'], + debug=True, + test=True, + on_aws=False, + tasks=leapp.models.FilteredRpmTransactionTasks( + to_install=TEST_INSTALL_PACKAGES.initdata, + to_remove=TEST_REMOVE_PACKAGES.initdata, + to_upgrade=TEST_UPGRADE_PACKAGES.initdata, + # Enforcing the failure + modules_to_enable=( + leapp.models.Module( + name='broken', stream=None + ), + ), + ) + ) + ) diff --git a/repos/system_upgrade/common/libraries/tests/test_grub.py b/repos/system_upgrade/common/libraries/tests/test_grub.py new file mode 100644 index 0000000..5a4f3f6 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_grub.py @@ -0,0 +1,189 @@ +import os + +import pytest + +from leapp.exceptions import StopActorExecution +from leapp.libraries.common import grub, mdraid +from leapp.libraries.common.testutils import logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import DefaultGrub, DefaultGrubInfo +from leapp.utils.deprecation import suppress_deprecation + +BOOT_PARTITION = '/dev/vda1' +BOOT_DEVICE = '/dev/vda' + +MD_BOOT_DEVICE = '/dev/md0' +MD_BOOT_DEVICES_WITH_GRUB = ['/dev/sda', '/dev/sdb'] + +VALID_DD = b'GRUB GeomHard DiskRead Error' +INVALID_DD = b'Nothing to see here!' + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def raise_call_error(args=None): + raise CalledProcessError( + message='A Leapp Command Error occurred.', + command=args, + result={'signal': None, 'exit_code': 1, 'pid': 0, 'stdout': 'fake', 'stderr': 'fake'} + ) + + +class RunMocked(object): + + def __init__(self, raise_err=False, boot_on_raid=False): + self.called = 0 + self.args = None + self.raise_err = raise_err + self.boot_on_raid = boot_on_raid + + def __call__(self, args, encoding=None): + self.called += 1 + self.args = args + if self.raise_err: + raise_call_error(args) + + if self.args == ['grub2-probe', '--target=device', '/boot']: + stdout = MD_BOOT_DEVICE if self.boot_on_raid else BOOT_PARTITION + + elif self.args == ['lsblk', '-spnlo', 'name', BOOT_PARTITION]: + stdout = BOOT_DEVICE + elif self.args[:-1] == ['lsblk', '-spnlo', 'name']: + stdout = self.args[-1][:-1] + + return {'stdout': stdout} + + +def open_mocked(fn, flags): + if fn == BOOT_DEVICE or fn in MD_BOOT_DEVICES_WITH_GRUB: + path = os.path.join(CUR_DIR, 'grub_valid') + else: + path = os.path.join(CUR_DIR, 'grub_invalid') + return open(path, 'r') + + +def open_invalid(fn, flags): + return open(os.path.join(CUR_DIR, 'grub_invalid'), 'r') + + +def read_mocked(f, size): + return f.read(size) + + +def close_mocked(f): + f.close() + + +@suppress_deprecation(grub.get_grub_device) +def test_get_grub_device_library(monkeypatch): + run_mocked = RunMocked() + monkeypatch.setattr(grub, 'run', run_mocked) + monkeypatch.setattr(os, 'open', open_mocked) + monkeypatch.setattr(os, 'read', read_mocked) + monkeypatch.setattr(os, 'close', close_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + result = grub.get_grub_device() + assert grub.run.called == 2 + assert BOOT_DEVICE == result + assert not api.current_logger.warnmsg + assert 'GRUB is installed on {}'.format(result) in api.current_logger.infomsg + + +@suppress_deprecation(grub.get_grub_device) +def test_get_grub_device_fail_library(monkeypatch): + # TODO(pstodulk): cover here also case with OSError (covered now in actors, + # so keeping for the future when we have a time) + run_mocked = RunMocked(raise_err=True) + monkeypatch.setattr(grub, 'run', run_mocked) + monkeypatch.setattr(os, 'open', open_mocked) + monkeypatch.setattr(os, 'read', read_mocked) + monkeypatch.setattr(os, 'close', close_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + with pytest.raises(StopActorExecution): + grub.get_grub_device() + assert grub.run.called == 1 + err = 'Could not get name of underlying /boot partition' + assert err in api.current_logger.warnmsg + + +@suppress_deprecation(grub.get_grub_device) +def test_device_no_grub_library(monkeypatch): + run_mocked = RunMocked() + monkeypatch.setattr(grub, 'run', run_mocked) + monkeypatch.setattr(os, 'open', open_invalid) + monkeypatch.setattr(os, 'read', read_mocked) + monkeypatch.setattr(os, 'close', close_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + result = grub.get_grub_device() + assert grub.run.called == 2 + assert not result + + +@pytest.mark.parametrize('enabled', [True, False]) +def test_is_blscfg_library(monkeypatch, enabled): + bls_cfg_enabled = DefaultGrubInfo( + default_grub_info=[DefaultGrub(name='GRUB_ENABLE_BLSCFG', value='true')] + ) + + bls_cfg_not_enabled = DefaultGrubInfo( + default_grub_info=[DefaultGrub(name='GRUB_ENABLE_BLSCFG', value='false')] + ) + + bls_cfg = bls_cfg_enabled if enabled else bls_cfg_not_enabled + + result = grub.is_blscfg_enabled_in_defaultgrub(bls_cfg) + if enabled: + assert result + else: + assert not result + + +def is_mdraid_dev_mocked(dev): + return dev == '/dev/md0' + + +def test_get_grub_devices_one_device(monkeypatch): + run_mocked = RunMocked() + monkeypatch.setattr(grub, 'run', run_mocked) + monkeypatch.setattr(os, 'open', open_mocked) + monkeypatch.setattr(os, 'read', read_mocked) + monkeypatch.setattr(os, 'close', close_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(mdraid, 'is_mdraid_dev', is_mdraid_dev_mocked) + + result = grub.get_grub_devices() + assert grub.run.called == 2 + assert [BOOT_DEVICE] == result + assert not api.current_logger.warnmsg + assert 'GRUB is installed on {}'.format(",".join(result)) in api.current_logger.infomsg + + +@pytest.mark.parametrize( + ',component_devs,expected', + [ + (['/dev/sda1', '/dev/sdb1'], MD_BOOT_DEVICES_WITH_GRUB), + (['/dev/sda1', '/dev/sdb1', '/dev/sdc1', '/dev/sdd1'], MD_BOOT_DEVICES_WITH_GRUB), + (['/dev/sda2', '/dev/sdc1'], ['/dev/sda']), + (['/dev/sdd3', '/dev/sdb2'], ['/dev/sdb']), + ] +) +def test_get_grub_devices_raid_device(monkeypatch, component_devs, expected): + run_mocked = RunMocked(boot_on_raid=True) + monkeypatch.setattr(grub, 'run', run_mocked) + monkeypatch.setattr(os, 'open', open_mocked) + monkeypatch.setattr(os, 'read', read_mocked) + monkeypatch.setattr(os, 'close', close_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(mdraid, 'is_mdraid_dev', is_mdraid_dev_mocked) + + def get_component_devices_mocked(raid_dev): + assert raid_dev == MD_BOOT_DEVICE + return component_devs + + monkeypatch.setattr(mdraid, 'get_component_devices', get_component_devices_mocked) + + result = grub.get_grub_devices() + assert grub.run.called == 1 + len(component_devs) # grub2-probe + Nx lsblk + assert sorted(expected) == result + assert not api.current_logger.warnmsg + assert 'GRUB is installed on {}'.format(",".join(result)) in api.current_logger.infomsg diff --git a/repos/system_upgrade/common/libraries/tests/test_kernel_lib.py b/repos/system_upgrade/common/libraries/tests/test_kernel_lib.py new file mode 100644 index 0000000..a6696a3 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_kernel_lib.py @@ -0,0 +1,78 @@ +import functools + +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import kernel as kernel_lib +from leapp.libraries.common.kernel import KernelType + + +@pytest.mark.parametrize( + ('rhel_version', 'uname_r', 'expected_kernel_type'), + ( + ('7.9', '3.10.0-1160.el7.x86_64', KernelType.ORDINARY), + ('7.9', '3.10.0-1160.rt56.1131.el7.x86_64', KernelType.REALTIME), + ('8.7', '4.18.0-425.3.1.el8.x86_64', KernelType.ORDINARY), + ('8.7', '4.18.0-425.3.1.rt7.213.el8.x86_64', KernelType.REALTIME), + ('9.2', '5.14.0-284.11.1.el9_2.x86_64', KernelType.ORDINARY), + ('9.2', '5.14.0-284.11.1.rt14.296.el9_2.x86_64', KernelType.REALTIME), + ('9.3', '5.14.0-354.el9.x86_64', KernelType.ORDINARY), + ('9.3', '5.14.0-354.el9.x86_64+rt', KernelType.REALTIME), + ) +) +def test_determine_kernel_type_from_uname(rhel_version, uname_r, expected_kernel_type): + kernel_type = kernel_lib.determine_kernel_type_from_uname(rhel_version, uname_r) + assert kernel_type == expected_kernel_type + + +def test_get_uname_r_provided_by_kernel_pkg(monkeypatch): + kernel_nevra = 'kernel-core-5.14.0-354.el9.x86_64' + + def run_mocked(cmd, *args, **kwargs): + assert cmd == ['rpm', '-q', '--provides', kernel_nevra] + output_lines = [ + 'kmod(virtio_ring.ko)', + 'kernel(zlib_inflate_blob) = 0x65408378', + 'kernel-uname-r = 5.14.0-354.el9.x86_64' + ] + return {'stdout': output_lines} + + monkeypatch.setattr(kernel_lib, 'run', run_mocked) + + uname_r = kernel_lib.get_uname_r_provided_by_kernel_pkg(kernel_nevra) + assert uname_r == '5.14.0-354.el9.x86_64' + + +@pytest.mark.parametrize('kernel_pkg_with_uname_installed', (True, False)) +def test_get_kernel_pkg_info_for_uname_r(monkeypatch, kernel_pkg_with_uname_installed): + uname_r = '5.14.0-354.el9.x86_64' if kernel_pkg_with_uname_installed else 'other-uname' + + def run_mocked(cmd, *args, **kwargs): + assert cmd[0:3] == ['rpm', '-q', '--whatprovides'] + output_lines = [ + 'kernel-core-5.14.0-354.el9.x86_64.rpm', + 'kernel-rt-core-5.14.0-354.el9.x86_64.rpm', + ] + return {'stdout': output_lines} + + def get_uname_provided_by_pkg_mocked(pkg_nevra): + nevra_uname_table = { + 'kernel-core-5.14.0-354.el9.x86_64.rpm': '5.14.0-354.el9.x86_64', + 'kernel-rt-core-5.14.0-354.el9.x86_64.rpm': '5.14.0-354.el9.x86_64+rt' + } + return nevra_uname_table[pkg_nevra] # Will raise if a different nevra is used than ones from run_mocked + + monkeypatch.setattr(kernel_lib, 'run', run_mocked) + monkeypatch.setattr(kernel_lib, 'get_uname_r_provided_by_kernel_pkg', get_uname_provided_by_pkg_mocked) + + mk_pkg_info = functools.partial(kernel_lib.KernelPkgInfo, name='', version='', release='', arch='') + monkeypatch.setattr(kernel_lib, + 'get_kernel_pkg_info', + lambda dummy_nevra: mk_pkg_info(nevra=dummy_nevra)) + + if kernel_pkg_with_uname_installed: + pkg_info = kernel_lib.get_kernel_pkg_info_for_uname_r(uname_r) + assert pkg_info == mk_pkg_info(nevra='kernel-core-5.14.0-354.el9.x86_64.rpm') + else: + with pytest.raises(StopActorExecutionError): + pkg_info = kernel_lib.get_kernel_pkg_info_for_uname_r(uname_r) diff --git a/repos/system_upgrade/common/libraries/tests/test_mdraid.py b/repos/system_upgrade/common/libraries/tests/test_mdraid.py new file mode 100644 index 0000000..cb7c105 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_mdraid.py @@ -0,0 +1,108 @@ +import os + +import pytest + +from leapp.libraries.common import mdraid +from leapp.libraries.common.testutils import logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError + +MD_DEVICE = '/dev/md0' +NOT_MD_DEVICE = '/dev/sda' + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def raise_call_error(args=None): + raise CalledProcessError( + message='A Leapp Command Error occurred.', + command=args, + result={'signal': None, 'exit_code': 1, 'pid': 0, 'stdout': 'fake', 'stderr': 'fake'} + ) + + +class RunMocked(object): + + def __init__(self, raise_err=False): + self.called = 0 + self.args = None + self.raise_err = raise_err + + def __call__(self, args, encoding=None): + self.called += 1 + self.args = args + if self.raise_err: + raise_call_error(args) + + if self.args == ['mdadm', '--query', MD_DEVICE]: + stdout = '/dev/md0: 1022.00MiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.' + elif self.args == ['mdadm', '--query', NOT_MD_DEVICE]: + stdout = '/dev/sda: is not an md array' + + elif self.args == ['mdadm', '--detail', '--verbose', '--brief', MD_DEVICE]: + stdout = 'ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=c4acea6e:d56e1598:91822e3f:fb26832c\n devices=/dev/sda1,/dev/sdb1' # noqa: E501; pylint: disable=line-too-long + elif self.args == ['mdadm', '--detail', '--verbose', '--brief', NOT_MD_DEVICE]: + stdout = 'mdadm: /dev/sda does not appear to be an md device' + + return {'stdout': stdout} + + +@pytest.mark.parametrize('dev,expected', [(MD_DEVICE, True), (NOT_MD_DEVICE, False)]) +def test_is_mdraid_dev(monkeypatch, dev, expected): + run_mocked = RunMocked() + monkeypatch.setattr(mdraid, 'run', run_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(os.path, 'exists', lambda dummy: True) + + result = mdraid.is_mdraid_dev(dev) + assert mdraid.run.called == 1 + assert expected == result + assert not api.current_logger.warnmsg + + +def test_is_mdraid_dev_error(monkeypatch): + run_mocked = RunMocked(raise_err=True) + monkeypatch.setattr(mdraid, 'run', run_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(os.path, 'exists', lambda dummy: True) + + with pytest.raises(CalledProcessError) as err: + mdraid.is_mdraid_dev(MD_DEVICE) + + assert mdraid.run.called == 1 + expect_msg = 'Could not check if device "{}" is an md device:'.format(MD_DEVICE) + assert expect_msg in err.value.message + + +def test_is_mdraid_dev_notool(monkeypatch): + run_mocked = RunMocked(raise_err=True) + monkeypatch.setattr(mdraid, 'run', run_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(os.path, 'exists', lambda dummy: False) + + result = mdraid.is_mdraid_dev(MD_DEVICE) + assert not result + assert not mdraid.run.called + assert api.current_logger.warnmsg + + +def test_get_component_devices_ok(monkeypatch): + run_mocked = RunMocked() + monkeypatch.setattr(mdraid, 'run', run_mocked) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + result = mdraid.get_component_devices(MD_DEVICE) + assert mdraid.run.called == 1 + assert ['/dev/sda1', '/dev/sdb1'] == result + assert not api.current_logger.warnmsg + + +def test_get_component_devices_not_md_device(monkeypatch): + run_mocked = RunMocked() + monkeypatch.setattr(mdraid, 'run', run_mocked) + + with pytest.raises(ValueError) as err: + mdraid.get_component_devices(NOT_MD_DEVICE) + + assert mdraid.run.called == 1 + expect_msg = 'Expected md device, but got: {}'.format(NOT_MD_DEVICE) + assert expect_msg in str(err.value) diff --git a/repos/system_upgrade/common/libraries/tests/test_multipathutil.py b/repos/system_upgrade/common/libraries/tests/test_multipathutil.py new file mode 100644 index 0000000..3ddfcdd --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_multipathutil.py @@ -0,0 +1,115 @@ +import leapp.libraries.common.multipathutil as lib + + +def test_no_config(): + content = lib.read_config('/this/does/not/exist') + assert content is None + + +def test_blank_line(): + data = lib.LineData('', None, False) + assert data.type == data.TYPE_BLANK + data = lib.LineData(' ', 'devices', True) + assert data.type == data.TYPE_BLANK + data = lib.LineData('# comment at start of line', 'defaults', False) + assert data.type == data.TYPE_BLANK + data = lib.LineData(' ! alternate comment method!!!', 'blacklist', True) + assert data.type == data.TYPE_BLANK + data = lib.LineData('# } still a comment', None, False) + assert data.type == data.TYPE_BLANK + data = lib.LineData(' # "also a comment!"', "multipaths", True) + assert data.type == data.TYPE_BLANK + data = lib.LineData(' "ignore lines starting with a string"', None, False) + assert data.type == data.TYPE_BLANK + + +def test_section_end(): + data = lib.LineData('}', None, False) + assert data.type == data.TYPE_SECTION_END + data = lib.LineData(' } # trailing comment', 'devices', True) + assert data.type == data.TYPE_SECTION_END + data = lib.LineData(' } JUNK AFTERWARDS', 'defaults', False) + assert data.type == data.TYPE_SECTION_END + data = lib.LineData('\t \t} !!tabs', 'multipaths', True) + assert data.type == data.TYPE_SECTION_END + + +def test_section_start(): + sections = ('defaults', 'blacklist', 'blacklist_exceptions', 'devices', + 'overrides', 'multipaths') + subsections = {'blacklist': 'device', 'blacklist_exceptions': 'device', + 'devices': 'device', 'multipaths': 'multipath'} + for section in sections: + data = lib.LineData(section + ' {', None, False) + assert data.type == data.TYPE_SECTION_START + assert data.section == section + + try: + data = lib.LineData('not_a_section {', None, False) + assert False + except ValueError: + pass + + data = lib.LineData('defaults # works even without brace', None, False) + assert data.type == data.TYPE_SECTION_START + assert data.section == 'defaults' + + data = lib.LineData('\t \tmultipaths { # tabs', None, False) + assert data.type == data.TYPE_SECTION_START + assert data.section == 'multipaths' + + data = lib.LineData('devices{ # do not need a space', None, False) + assert data.type == data.TYPE_SECTION_START + assert data.section == 'devices' + + for section in subsections: + data = lib.LineData(subsections[section] + ' {', section, False) + assert data.type == data.TYPE_SECTION_START + assert data.section == subsections[section] + + data = lib.LineData('devices { # wrong section', 'multipath', False) + assert data.type != data.TYPE_SECTION_START + + data = lib.LineData('devices { # already in subsection', 'device', True) + assert data.type != data.TYPE_SECTION_START + + +def test_option(): + data = lib.LineData('key value', 'defaults', False) + assert data.type == data.TYPE_OPTION + assert data.option == 'key' + assert data.value == 'value' + + data = lib.LineData('key value # comment', 'devices', True) + assert data.option == 'key' + assert data.value == 'value' + + data = lib.LineData(' key value "extra string"', 'multipaths', True) + assert data.option == 'key' + assert data.value == 'value' + + data = lib.LineData(' \t\tkey "string value" junk', 'blacklist', False) + assert data.option == 'key' + assert data.value == 'string value' + + try: + data = lib.LineData('key # comment', 'devices', True) + assert False + except ValueError: + pass + + +def test_enabled(): + values = (('yes', True), ('1', True), ('no', False), ('0', False)) + for value, is_enabled in values: + data = lib.LineData('key ' + value, 'defaults', False) + assert data.type == data.TYPE_OPTION + assert data.option == 'key' + assert data.value == value + assert data.is_enabled() == is_enabled + + data = lib.LineData('key neither_yes_nor_no', 'defaults', False) + assert data.type == data.TYPE_OPTION + assert data.option == 'key' + assert data.value == 'neither_yes_nor_no' + assert data.is_enabled() is None diff --git a/repos/system_upgrade/common/libraries/tests/test_persistentnetnames_library.py b/repos/system_upgrade/common/libraries/tests/test_persistentnetnames_library.py new file mode 100644 index 0000000..2c39988 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_persistentnetnames_library.py @@ -0,0 +1,57 @@ +from leapp.libraries.common import persistentnetnames +from leapp.libraries.common.testutils import produce_mocked +from leapp.libraries.stdlib import api + + +class AttributesTest(object): + def __init__(self): + self.attributes = { + 'address': b'fa:16:3e:cd:26:5a' + } + + def get(self, attribute): + if attribute in self.attributes: + return self.attributes[attribute] + raise KeyError + + +class DeviceTest(object): + def __init__(self): + self.dict_data = { + 'ID_NET_DRIVER': 'virtio_net', + 'ID_VENDOR_ID': '0x1af4', + 'ID_PATH': 'pci-0000:00:03.0', + } + + def __getitem__(self, key): + if key in self.dict_data: + return self.dict_data[key] + raise KeyError + + @property + def sys_name(self): + return 'eth' + + @property + def device_path(self): + return '/devices/pci0000:00/0000:00:03.0/virtio0/net/eth0' + + @property + def attributes(self): + return AttributesTest() + + +def provide_test_interfaces(): + return [DeviceTest()] + + +def test_getting_interfaces(monkeypatch): + monkeypatch.setattr(persistentnetnames, 'physical_interfaces', provide_test_interfaces) + monkeypatch.setattr(api, 'produce', produce_mocked()) + interface = next(persistentnetnames.interfaces()) + assert interface.name + assert interface.devpath + assert interface.driver + assert interface.vendor + assert interface.pci_info + assert interface.mac diff --git a/repos/system_upgrade/common/libraries/tests/test_repofileutils.py b/repos/system_upgrade/common/libraries/tests/test_repofileutils.py new file mode 100644 index 0000000..51cc1c1 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_repofileutils.py @@ -0,0 +1,50 @@ +import json +import os + +from leapp.libraries.common import repofileutils + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def test_invert_dict(): + input_dict = {1: ['a', 'b'], 2: ['b'], 3: []} + inv_dict = repofileutils._invert_dict(input_dict) + assert inv_dict == {'a': [1], 'b': [1, 2]} + + +def test_parse_repofile(): + repofile = repofileutils.parse_repofile(os.path.join(CUR_DIR, 'sample_repos.txt')) + + repo_appstream = [repo for repo in repofile.data if repo.repoid == 'AppStream'][0] + assert repo_appstream.name == 'CentOS-$releasever - AppStream' + assert repo_appstream.baseurl is None # comments shouldn't get parsed + assert repo_appstream.metalink is None + assert repo_appstream.mirrorlist == ('http://mirrorlist.centos.org/?release=$releasever' + '&arch=$basearch&repo=AppStream&infra=$infra') + assert repo_appstream.enabled is True + additional_appstream = json.loads(repo_appstream.additional_fields) + assert additional_appstream['gpgcheck'] == '1' + assert additional_appstream['gpgkey'] == 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial' + assert additional_appstream['cost'] == '77' + assert additional_appstream.get('baseurl') is None + + repo_leapp = [repo for repo in repofile.data if repo.repoid == 'leapp-copr'][0] + assert repo_leapp.name == 'Copr repo for devel Leapp builds' + assert repo_leapp.baseurl == 'http://coprbe.devel.redhat.com/results/oam-group/leapp/rhel-7-x86_64/' + assert repo_leapp.metalink is None + assert repo_leapp.mirrorlist is None + assert repo_leapp.enabled is False + additional_leapp = json.loads(repo_leapp.additional_fields) + assert additional_leapp['type'] == 'rpm-md' + assert additional_leapp['skip_if_unavailable'] == 'True' + assert additional_leapp['gpgcheck'] == '0' + assert additional_leapp['gpgkey'] == 'http://coprbe.devel.redhat.com/results/oam-group/leapp/pubkey.gpg' + assert additional_leapp['repo_gpgcheck'] == '0' + assert additional_leapp['enabled_metadata'] == '1' + assert len(additional_leapp) == 6 + + assert len([repo for repo in repofile.data if repo.repoid == 'spe-ci_al.cha:rs']) == 1 + + repos_duplicate = [repo for repo in repofile.data if repo.repoid == 'duplicate'] + assert len(repos_duplicate) == 1 # only one instance got through + assert repos_duplicate[0].name == 'Duplicate 2' # and it's the latter one diff --git a/repos/system_upgrade/common/libraries/tests/test_rhsm.py b/repos/system_upgrade/common/libraries/tests/test_rhsm.py new file mode 100644 index 0000000..a6dbea9 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_rhsm.py @@ -0,0 +1,387 @@ +import os +from collections import namedtuple + +import pytest + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import repofileutils, rhsm +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import RepositoryData, RepositoryFile +from leapp.utils.report import is_inhibitor + +Repository = namedtuple('Repository', ['repoid', 'file']) +LIST_SEPARATOR = '\n - ' + +# External commands called by the RHSM library +CMD_RHSM_LIST_CONSUMED = ('subscription-manager', 'list', '--consumed') +CMD_RHSM_STATUS = ('subscription-manager', 'status') +CMD_RHSM_RELEASE = ('subscription-manager', 'release') +CMD_RHSM_LIST_ENABLED_REPOS = ('subscription-manager', 'repos', '--list-enabled') + +RHSM_STATUS_OUTPUT_NOSCA = ''' ++-------------------------------------------+ + System Status Details ++-------------------------------------------+ +Overall Status: Current + +System Purpose Status: Not Specified +''' + +RHSM_STATUS_OUTPUT_SCA = ''' ++-------------------------------------------+ + System Status Details ++-------------------------------------------+ +Overall Status: Current + +System Purpose Status: Matched + +Content Access Mode is set to Simple Content Access +''' + +# Used to simulate realistic output of RHSM, therefore carries more information than `Repository` namedtuple +RHSMRepositoryEntry = namedtuple('RHSMRepositoryEntry', ('id', 'name', 'url', 'enabled')) # For clarity purposes +RHSM_ENABLED_REPOS = [ + RHSMRepositoryEntry( + id='rhel-8-for-x86_64-appstream-rpms', + name='Appstream', + url='some_url', + enabled='1'), + RHSMRepositoryEntry( + id='satellite-tools-6.6-for-rhel-8-x86_64-rpms', + name='Satellite', + url='some_url', + enabled='1'), + RHSMRepositoryEntry( + id='rhel-8-for-x86_64-baseos-rpms', + name='Base', + url='some_url', + enabled='1') +] + + +class IsolatedActionsMocked(object): + def __init__(self, call_stdout=None, raise_err=False): + self.commands_called = [] + self.call_return = {'stdout': call_stdout, 'stderr': None} + self.raise_err = raise_err + + # A map from called commands to their mocked output + self.mocked_command_call_outputs = dict() + + def call(self, cmd, *args, **dummy_kwargs): + self.commands_called.append(cmd) + if self.raise_err: + raise_call_error(cmd) + + return self.mocked_command_call_outputs.get( + tuple(cmd), # Cast to tuple, as list is not hashable + self.call_return) + + def add_mocked_command_call_with_stdout(self, cmd, stdout): + # We cast `cmd` from list to tuple, as a list cannot be hashed + self.mocked_command_call_outputs[tuple(cmd)] = { + 'stdout': stdout, + 'stderr': None} + + def full_path(self, path): + return path + + +@pytest.fixture +def actor_mocked(monkeypatch): + """ + Fixture providing a mocked actor that was already used to monkeypatch api.current_actor. + + Introduced to reduce repetition inside tests. + """ + actor = CurrentActorMocked() + monkeypatch.setattr(api, 'current_actor', actor) + return actor + + +@pytest.fixture +def context_mocked(): + return IsolatedActionsMocked() + + +def raise_call_error(args=None, exit_code=1): + raise CalledProcessError( + message='Command {0} failed with exit code {1}.'.format(str(args), exit_code), + command=args, + result={'signal': None, 'exit_code': exit_code, 'pid': 0, 'stdout': 'fake out', 'stderr': 'fake err'} + ) + + +def _gen_repo(repoid): + return RepositoryData(repoid=repoid, name='name {}'.format(repoid)) + + +def _gen_repofile(rfile, data=None): + if data is None: + data = [_gen_repo("{}-{}".format(rfile.split("/")[-1], i)) for i in range(3)] + return RepositoryFile(file=rfile, data=data) + + +@pytest.mark.parametrize('other_repofiles', [ + [], + [_gen_repofile("foo")], + [_gen_repofile("foo"), _gen_repofile("bar")], +]) +@pytest.mark.parametrize('rhsm_repofile', [ + None, + _gen_repofile(rhsm._DEFAULT_RHSM_REPOFILE, []), + _gen_repofile(rhsm._DEFAULT_RHSM_REPOFILE, [_gen_repo("rh-0")]), + _gen_repofile(rhsm._DEFAULT_RHSM_REPOFILE), +]) +def test_get_available_repo_ids(monkeypatch, other_repofiles, rhsm_repofile): + context_mocked = IsolatedActionsMocked() + repos = other_repofiles[:] + if rhsm_repofile: + repos.append(rhsm_repofile) + rhsm_repos = [repo.repoid for repo in rhsm_repofile.data] if rhsm_repofile else [] + + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(rhsm, '_inhibit_on_duplicate_repos', lambda x: None) + monkeypatch.setattr(repofileutils, 'get_parsed_repofiles', lambda x: repos) + + result = rhsm.get_available_repo_ids(context_mocked) + + rhsm_repos.sort() + assert context_mocked.commands_called == [['yum', 'clean', 'all']] + assert result == rhsm_repos + if result: + msg = ( + 'The following repoids are available through RHSM:{0}{1}' + .format(LIST_SEPARATOR, LIST_SEPARATOR.join(rhsm_repos)) + ) + assert msg in api.current_logger.infomsg + else: + assert 'There are no repos available through RHSM.' in api.current_logger.infomsg + + +def test_get_available_repo_ids_error(): + context_mocked = IsolatedActionsMocked(raise_err=True) + + with pytest.raises(StopActorExecutionError) as err: + rhsm.get_available_repo_ids(context_mocked) + + assert 'Unable to use yum' in str(err) + + +def test_inhibit_on_duplicate_repos(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + repofiles = [ + _gen_repofile("foo", [_gen_repo('repoX'), _gen_repo('repoY')]), + _gen_repofile("bar", [_gen_repo('repoX')]), + ] + + rhsm._inhibit_on_duplicate_repos(repofiles) + + dups = ['repoX'] + assert ('The following repoids are defined multiple times:{0}{1}' + .format(LIST_SEPARATOR, LIST_SEPARATOR.join(dups))) in api.current_logger.warnmsg + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert reporting.create_report.report_fields['title'] == 'A YUM/DNF repository defined multiple times' + summary = ('The following repositories are defined multiple times:{0}{1}' + .format(LIST_SEPARATOR, LIST_SEPARATOR.join(dups))) + assert summary in reporting.create_report.report_fields['summary'] + + +def test_inhibit_on_duplicate_repos_no_dups(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + rhsm._inhibit_on_duplicate_repos([_gen_repofile("foo")]) + + assert not api.current_logger.warnmsg + assert reporting.create_report.called == 0 + + +def test_sku_listing(monkeypatch, actor_mocked, context_mocked): + """Tests whether the rhsm library can obtain used SKUs correctly.""" + context_mocked.add_mocked_command_call_with_stdout(CMD_RHSM_LIST_CONSUMED, 'SKU: 598339696910') + + attached_skus = rhsm.get_attached_skus(context_mocked) + + assert_fail_description = 'Some calls to subscription-manager were expected.' + assert context_mocked.commands_called, assert_fail_description + + assert_fail_description = 'RHSM command reported 1 SKU, however {0} were detected.'.format( + len(attached_skus) + ) + assert len(attached_skus) == 1, assert_fail_description + + assert_fail_description = 'The parsed SKU is different than the one contained in the mocked RHSM output.' + assert attached_skus[0] == '598339696910', assert_fail_description + + +def test_scanrhsminfo_with_skip_rhsm(monkeypatch, context_mocked): + """Tests whether the scan_rhsm_info respects the LEAPP_NO_RHSM environmental variable.""" + mocked_actor = CurrentActorMocked(envars={'LEAPP_NO_RHSM': '1'}) + monkeypatch.setattr(api, 'current_actor', mocked_actor) + + result = rhsm.scan_rhsm_info(context_mocked) + + assert_fail_description = 'No external shell commands should be executed when RHSM is skipped.' + assert not context_mocked.commands_called, assert_fail_description + + assert result is None, 'The `scan_rhsm_info` should not provide any output when RHSM is skipped.' + + +def test_get_release(monkeypatch, actor_mocked, context_mocked): + """Tests whether the library correctly retrieves release from RHSM.""" + context_mocked.add_mocked_command_call_with_stdout(CMD_RHSM_RELEASE, 'Release: 7.9') + + release = rhsm.get_release(context_mocked) + + assert release, 'No release information detected (but valid release info was provided).' + assert release == '7.9', 'Detected release is incorrect.' + + +def test_get_release_with_release_not_set(monkeypatch, actor_mocked, context_mocked): + """Tests whether the library does not retrieve release information when the release is not set.""" + # Test whether no release is detected correctly too + context_mocked.add_mocked_command_call_with_stdout(CMD_RHSM_RELEASE, 'Release not set') + + release = rhsm.get_release(context_mocked) + + fail_description = 'The release information was obtained, even if "No release set" was repored by rhsm.' + assert not release, fail_description + + +def test_is_manifest_sca_on_nonsca_system(monkeypatch, actor_mocked, context_mocked): + """Tests whether the library obtains the SCA information correctly from a non-SCA system.""" + context_mocked.add_mocked_command_call_with_stdout(CMD_RHSM_STATUS, RHSM_STATUS_OUTPUT_NOSCA) + + is_sca = rhsm.is_manifest_sca(context_mocked) + assert not is_sca, 'SCA was detected on a non-SCA system.' + + +def test_is_manifest_sca_on_sca_system(monkeypatch, actor_mocked, context_mocked): + """Tests whether the library obtains the SCA information from SCA system correctly.""" + context_mocked.add_mocked_command_call_with_stdout(CMD_RHSM_STATUS, RHSM_STATUS_OUTPUT_SCA) + + is_sca = rhsm.is_manifest_sca(context_mocked) + assert is_sca, 'Failed to detected SCA on a SCA system.' + + +def test_get_enabled_repo_ids(monkeypatch, actor_mocked, context_mocked): + """Tests whether the library retrieves correct information about enabled repositories.""" + # Prepare the (realistic) RHSM output + rhsm_list_enabled_output = ''' + +----------------------------------------------------------+ + Available Repositories in /etc/yum.repos.d/redhat.repo + +----------------------------------------------------------+ + ''' + + for enabled_repository in RHSM_ENABLED_REPOS: + rhsm_output_fragment = 'Repo ID: {0}\n'.format(enabled_repository.id) + rhsm_output_fragment += 'Repo Name: {0}\n'.format(enabled_repository.name) + rhsm_output_fragment += 'Repo URL: {0}\n'.format(enabled_repository.url) + rhsm_output_fragment += 'Enabled: {0}\n'.format(enabled_repository.enabled) + rhsm_output_fragment += '\n' + rhsm_list_enabled_output += rhsm_output_fragment + + context_mocked.add_mocked_command_call_with_stdout(CMD_RHSM_LIST_ENABLED_REPOS, rhsm_list_enabled_output) + + enabled_repo_ids = rhsm.get_enabled_repo_ids(context_mocked) + + fail_description = 'Failed to detected enabled repositories on the system.' + assert len(enabled_repo_ids) == 3, fail_description + + fail_description = 'Failed to retrieve repository ID provided in the RHSM output.' + for enabled_repository in RHSM_ENABLED_REPOS: + assert enabled_repository.id in enabled_repo_ids, fail_description + + +def test_get_existing_product_certificates(monkeypatch, actor_mocked, context_mocked): + """Verifies that the library is able to correctly retrieve existing product certificates.""" + + CERT_DIRS_LAYOUT = { + '/etc/pki/product': ['cert1', 'cert2'], + '/etc/pki/product-default': ['cert3'] + } + + def mocked_isdir(path): + if path in CERT_DIRS_LAYOUT: + return True + err_message = 'RHSM library should not gather info about additional dirs (attempted to isdir: {0}).' + raise ValueError(err_message.format(path)) + + def mocked_listdir(path): + if path in CERT_DIRS_LAYOUT: + return CERT_DIRS_LAYOUT[path] + err_message = 'RHSM library should not listdir additional dirs (attempted to listdir: {0}).' + raise ValueError(err_message.format(path)) + + def mocked_isfile(path): + if path in CERT_DIRS_LAYOUT: + # The certificate directories are not files + return False + + basename = os.path.basename(path) + dirname = os.path.dirname(path) + if dirname in CERT_DIRS_LAYOUT: + return basename in CERT_DIRS_LAYOUT[dirname] + + err_message = 'RHSM library should not isfile additional paths (attempted to isfile: {0}).' + raise ValueError(err_message.format(path)) + + monkeypatch.setattr(rhsm.os.path, 'isdir', mocked_isdir) + monkeypatch.setattr(rhsm.os, 'listdir', mocked_listdir) + monkeypatch.setattr(rhsm.os.path, 'isfile', mocked_isfile) + + existing_product_certificates = rhsm.get_existing_product_certificates(context_mocked) + + fail_description = 'Retrieved different number of certificates than expected.' + assert len(existing_product_certificates) == 3, fail_description + + fail_description_bad_dir = 'Found certificate in unexpected path: {0}' + fail_description_bad_cert_file = 'Found certificate file that was not provided by mocked output: {0}' + for certificate_path in existing_product_certificates: + dirname = os.path.dirname(certificate_path) + basename = os.path.basename(certificate_path) + assert dirname in CERT_DIRS_LAYOUT, fail_description_bad_dir.format(certificate_path) + assert basename in CERT_DIRS_LAYOUT[dirname], fail_description_bad_cert_file.format(certificate_path) + + +def test_get_existing_product_certificates_missing_cert_directory(monkeypatch, actor_mocked, context_mocked): + """Tests whether the library is able to retrieve certificates even if /etc/pki/product is missing.""" + + def mocked_isdir(path): + if path == '/etc/pki/product': + return False # Directory is missing + if path == '/etc/pki/product-default': + return True + + err_msg = 'Tried to isdir a path that is not a part of the mocked paths. Path: {0}' + raise ValueError(err_msg.format(path)) + + def mocked_isfile(path): + if path == '/etc/pki/product-default/cert': + return True + + err_msg = 'Tried to use isfile on a path that is not a part of the mocked paths. Path: {0}' + raise ValueError(err_msg.format(path)) + + def mocked_listdir(path): + if path == '/etc/pki/product-default': + return ['cert'] + + err_msg = 'Tried to use listdir on a path that is not a part of the mocked paths. Path: {0}' + raise ValueError(err_msg.format(path)) + + monkeypatch.setattr(rhsm.os.path, 'isdir', mocked_isdir) + monkeypatch.setattr(rhsm.os, 'listdir', mocked_listdir) + monkeypatch.setattr(rhsm.os.path, 'isfile', mocked_isfile) + + existing_product_certificates = rhsm.get_existing_product_certificates(context_mocked) + + fail_description = 'Library identified more certificates than there are in mocked outputs.' + assert len(existing_product_certificates) == 1, fail_description + fail_description = 'Library failed to identify certificate from mocked outputs.' + assert existing_product_certificates[0] == '/etc/pki/product-default/cert', fail_description diff --git a/repos/system_upgrade/common/libraries/tests/test_rpms.py b/repos/system_upgrade/common/libraries/tests/test_rpms.py new file mode 100644 index 0000000..39a32dc --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_rpms.py @@ -0,0 +1,32 @@ +from leapp.libraries.common.rpms import _parse_config_modification + + +def test_parse_config_modification(): + # Empty means no modification + data = [] + assert not _parse_config_modification(data, "/etc/ssh/sshd_config") + + # This one was modified + data = [ + "S.5....T. c /etc/ssh/sshd_config", + ] + assert _parse_config_modification(data, "/etc/ssh/sshd_config") + + # This one was just touched (timestamp does not match) + data = [ + ".......T. c /etc/ssh/sshd_config", + ] + assert not _parse_config_modification(data, "/etc/ssh/sshd_config") + + # This one was not modified (not listed at all) + data = [ + ".......T. c /etc/sysconfig/sshd", + ] + assert not _parse_config_modification(data, "/etc/ssh/sshd_config") + + # Parse multiple lines + data = [ + "S.5....T. c /etc/sysconfig/sshd", + "S.5....T. c /etc/ssh/sshd_config", + ] + assert _parse_config_modification(data, "/etc/ssh/sshd_config") diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd.py b/repos/system_upgrade/common/libraries/tests/test_systemd.py new file mode 100644 index 0000000..a91fce1 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_systemd.py @@ -0,0 +1,263 @@ +import os +from functools import partial + +import pytest + +from leapp.libraries.common import systemd +from leapp.libraries.common.testutils import logger_mocked +from leapp.libraries.stdlib import api +from leapp.models import SystemdServiceFile, SystemdServicePreset + +CURR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def test_get_service_files(monkeypatch): + def run_mocked(cmd, *args, **kwargs): + if cmd == ['systemctl', 'list-unit-files'] + systemd._SYSTEMCTL_CMD_OPTIONS: + return {'stdout': [ + 'auditd.service enabled', + 'crond.service enabled ', + 'dbus.service static ', + 'dnf-makecache.service static ', + 'firewalld.service enabled ', + 'getty@.service enabled ', + 'gssproxy.service disabled', + 'kdump.service enabled ', + 'mdmon@.service static ', + 'nfs.service disabled', + 'polkit.service static ', + 'rescue.service static ', + 'rngd.service enabled ', + 'rsyncd.service disabled', + 'rsyncd@.service static ', + 'smartd.service enabled ', + 'sshd.service enabled ', + 'sshd@.service static ', + 'wpa_supplicant.service disabled' + ]} + raise ValueError('Attempted to call unexpected command: {}'.format(cmd)) + + monkeypatch.setattr(systemd, 'run', run_mocked) + service_files = systemd.get_service_files() + + expected = [ + SystemdServiceFile(name='auditd.service', state='enabled'), + SystemdServiceFile(name='crond.service', state='enabled'), + SystemdServiceFile(name='dbus.service', state='static'), + SystemdServiceFile(name='dnf-makecache.service', state='static'), + SystemdServiceFile(name='firewalld.service', state='enabled'), + SystemdServiceFile(name='getty@.service', state='enabled'), + SystemdServiceFile(name='gssproxy.service', state='disabled'), + SystemdServiceFile(name='kdump.service', state='enabled'), + SystemdServiceFile(name='mdmon@.service', state='static'), + SystemdServiceFile(name='nfs.service', state='disabled'), + SystemdServiceFile(name='polkit.service', state='static'), + SystemdServiceFile(name='rescue.service', state='static'), + SystemdServiceFile(name='rngd.service', state='enabled'), + SystemdServiceFile(name='rsyncd.service', state='disabled'), + SystemdServiceFile(name='rsyncd@.service', state='static'), + SystemdServiceFile(name='smartd.service', state='enabled'), + SystemdServiceFile(name='sshd.service', state='enabled'), + SystemdServiceFile(name='sshd@.service', state='static'), + SystemdServiceFile(name='wpa_supplicant.service', state='disabled') + ] + + assert service_files == expected + + +def test_preset_files_overrides(): + etc_files = [ + '/etc/systemd/system-preset/00-abc.preset', + '/etc/systemd/system-preset/preset_without_prio.preset' + ] + usr_files = [ + '/usr/lib/systemd/system-preset/00-abc.preset', + '/usr/lib/systemd/system-preset/99-xyz.preset', + '/usr/lib/systemd/system-preset/preset_without_prio.preset' + ] + + expected = [ + '/usr/lib/systemd/system-preset/99-xyz.preset', + '/etc/systemd/system-preset/00-abc.preset', + '/etc/systemd/system-preset/preset_without_prio.preset' + ] + + presets = systemd._join_presets_resolving_overrides(etc_files, usr_files) + assert sorted(presets) == sorted(expected) + + +def test_preset_files_block_override(monkeypatch): + etc_files = [ + '/etc/systemd/system-preset/00-abc.preset' + ] + usr_files = [ + '/usr/lib/systemd/system-preset/00-abc.preset', + '/usr/lib/systemd/system-preset/99-xyz.preset' + ] + + expected = [ + '/usr/lib/systemd/system-preset/99-xyz.preset', + ] + + def islink_mocked(path): + return path == '/etc/systemd/system-preset/00-abc.preset' + + def readlink_mocked(path): + if path == '/etc/systemd/system-preset/00-abc.preset': + return '/dev/null' + raise OSError + + monkeypatch.setattr(os.path, 'islink', islink_mocked) + monkeypatch.setattr(os, 'readlink', readlink_mocked) + + presets = systemd._join_presets_resolving_overrides(etc_files, usr_files) + assert sorted(presets) == sorted(expected) + + +TEST_SYSTEMD_LOAD_PATH = [os.path.join(CURR_DIR, 'test_systemd_files/')] + +TESTING_PRESET_FILES = [ + os.path.join(CURR_DIR, '00-test.preset'), + os.path.join(CURR_DIR, '01-test.preset') +] + +TESTING_PRESET_WITH_INVALID_ENTRIES = os.path.join(CURR_DIR, '05-invalid.preset') + +_PARSE_PRESET_ENTRIES_TEST_DEFINITION = ( + ('enable example.service', {'example.service': 'enable'}), + ('disable abc.service', {'abc.service': 'disable'}), + ('enable template@.service', {'template@.service': 'enable'}), + ('disable template2@.service', {'template2@.service': 'disable'}), + ('disable template@.service instance1 instance2', { + 'template@instance1.service': 'disable', + 'template@instance2.service': 'disable' + }), + ('enable globbed*.service', {'globbed-one.service': 'enable', 'globbed-two.service': 'enable'}), + ('enable example.*', {'example.service': 'enable', 'example.socket': 'enable'}), + ('disable *', { + 'example.service': 'disable', + 'abc.service': 'disable', + 'template@.service': 'disable', + 'template2@.service': 'disable', + 'globbed-one.service': 'disable', + 'globbed-two.service': 'disable', + 'example.socket': 'disable', + 'extra.service': 'disable' + }) +) + + +@pytest.mark.parametrize('entry,expected', _PARSE_PRESET_ENTRIES_TEST_DEFINITION) +def test_parse_preset_entry(monkeypatch, entry, expected): + presets = {} + systemd._parse_preset_entry(entry, presets, TEST_SYSTEMD_LOAD_PATH) + assert presets == expected + + +@pytest.mark.parametrize( + 'entry', + [ + ('hello.service'), + ('mask hello.service'), + ('enable'), + ] +) +def test_parse_preset_entry_invalid(monkeypatch, entry): + presets = {} + with pytest.raises(ValueError, match=r'^Invalid preset file entry: '): + systemd._parse_preset_entry(entry, presets, TEST_SYSTEMD_LOAD_PATH) + + +def test_parse_preset_files(monkeypatch): + + expected = { + 'example.service': 'enable', + 'example.socket': 'disable', + 'abc.service': 'disable', + 'template@.service': 'disable', + 'template@instance1.service': 'enable', + 'template@instance2.service': 'enable', + 'globbed-one.service': 'enable', + 'globbed-two.service': 'enable', + 'extra.service': 'disable', + 'template2@.service': 'disable' + } + + presets = systemd._parse_preset_files(TESTING_PRESET_FILES, TEST_SYSTEMD_LOAD_PATH, False) + assert presets == expected + + +def test_parse_preset_files_invalid(): + with pytest.raises(ValueError): + systemd._parse_preset_files( + [TESTING_PRESET_WITH_INVALID_ENTRIES], TEST_SYSTEMD_LOAD_PATH, ignore_invalid_entries=False + ) + + +def test_parse_preset_files_ignore_invalid(monkeypatch): + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + invalid_preset_files = [TESTING_PRESET_WITH_INVALID_ENTRIES] + presets = systemd._parse_preset_files( + invalid_preset_files, TEST_SYSTEMD_LOAD_PATH, ignore_invalid_entries=True + ) + + for entry in ('enable', 'hello.service', 'mask hello.service'): + msg = 'Invalid preset file {}: Invalid preset file entry: "{}"'.format(invalid_preset_files[0], entry) + assert msg in api.current_logger.warnmsg + + assert presets == {'example.service': 'disable'} + + +def parse_preset_files_mocked(): + mocked = partial(systemd._parse_preset_files, load_path=TEST_SYSTEMD_LOAD_PATH) + + def impl(preset_files, load_path, ignore_invalid_entries): + return mocked(preset_files, ignore_invalid_entries=ignore_invalid_entries) + return impl + + +def test_get_service_preset_files(monkeypatch): + + def get_system_preset_files_mocked(): + return TESTING_PRESET_FILES + + monkeypatch.setattr(systemd, '_get_system_preset_files', get_system_preset_files_mocked) + monkeypatch.setattr(systemd, '_parse_preset_files', parse_preset_files_mocked()) + + service_files = [ + SystemdServiceFile(name='abc.service', state='transient'), + SystemdServiceFile(name='example.service', state='static'), + SystemdServiceFile(name='example.socket', state='masked'), + SystemdServiceFile(name='extra.service', state='disabled'), + SystemdServiceFile(name='template2@.service', state='enabled'), + SystemdServiceFile(name='template@.service', state='enabled'), + ] + + expected = [ + # dont expect example.service since it's static + # dont expect abc.service since it's transient + SystemdServicePreset(service='template@.service', state='disable'), + SystemdServicePreset(service='template@instance1.service', state='enable'), + SystemdServicePreset(service='template@instance2.service', state='enable'), + SystemdServicePreset(service='globbed-one.service', state='enable'), + SystemdServicePreset(service='globbed-two.service', state='enable'), + SystemdServicePreset(service='extra.service', state='disable'), + SystemdServicePreset(service='template2@.service', state='disable') + ] + + presets = systemd.get_system_service_preset_files(service_files, False) + assert sorted(presets, key=lambda e: e.service) == sorted(expected, key=lambda e: e.service) + + +def test_get_service_preset_files_invalid(monkeypatch): + + def get_system_preset_files_mocked(): + return [TESTING_PRESET_WITH_INVALID_ENTRIES] + + monkeypatch.setattr(systemd, '_get_system_preset_files', get_system_preset_files_mocked) + monkeypatch.setattr(systemd, '_parse_preset_files', parse_preset_files_mocked()) + + with pytest.raises(ValueError): + # doesn't matter what service_files are + systemd.get_system_service_preset_files([], ignore_invalid_entries=False) diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd_files/abc.service b/repos/system_upgrade/common/libraries/tests/test_systemd_files/abc.service new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd_files/example.service b/repos/system_upgrade/common/libraries/tests/test_systemd_files/example.service new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd_files/example.socket b/repos/system_upgrade/common/libraries/tests/test_systemd_files/example.socket new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd_files/extra.service b/repos/system_upgrade/common/libraries/tests/test_systemd_files/extra.service new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd_files/globbed-one.service b/repos/system_upgrade/common/libraries/tests/test_systemd_files/globbed-one.service new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd_files/globbed-two.service b/repos/system_upgrade/common/libraries/tests/test_systemd_files/globbed-two.service new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd_files/template2@.service b/repos/system_upgrade/common/libraries/tests/test_systemd_files/template2@.service new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/libraries/tests/test_systemd_files/template@.service b/repos/system_upgrade/common/libraries/tests/test_systemd_files/template@.service new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/common/libraries/tests/test_testutils.py b/repos/system_upgrade/common/libraries/tests/test_testutils.py new file mode 100644 index 0000000..c1581f6 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_testutils.py @@ -0,0 +1,23 @@ +import errno + +from leapp.libraries.common.testutils import make_IOError, make_OSError + + +def test_make_IOError(): + exception = make_IOError(errno.ENOENT) + assert isinstance(exception, IOError) + assert exception.errno == errno.ENOENT + + exception = make_IOError(errno.ENOTDIR) + assert isinstance(exception, IOError) + assert exception.errno == errno.ENOTDIR + + +def test_make_OSError(): + exception = make_OSError(errno.ENOENT) + assert isinstance(exception, OSError) + assert exception.errno == errno.ENOENT + + exception = make_OSError(errno.ENOTDIR) + assert isinstance(exception, OSError) + assert exception.errno == errno.ENOTDIR diff --git a/repos/system_upgrade/common/libraries/tests/test_utils_logging_handler.py b/repos/system_upgrade/common/libraries/tests/test_utils_logging_handler.py new file mode 100644 index 0000000..5582e35 --- /dev/null +++ b/repos/system_upgrade/common/libraries/tests/test_utils_logging_handler.py @@ -0,0 +1,49 @@ +# -*- coding: UTF-8 -*- +import os.path +import sys + +from leapp.libraries.common.utils import config, logging_handler +from leapp.libraries.stdlib.call import STDERR, STDOUT + + +def test_logging_handler(capfdbinary, monkeypatch): + debug_on = False + monkeypatch.setattr(config, 'is_debug', lambda: debug_on) + panagrams_path = os.path.join(os.path.dirname(__file__), 'panagrams') + with open(panagrams_path, 'rb') as f: + test_data = f.read() + + bin_test_data = test_data + if isinstance(test_data, str) and str is not bytes: + bin_test_data = test_data.encode() + # Should not log anything + for c in range(0, len(bin_test_data)): + logging_handler((None, STDERR), bin_test_data[c:c+1]) + debug_on = True + for c in range(0, len(bin_test_data)): + logging_handler((None, STDERR), bin_test_data[c:c+1]) + for c in range(0, len(bin_test_data)): + logging_handler((None, STDOUT), bin_test_data[c:c+1]) + captured = capfdbinary.readouterr() + assert captured.out == bin_test_data + assert captured.err == bin_test_data + + +def test_logging_handler_arrow(capfdbinary, monkeypatch): + debug_on = False + monkeypatch.setattr(config, 'is_debug', lambda: debug_on) + # → => '\xe2\x86\x92' + if sys.version_info > (3, 0): + buf = b'\xe2\x86\x92' + else: + buf = '\xe2\x86\x92' + + for i in range(0, len(buf)): + debug_on = False + logging_handler((None, STDERR), buf[i:i+1]) + debug_on = True + logging_handler((None, STDERR), buf[i:i+1]) + logging_handler((None, STDOUT), buf[i:i+1]) + captured = capfdbinary.readouterr() + assert captured.err == buf + assert captured.out == buf diff --git a/repos/system_upgrade/common/libraries/testutils.py b/repos/system_upgrade/common/libraries/testutils.py new file mode 100644 index 0000000..c538af1 --- /dev/null +++ b/repos/system_upgrade/common/libraries/testutils.py @@ -0,0 +1,189 @@ +import json +import logging +import os +from collections import namedtuple + +from leapp import reporting +from leapp.libraries.common.config import architecture +from leapp.models import EnvVar +from leapp.utils.deprecation import deprecated + + +class produce_mocked(object): + def __init__(self): + self.called = 0 + self.model_instances = [] + + def __call__(self, *model_instances): + self.called += len(model_instances) + self.model_instances.extend(list(model_instances)) + + +class create_report_mocked(object): + def __init__(self): + self.called = 0 + self.reports = [] + + def __call__(self, report_fields): + self.called += 1 + report_obj = reporting._create_report_object(report_fields) + full_report = json.loads(report_obj.dump()['report']) + self.reports.append(full_report) + + @property + def report_fields(self): + if self.reports: + return self.reports[-1] + return {} + + +class logger_mocked(object): + def __init__(self): + self.dbgmsg = [] + self.infomsg = [] + self.warnmsg = [] + self.errmsg = [] + + def debug(self, *args): + self.dbgmsg.extend(args) + + def info(self, *args): + self.infomsg.extend(args) + + @deprecated(since='2020-09-23', message=( + 'The logging.warn method has been deprecated since Python 3.3.' + 'Use the warning method instead.' + )) + def warn(self, *args): + self.warnmsg.extend(args) + + def warning(self, *args): + self.warnmsg.extend(args) + + def error(self, *args): + self.errmsg.extend(args) + + def __call__(self): + return self + + +class CurrentActorMocked(object): # pylint:disable=R0904 + def __init__(self, arch=architecture.ARCH_X86_64, envars=None, kernel='3.10.0-957.43.1.el7.x86_64', + release_id='rhel', src_ver='7.8', dst_ver='8.1', msgs=None, flavour='default'): + envarsList = [EnvVar(name=k, value=v) for k, v in envars.items()] if envars else [] + version = namedtuple('Version', ['source', 'target'])(src_ver, dst_ver) + release = namedtuple('OS_release', ['release_id', 'version_id'])(release_id, src_ver) + + self._common_folder = '../../files' + self._common_tools_folder = '../../tools' + self._actor_folder = 'files' + self._actor_tools_folder = 'tools' + self.configuration = namedtuple( + 'configuration', ['architecture', 'kernel', 'leapp_env_vars', 'os_release', 'version', 'flavour'] + )(arch, kernel, envarsList, release, version, flavour) + self._msgs = msgs or [] + + def __call__(self): + return self + + def get_common_folder_path(self, folder): + return os.path.join(self._common_folder, folder) + + def get_common_tool_path(self, name): + return os.path.join(self._common_tools_folder, name) + + def consume(self, model): + return iter(filter( # pylint:disable=W0110,W1639 + lambda msg: isinstance(msg, model), self._msgs + )) + + @property + def log(self): + return logging.getLogger(__name__) + + def get_actor_file_path(self, name): + return os.path.join(self._actor_folder, name) + + # other functions and properties from the API - can be implemented as needed + + def serialize(self): + raise NotImplementedError + + def get_answers(self, dialog): + raise NotImplementedError + + def show_message(self, message): + raise NotImplementedError + + @property + def actor_files_paths(self): + raise NotImplementedError + + @property + def files_paths(self): + raise NotImplementedError + + @property + def common_files_paths(self): + raise NotImplementedError + + @property + def actor_tools_paths(self): + raise NotImplementedError + + @property + def common_tools_paths(self): + raise NotImplementedError + + @property + def tools_paths(self): + raise NotImplementedError + + def get_folder_path(self, name): + raise NotImplementedError + + def get_actor_folder_path(self, name): + raise NotImplementedError + + def get_file_path(self, name): + raise NotImplementedError + + def get_common_file_path(self, name): + raise NotImplementedError + + def get_tool_path(self, name): + raise NotImplementedError + + def get_actor_tool_path(self, name): + raise NotImplementedError + + def run(self, *args): + raise NotImplementedError + + def produce(self, *models): + raise NotImplementedError + + def report_error(self, message, severity, details): + raise NotImplementedError + + +def make_IOError(error): + """ + Create an IOError instance + + Create an IOError instance with the given error number. + + :param error: the error number, e.g. errno.ENOENT + """ + return IOError(error, os.strerror(error)) + + +def make_OSError(error): + """ + Create an OSError instance + + Create an OSError instance with the given error number. + + :param error: the error number, e.g. errno.ENOENT + """ + return OSError(error, os.strerror(error)) diff --git a/repos/system_upgrade/common/libraries/utils.py b/repos/system_upgrade/common/libraries/utils.py new file mode 100644 index 0000000..cd3ad1a --- /dev/null +++ b/repos/system_upgrade/common/libraries/utils.py @@ -0,0 +1,242 @@ +import functools +import os +import sys + +import six + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import mounting +from leapp.libraries.stdlib import api, CalledProcessError, config, run, STDOUT +from leapp.utils.deprecation import deprecated + + +def parse_config(cfg=None, strict=True): + """ + Applies a workaround to parse a config file using py3 AND py2 + + ConfigParser has a new def to read strings/iles in Py3, making + the old ones (Py2) obsoletes, these function was created to use the + ConfigParser on Py2 and Py3 + + :type cfg: str + :type strict: bool + """ + if six.PY3: + parser = six.moves.configparser.ConfigParser(strict=strict) # pylint: disable=unexpected-keyword-arg + else: + parser = six.moves.configparser.ConfigParser() + + # we do not handle exception here, handle with it when these function is called + if cfg and six.PY3: + # Python 3 + if isinstance(cfg, six.string_types): + parser.read_string(cfg) + else: + parser.read_file(cfg) + elif cfg: + # Python 2 + from cStringIO import StringIO # pylint: disable=import-outside-toplevel + if isinstance(cfg, six.string_types): + parser.readfp(StringIO(cfg)) # pylint: disable=deprecated-method + else: + parser.readfp(cfg) # pylint: disable=deprecated-method + return parser + + +def makedirs(path, mode=0o777, exists_ok=True): + mounting._makedirs(path=path, mode=mode, exists_ok=exists_ok) + + +@deprecated(since='2022-02-03', message=( + 'The "apply_yum_workaround" function has been deprecated, use "DNFWorkaround" ' + 'message as used in the successive "RegisterYumAdjustment" actor.' + ) +) +def apply_yum_workaround(context=None): + """ + Applies a workaround on the system to allow the upgrade to succeed for yum/dnf. + """ + yum_script_path = api.get_tool_path('handleyumconfig') + if not yum_script_path: + raise StopActorExecutionError( + message='Failed to find mandatory script to apply', + details=reinstall_leapp_repository_hint() + ) + cmd = ['/bin/bash', '-c', yum_script_path] + + try: + context = context or mounting.NotIsolatedActions(base_dir='/') + context.call(cmd) + except OSError as e: + raise StopActorExecutionError( + message='Failed to execute script to apply yum adjustment. Message: {}'.format(str(e)) + ) + except CalledProcessError as e: + raise StopActorExecutionError( + message='Failed to apply yum adjustment. Message: {}'.format(str(e)) + ) + + +def logging_handler(fd_info, buf): + """ + Custom log handler to always show stdout to console and stderr only in DEBUG mode + """ + (_unused, fd_type) = fd_info + if fd_type != STDOUT and not config.is_debug(): + return + target = sys.stdout if fd_type == STDOUT else sys.stderr + if sys.version_info > (3, 0): + os.writev(target.fileno(), [buf]) + else: + target.write(buf) + + +def reinstall_leapp_repository_hint(): + """ + Convenience function for creating a detail for StopActorExecutionError with a hint to reinstall the + leapp-repository package + """ + return { + 'hint': 'Try to reinstall the `leapp-repository` package.' + } + + +def report_and_ignore_shutil_rmtree_error(func, path, exc_info): + """ + Helper function for shutil.rmtree to only report errors but don't fail. + """ + api.current_logger().warning( + 'While trying to remove directories: %s failed at %s with an exception %s message: %s', + func.__name__, path, exc_info[0].__name__, exc_info[1] + ) + + +def call_with_oserror_handled(cmd): + """ + Perform run with already handled OSError for some convenience. + """ + try: + run(cmd) + except OSError as e: + if cmd: + raise StopActorExecutionError( + message=str(e), + details={ + 'hint': 'Please ensure that {} is installed and executable.'.format(cmd[0]) + } + ) + raise StopActorExecutionError( + message='Failed to execute command {} with: {}'.format(''.join(cmd), str(e)) + ) + + +def call_with_failure_hint(cmd, hint): + """ + Perform `run` which handles OSError through call_with_oserror_handled and transforms CalledProcessError to a + StopActorExecutionError with a hint given by the caller. + """ + try: + call_with_oserror_handled(cmd) + except CalledProcessError as e: + raise StopActorExecutionError( + message='Failed to execute command `{}`. Error: {}'.format(' '.join(cmd), str(e)), + details={hint: hint} + ) + + +def clean_guard(cleanup_function): + """ + Decorator to handle any exception going through and running cleanup tasks through the given cleanup_function + parameter. + """ + + def clean_wrapper(f): + @functools.wraps(f) + def wrapper(*args, **kwargs): + try: + return f(*args, **kwargs) + except Exception: # Broad exception handler to handle all cases but rethrows + api.current_logger().debug('Clean guard caught an exception - Calling cleanup function.') + try: + cleanup_function(*args, **kwargs) + except Exception: # pylint: disable=broad-except + # Broad exception handler to handle all cases however, swallowed, to avoid losing the original + # error. Logging for debuggability. + api.current_logger().warning('Caught and swallowed an exception during cleanup.', exc_info=True) + raise # rethrow original exception + + return wrapper + + return clean_wrapper + + +def read_file(path): + """ + Reads the file specified by path in text mode and returns the contents. + """ + with open(path, 'r') as f: + return f.read() + + +def _require_exactly_one_message_of_type(model_class, error_callback=None): + """ + Consume and return exactly one message of the given type, error if there are none or more than one available. + + Calls ``error_callback`` if there are none or more than one messages available of the requested type + with a string describing the error condition. + + Note: this function is private, experimental and will likely be subject to change. + + :param model_class: Message type to consume + :param Callable[[str], None] error_callback: Callback to call when error condition arises, e.g., raising the + StopActorExecutionError (default). + """ + def default_callback(msg): + raise StopActorExecutionError(msg) + + if not error_callback: + error_callback = default_callback + + model_instances = api.consume(model_class) + model_instance = next(model_instances, None) + if not model_instance: + msg = 'Exactly one {cls_name} message of type is required, however, none was received.' + msg = msg.format(cls_name=model_class.__name__) + error_callback(msg) + + next_instance = next(model_instances, None) + if next_instance: + msg = 'Exactly one {cls_name} message is required, however, more than one messages were received.' + msg = msg.format(cls_name=model_class.__name__) + error_callback(msg) + + return model_instance + + +def _require_some_message_of_type(model_class, error_callback=None): + """ + Consume and return one message of the given type, error if there are no messages available. + + Calls ``error_callback`` if there are no messages available of the requested type + with a string describing the error condition. + + Note: this function is private, experimental and will likely be subject to change. + + :param model_class: Message type to consume + :param Callable[[str], None] error_callback: Callback to call when error condition arises, e.g., raising the + StopActorExecutionError (default). + """ + def default_callback(msg): + raise StopActorExecutionError(msg) + + if not error_callback: + error_callback = default_callback + + model_instances = api.consume(model_class) + model_instance = next(model_instances, None) + if not model_instance: + msg = 'Exactly one {cls_name} message of type is required, however, none was received.' + msg = msg.format(cls_name=model_class.__name__) + error_callback(msg) + + return model_instance diff --git a/repos/system_upgrade/common/models/activekernelmodulesfacts.py b/repos/system_upgrade/common/models/activekernelmodulesfacts.py new file mode 100644 index 0000000..06d38e7 --- /dev/null +++ b/repos/system_upgrade/common/models/activekernelmodulesfacts.py @@ -0,0 +1,23 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class KernelModuleParameter(Model): + topic = SystemFactsTopic + + name = fields.String() + value = fields.String() + + +class ActiveKernelModule(Model): + topic = SystemFactsTopic + + filename = fields.String() + parameters = fields.List(fields.Model(KernelModuleParameter)) + signature = fields.Nullable(fields.String()) + + +class ActiveKernelModulesFacts(Model): + topic = SystemFactsTopic + + kernel_modules = fields.List(fields.Model(ActiveKernelModule)) diff --git a/repos/system_upgrade/common/models/assets.py b/repos/system_upgrade/common/models/assets.py new file mode 100644 index 0000000..753441e --- /dev/null +++ b/repos/system_upgrade/common/models/assets.py @@ -0,0 +1,13 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class ConsumedDataAsset(Model): + """Information about a used data asset.""" + topic = SystemFactsTopic + + filename = fields.String() + fulltext_name = fields.String() + docs_url = fields.String() + docs_title = fields.String() + provided_data_streams = fields.Nullable(fields.List(fields.String())) diff --git a/repos/system_upgrade/common/models/bootcontent.py b/repos/system_upgrade/common/models/bootcontent.py new file mode 100644 index 0000000..edada01 --- /dev/null +++ b/repos/system_upgrade/common/models/bootcontent.py @@ -0,0 +1,14 @@ +from leapp.models import fields, Model +from leapp.topics import BootPrepTopic + + +class BootContent(Model): + """ + For information about what Leapp copies to the /boot/. We need to pass this information + at least to the actors performing /boot/ cleanup. + """ + topic = BootPrepTopic + + kernel_path = fields.String(help='Filepath of the kernel copied to /boot/ by Leapp.') + initram_path = fields.String(help='Filepath of the initramfs copied to /boot/ by Leapp.') + kernel_hmac_path = fields.String(help='Filepath of the kernel hmac copied to /boot/ by Leapp.') diff --git a/repos/system_upgrade/common/models/cephinfo.py b/repos/system_upgrade/common/models/cephinfo.py new file mode 100644 index 0000000..0070bfd --- /dev/null +++ b/repos/system_upgrade/common/models/cephinfo.py @@ -0,0 +1,8 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class CephInfo(Model): + topic = SystemInfoTopic + + encrypted_volumes = fields.List(fields.String(), default=[]) diff --git a/repos/system_upgrade/common/models/cpuinfo.py b/repos/system_upgrade/common/models/cpuinfo.py new file mode 100644 index 0000000..ee24556 --- /dev/null +++ b/repos/system_upgrade/common/models/cpuinfo.py @@ -0,0 +1,48 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class CPUInfo(Model): + """ + The model represents information about CPUs. + + The model currently doesn't represent all information about cpus could + provide on the machine. Just part of them, in case any other attributes + will be needed, the model can be extended. + + The provided info is aggregated - like from lscpu command. Expecting all + CPUs are same on the machine (at least for now). + """ + + topic = SystemFactsTopic + + machine_type = fields.Nullable(fields.Integer()) + """ + Specifies machine type if provided. + + This is important for the check of s390x, whether the HW is supported + by RHEL 8. + """ + + # TODO: regarding possible problems with LOCALE, I am keeping most of + # parts commented out and focus just on the one particular needed info. + # architecture = fields.String() + # """ Architecture of the CPU (e.g. x86_64) """ + + # byte_order = fields.StringEnum(['Little Endian', 'Big Endian']) + # """ Byte order of the CPU: 'Little Endian' or 'Big Endian' """ + + flags = fields.List(fields.String(), default=[]) + """ Specifies flags/features of the CPU. """ + + # hypervisor = fields.Nullable(fields.String()) + # hypervisor_vendor = fields.Nullable(fields.String()) + + # number = fields.Integer() + # """ Number of CPUs. """ + + # vendor_id = fields.Nullable(fields.String()) + # """ ID of vendor of the CPU. """ + + # virtualization = fields.Nullable(fields.String()) + # virtualization_type = fields.Nullable(fields.String()) diff --git a/repos/system_upgrade/common/models/defaultgrubinfo.py b/repos/system_upgrade/common/models/defaultgrubinfo.py new file mode 100644 index 0000000..39e6521 --- /dev/null +++ b/repos/system_upgrade/common/models/defaultgrubinfo.py @@ -0,0 +1,25 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class DefaultGrub(Model): + """ + A model with '/etc/default/grub' option as key / value + """ + topic = SystemFactsTopic + + name = fields.String() + """ Option name, e.g. GRUB_TIMEOUT """ + value = fields.String() + """ Option value, e.g. '5' in case of GRUB_TIMEOUT=5 """ + + +class DefaultGrubInfo(Model): + """ + A message with '/etc/default/grub' content + """ + + topic = SystemFactsTopic + + default_grub_info = fields.List(fields.Model(DefaultGrub)) + """ List of '/etc/default/grub' options as key / value """ diff --git a/repos/system_upgrade/common/models/devicedriverdeprecationdata.py b/repos/system_upgrade/common/models/devicedriverdeprecationdata.py new file mode 100644 index 0000000..183a278 --- /dev/null +++ b/repos/system_upgrade/common/models/devicedriverdeprecationdata.py @@ -0,0 +1,93 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class DeviceDriverDeprecationEntry(Model): + """ + Describes a device or driver deprecated in RHEL + """ + topic = SystemFactsTopic + + deprecation_announced = fields.String() + """ + This field should contain a X.Y version in which version + of RHEL the deprecation of the described driver or device was announced. + + NOTE: The value is not enforced to be in the X.Y format and might be empty. + As not all data entries do contain this relevant information. + """ + + device_id = fields.String() + """ + If this entry describes a device, this field will contain an identification + string, relevant to the device. + + This identification string might contain sets of numbers {1,2,3}, + ranges [1-3] or even sets of ranges {[1-3],[5-9]} or a wildcard * which + should match any number. + + Examples: + - Range: 'x86_64:intel:6:[56-57]' + - Set: 'x86_64:amd:23:{1,17,49}' + - Set of Ranges: 'x86_64:amd:23:{[2-16],[18-48],[50-255]}' + - Wildcard: 'x86_64:amd:21:*' + """ + + device_type = fields.StringEnum(choices=['pci', 'cpu']) + """ + + NOTE: Other devices might come later. The following values have been + described: + - 'usb' + - 'video_adapter' + - 'firewire' + - 'qemu_machine' + However they aren't in use yet. Since we wouldn't support it for + now, we can extend it once we support it and just filter the ones supported, + by leapp. + """ + + device_name = fields.String() + """ + Human readable name of the device in question - Could be used to display. + """ + + driver_name = fields.String() + """ + Name of the kernel driver for the device, or just a plain driver name. + Might be an empty string. + """ + + available_in_rhel = fields.List(fields.Integer()) + """ + List of major version numbers, in which the device/driver can be found. + If the target major version number is not in this list, the upgrade must + be inhibited to avoid problems on boot. + """ + maintained_in_rhel = fields.List(fields.Integer()) + """ + List of major version numbers, in which the device/driver is maintained. That + means, that in those versions the device/driver actively gets patches and + bug fixes. + If the target major version number is not in this list, but is in the + available_in_rhel list, a warning should be generated, but the upgrade must + NOT be inhibited. + """ + + +class DetectedDeviceOrDriver(DeviceDriverDeprecationEntry): + """ + DetectedDeviceOrDriver is used for reporting unsupported drivers or devices + """ + + +class DeviceDriverDeprecationData(Model): + """ + Contains data related to deprecated devices and drivers in RHEL + """ + topic = SystemFactsTopic + + entries = fields.List(fields.Model(DeviceDriverDeprecationEntry)) + """ + A list of entries describing deprecated devices and drivers + """ diff --git a/repos/system_upgrade/common/models/dnfplugintask.py b/repos/system_upgrade/common/models/dnfplugintask.py new file mode 100644 index 0000000..74c084f --- /dev/null +++ b/repos/system_upgrade/common/models/dnfplugintask.py @@ -0,0 +1,18 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class DNFPluginTask(Model): + """ + Represents information what should DNF do with a specific DNF plugin + in various stages. + + Currently, it's possible just to disable specified DNF plugins. + + Available stages: "check", "download" and "upgrade + """ + + topic = SystemInfoTopic + + name = fields.String() + disable_in = fields.List(fields.String(), default=['check', 'download', 'upgrade']) diff --git a/repos/system_upgrade/common/models/dnfworkaround.py b/repos/system_upgrade/common/models/dnfworkaround.py new file mode 100644 index 0000000..4a813dc --- /dev/null +++ b/repos/system_upgrade/common/models/dnfworkaround.py @@ -0,0 +1,34 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class DNFWorkaround(Model): + """ + DNFWorkaround is used to register scripts, that have to be executed to apply modifications to the system, + just before DNF performs a transaction in order for it to succeed. + + As an example in the case of the RHEL7 to RHEL8 upgrade, we have to execute a script to fixup the way how + yum and dnf symlinks are created as they cannot be replaced by RPM. To solve this we have created the + handleyumconfig tool in the system_upgrade/el7toel8 repository and register the workaround with the + registeryumadjustment actor. + """ + topic = SystemInfoTopic + + script_path = fields.String() + """ + Absolute path to a bash script to execute + """ + + script_args = fields.List(fields.String(), default=[]) + """ + Arguments with which the script should be executed + + In case that an argument contains a whitespace or an escapable character, + the argument must be already treated correctly. e.g. + `script_args = ['-i', 'my\\ string'] + """ + + display_name = fields.String() + """ + Name to display for this script when executed + """ diff --git a/repos/system_upgrade/common/models/fips.py b/repos/system_upgrade/common/models/fips.py new file mode 100644 index 0000000..aa9930d --- /dev/null +++ b/repos/system_upgrade/common/models/fips.py @@ -0,0 +1,12 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class FIPSInfo(Model): + """ + Information about whether the source system has FIPS enabled. + """ + topic = SystemInfoTopic + + is_enabled = fields.Boolean(default=False) + """ Is fips enabled on the source system """ diff --git a/repos/system_upgrade/common/models/firewallsfacts.py b/repos/system_upgrade/common/models/firewallsfacts.py new file mode 100644 index 0000000..b888ac9 --- /dev/null +++ b/repos/system_upgrade/common/models/firewallsfacts.py @@ -0,0 +1,17 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class FirewallStatus(Model): + topic = SystemFactsTopic + + enabled = fields.Boolean() + active = fields.Boolean() + + +class FirewallsFacts(Model): + topic = SystemFactsTopic + + firewalld = fields.Model(FirewallStatus) + iptables = fields.Model(FirewallStatus) + ip6tables = fields.Model(FirewallStatus) diff --git a/repos/system_upgrade/common/models/firmwarefacts.py b/repos/system_upgrade/common/models/firmwarefacts.py new file mode 100644 index 0000000..c4dd6eb --- /dev/null +++ b/repos/system_upgrade/common/models/firmwarefacts.py @@ -0,0 +1,11 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class FirmwareFacts(Model): + topic = SystemFactsTopic + + firmware = fields.StringEnum(['bios', 'efi']) + """ System firmware interface (BIOS or EFI) """ + ppc64le_opal = fields.Nullable(fields.Boolean()) + """ Check OPAL presence to identify ppc64le bare metal systems """ diff --git a/repos/system_upgrade/common/models/groupsfacts.py b/repos/system_upgrade/common/models/groupsfacts.py new file mode 100644 index 0000000..e1b866b --- /dev/null +++ b/repos/system_upgrade/common/models/groupsfacts.py @@ -0,0 +1,16 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class Group(Model): + topic = SystemFactsTopic + + name = fields.String() + gid = fields.Integer() + members = fields.List(fields.String()) + + +class GroupsFacts(Model): + topic = SystemFactsTopic + + groups = fields.List(fields.Model(Group)) diff --git a/repos/system_upgrade/common/models/grubcfgbios.py b/repos/system_upgrade/common/models/grubcfgbios.py new file mode 100644 index 0000000..c8b5cbf --- /dev/null +++ b/repos/system_upgrade/common/models/grubcfgbios.py @@ -0,0 +1,12 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class GrubCfgBios(Model): + """ + A message providing info about BIOS (non-EFI) GRUB config + """ + topic = SystemFactsTopic + + insmod_bls = fields.Boolean() + """ Inform whether blscfg is loaded """ diff --git a/repos/system_upgrade/common/models/grubconfigerror.py b/repos/system_upgrade/common/models/grubconfigerror.py new file mode 100644 index 0000000..1b3f166 --- /dev/null +++ b/repos/system_upgrade/common/models/grubconfigerror.py @@ -0,0 +1,17 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class GrubConfigError(Model): + ERROR_CORRUPTED_GRUBENV = 'corrupted grubenv' + ERROR_MISSING_NEWLINE = 'missing newline' + ERROR_GRUB_CMDLINE_LINUX_SYNTAX = 'GRUB_CMDLINE_LINUX syntax' + + topic = SystemFactsTopic + + # XXX FIXME(ivasilev) Rename to error_resolvable? + # If error can be automatically resolved (ex. in addupgradebootentry actor) + error_detected = fields.Boolean(default=False) + error_type = fields.StringEnum([ERROR_CORRUPTED_GRUBENV, ERROR_MISSING_NEWLINE, ERROR_GRUB_CMDLINE_LINUX_SYNTAX]) + # Paths to config files + files = fields.List(fields.String()) diff --git a/repos/system_upgrade/common/models/grubenv.py b/repos/system_upgrade/common/models/grubenv.py new file mode 100644 index 0000000..be54113 --- /dev/null +++ b/repos/system_upgrade/common/models/grubenv.py @@ -0,0 +1,12 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class HybridImage(Model): + """ + Model used for instructing Leapp to convert "grubenv" symlink + into a regular file in case of hybrid (BIOS/EFI) images using BIOS + on Azure. + """ + topic = SystemFactsTopic + detected = fields.Boolean(default=False) diff --git a/repos/system_upgrade/common/models/grubinfo.py b/repos/system_upgrade/common/models/grubinfo.py new file mode 100644 index 0000000..f89770b --- /dev/null +++ b/repos/system_upgrade/common/models/grubinfo.py @@ -0,0 +1,31 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class GrubInfo(Model): + """ + Information about Grub + """ + topic = SystemFactsTopic + + # NOTE: @deprecated is not supported on fields + # @deprecated(since='2023-06-23', message='This field has been replaced by orig_devices') + orig_device_name = fields.Nullable(fields.String()) + """ + Original name of the block device where Grub is located. + + The name is persistent during the boot of the system so it's safe to be used during + preupgrade phases. However the name could be different after the reboot, so + it's recommended to use `leapp.libraries.common.grub.get_grub_device()` anywhere + else. + """ + + orig_devices = fields.List(fields.String(), default=[]) + """ + Original names of the block devices where Grub is located. + + The names are persistent during the boot of the system so it's safe to be used during + preupgrade phases. However the names could be different after the reboot, so + it's recommended to use `leapp.libraries.common.grub.get_grub_devices()` everywhere + else. + """ diff --git a/repos/system_upgrade/common/models/initramfs.py b/repos/system_upgrade/common/models/initramfs.py new file mode 100644 index 0000000..03b7112 --- /dev/null +++ b/repos/system_upgrade/common/models/initramfs.py @@ -0,0 +1,170 @@ +from leapp.models import fields, Model +from leapp.topics import BootPrepTopic, SystemInfoTopic +from leapp.utils.deprecation import deprecated + + +class DracutModule(Model): + """ + Specify a dracut module that should be included into the initramfs + + The specified dracut module has to be compatible with the target system. + + See the description of UpgradeInitramfsTasks and TargetInitramfsTasks + for more information about the role of initramfs in the in-place upgrade + process. + """ + topic = BootPrepTopic + + name = fields.String() + """ + Name of the dracut module that should be added (--add option of dracut) + when a initramfs is built. + """ + + module_path = fields.Nullable(fields.String(default=None)) + """ + module_path specifies dracut modules that are supposed to be copied + + If the path is not set, the given name will just be activated. IOW, + if the dracut module is stored outside the /usr/lib/dracut/modules.d/ + directory, set the absolute path to it, so leapp will manage it during + the upgrade to ensure the module will be added into the initramfs. + + The module has to be stored on the local storage. In such a case, it is + recommended to store it into the 'files' directory of an actor generating + this object. + + Note: It's expected to set the full path from the host POV. In case + of actions inside containers, the module is still copied from the HOST + into the container workspace. + """ + + +class KernelModule(Model): + """ + Specify a kernel module that should be included into the initramfs + + The specified kernel module has to be compatible with the target system. + + See the description of UpgradeInitramfsTasks and TargetInitramfsTasks + for more information about the role of initramfs in the in-place upgrade + process. + """ + topic = BootPrepTopic + + name = fields.String() + """ + The kernel module that should be added (--add-drivers option of dracut) + when a initramfs is built. The possible options are + + 1. ``=[/...]`` like ``=drivers/hid`` + 2. ```` + """ + + module_path = fields.Nullable(fields.String(default=None)) + """ + module_path specifies kernel modules that are supposed to be copied + + If the path is not set, the given name will just be activated. IOW, + if the kernel module is stored outside the /usr/lib/modules/$(uname -r)/ + directory, set the absolute path to it, so leapp will manage it during + the upgrade to ensure the module will be added into the initramfs. + + The module has to be stored on the local storage mounted in a persistent + fashion (/etc/fstab entry). In such a case, it is recommended to store it + into the 'files' directory of an actor generating this object. + + Note: It's expected to set the full path from the host POV. In case + of actions inside containers, the module is still copied from the HOST + into the container workspace. + """ + + +class UpgradeInitramfsTasks(Model): + """ + Influence generating of the (leapp) upgrade initramfs + + The upgrade initramfs is used during the crucial part of the upgrade, + in which the original rpms are upgraded, configuration of applications + are migrated, etc. To be able to boot into the leapp upgrade environment + correctly, it is expected all needed drivers, configuration files, ... are + included inside the upgrade initramfs. Produce this message with + expected content to influence the upgrade initramfs. + + If some specific rpms or content is required to be able to build the + upgrade initramfs, see the . + + Note: The built initramfs is composed of stuff for the target system. + In example, if you are on RHEL 7 and plan the upgrade to RHEL 8, you need + to provide content (e.g. drivers, dracut modules) compatible with + RHEL 8 system. + """ + topic = BootPrepTopic + + include_files = fields.List(fields.String(), default=[]) + """ + List of files (canonical filesystem paths) to include in the initramfs + """ + + include_dracut_modules = fields.List(fields.Model(DracutModule), default=[]) + """ + List of dracut modules that should be installed in the initramfs. + + See the DracutModule model for more information. + """ + + include_kernel_modules = fields.List(fields.Model(KernelModule), default=[]) + """ + List of kernel modules that should be installed in the initramfs. + + See the KernelModule model for more information. + """ + + +class TargetInitramfsTasks(UpgradeInitramfsTasks): + """ + Analogy to UpgradeInitramfsTasks, but referring to the target initram disk. + + Target initramfs is the one, that will be used to boot to your upgraded + system. If you want to ensure that you are able to boot into the target + (upgraded) system, it is possible you need to add same stuff as you added + into the upgrade initramfs. + + If some specific rpms are required to be able to build the upgrade + initramfs, install these via the RpmTransactionTasks model. + """ + + +@deprecated(since='2021-10-10', message='Replaced by TargetInitramfsTasks.') +class InitrdIncludes(Model): + """ + List of files (canonical filesystem paths) to include in RHEL-8 initramfs + """ + topic = SystemInfoTopic + + files = fields.List(fields.String()) + + +@deprecated(since='2021-10-10', message='Replaced by UpgradeInitramfsTasks.') +class UpgradeDracutModule(Model): + """ + Specify a dracut module that should be included into the (leapp) upgrade initramfs. + + The upgrade initramfs is used during the crucial part of the upgrade, + in which the original rpms are upgraded. If a dracut module is required to + be included inside the upgrade initramfs (e.g. because it is needed + to handle/initialize your storage properly), produce this msg. + """ + topic = BootPrepTopic + + name = fields.String() + """ + Name of the dracut module that should be added (--add option of dracut) + """ + + module_path = fields.Nullable(fields.String(default=None)) + """ + module_path specifies dracut modules that are to be copied + + If the path is not set, the given name will just be activated. + """ diff --git a/repos/system_upgrade/common/models/installeddesktopsfacts.py b/repos/system_upgrade/common/models/installeddesktopsfacts.py new file mode 100644 index 0000000..87b0ca9 --- /dev/null +++ b/repos/system_upgrade/common/models/installeddesktopsfacts.py @@ -0,0 +1,11 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class InstalledDesktopsFacts(Model): + """ + The model includes fact about installed + """ + topic = SystemFactsTopic + gnome_installed = fields.Boolean(default=False) + kde_installed = fields.Boolean(default=False) diff --git a/repos/system_upgrade/common/models/installedkernelversion.py b/repos/system_upgrade/common/models/installedkernelversion.py new file mode 100644 index 0000000..cd1f08f --- /dev/null +++ b/repos/system_upgrade/common/models/installedkernelversion.py @@ -0,0 +1,9 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class CurrentKernel(Model): + topic = SystemInfoTopic + version = fields.String() + release = fields.String() + arch = fields.String() diff --git a/repos/system_upgrade/common/models/installedrpm.py b/repos/system_upgrade/common/models/installedrpm.py new file mode 100644 index 0000000..5a632b0 --- /dev/null +++ b/repos/system_upgrade/common/models/installedrpm.py @@ -0,0 +1,29 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class RPM(Model): + topic = SystemInfoTopic + name = fields.String() + epoch = fields.String() + packager = fields.String() + version = fields.String() + release = fields.String() + arch = fields.String() + pgpsig = fields.String() + repository = fields.Nullable(fields.String()) + module = fields.Nullable(fields.String()) + stream = fields.Nullable(fields.String()) + + +class InstalledRPM(Model): + topic = SystemInfoTopic + items = fields.List(fields.Model(RPM), default=[]) + + +class InstalledRedHatSignedRPM(InstalledRPM): + pass + + +class InstalledUnsignedRPM(InstalledRPM): + pass diff --git a/repos/system_upgrade/common/models/installedtargetkernelversion.py b/repos/system_upgrade/common/models/installedtargetkernelversion.py new file mode 100644 index 0000000..09df550 --- /dev/null +++ b/repos/system_upgrade/common/models/installedtargetkernelversion.py @@ -0,0 +1,48 @@ +from leapp.models import fields, Model, RPM +from leapp.topics import SystemInfoTopic +from leapp.utils.deprecation import deprecated + + +@deprecated(since='2023-08-03', message='The model has been deprecated in favour of InstalledTargetKernelInfo.') +class InstalledTargetKernelVersion(Model): + """ + This message is used to propagate the version of the kernel that has been installed during the upgrade process. + + The version value is mainly used for boot loader entry manipulations, to know which boot entry to manipulate. + """ + topic = SystemInfoTopic + version = fields.String() + + +class KernelInfo(Model): + """ + Information about the booted kernel. + """ + topic = SystemInfoTopic + + pkg = fields.Model(RPM) + """ Package providing the booted kernel. """ + + uname_r = fields.String() + """``uname -r`` of the booted kernel.""" + + type = fields.StringEnum(['ordinary', 'realtime'], default='ordinary') + # @FixMe(mhecko): I want to use kernel_lib.KernelType here, but I cannot import any library code (yet). + # # Figure out how to do it. + + +class InstalledTargetKernelInfo(Model): + """Information about the installed target kernel.""" + topic = SystemInfoTopic + + pkg_nevra = fields.String() + """Name, epoch, version, release, arch of the target kernel package.""" + + uname_r = fields.String() + """Kernel release of the target kernel.""" + + kernel_img_path = fields.String() + """Path to the vmlinuz kernel image stored in ``/boot``.""" + + initramfs_path = fields.String() + """Path to the initramfs image stored in ``/boot``.""" diff --git a/repos/system_upgrade/common/models/ipainfo.py b/repos/system_upgrade/common/models/ipainfo.py new file mode 100644 index 0000000..0ad45ad --- /dev/null +++ b/repos/system_upgrade/common/models/ipainfo.py @@ -0,0 +1,12 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class IpaInfo(Model): + topic = SystemFactsTopic + + has_client_package = fields.Boolean() + is_client_configured = fields.Boolean() + + has_server_package = fields.Boolean() + is_server_configured = fields.Boolean() diff --git a/repos/system_upgrade/common/models/ipuconfig.py b/repos/system_upgrade/common/models/ipuconfig.py new file mode 100644 index 0000000..6e7e21b --- /dev/null +++ b/repos/system_upgrade/common/models/ipuconfig.py @@ -0,0 +1,61 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class EnvVar(Model): + topic = SystemInfoTopic + + name = fields.String() + """Name of the environment variable.""" + + value = fields.String() + """Value of the environment variable.""" + + +class OSRelease(Model): + topic = SystemInfoTopic + + release_id = fields.String() + name = fields.String() + pretty_name = fields.String() + version = fields.String() + version_id = fields.String() + variant = fields.Nullable(fields.String()) # isn't specified on some systems + variant_id = fields.Nullable(fields.String()) # same as above + + +class Version(Model): + topic = SystemInfoTopic + + source = fields.String() + """Version of the source (current) system. E.g.: '7.8'.""" + + target = fields.String() + """Version of the target system. E.g. '8.2.'.""" + + +class IPUConfig(Model): + """ + IPU workflow configuration model + """ + topic = SystemInfoTopic + + leapp_env_vars = fields.List(fields.Model(EnvVar), default=[]) + """Environment variables related to the leapp.""" + + os_release = fields.Model(OSRelease) + """Data about the OS get from /etc/os-release.""" + + version = fields.Model(Version) + """Version of the current (source) system and expected target system.""" + + architecture = fields.String() + """Architecture of the system. E.g.: 'x86_64'.""" + + kernel = fields.String() + """ + Originally booted kernel when on the source system. + """ + + flavour = fields.StringEnum(('default', 'saphana'), default='default') + """Flavour of the upgrade - Used to influence changes in supported source/target release""" diff --git a/repos/system_upgrade/common/models/kernelcmdlineargs.py b/repos/system_upgrade/common/models/kernelcmdlineargs.py new file mode 100644 index 0000000..e3568a0 --- /dev/null +++ b/repos/system_upgrade/common/models/kernelcmdlineargs.py @@ -0,0 +1,33 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class KernelCmdlineArg(Model): + """ + Single kernel command line parameter with/without a value + + When produced alone, represents a parameter to include in RHEL-8 kernel cmdline. + """ + topic = SystemInfoTopic + + key = fields.String() + value = fields.Nullable(fields.String()) + + +class TargetKernelCmdlineArgTasks(Model): + """ + Desired modifications of the target kernel args + """ + topic = SystemInfoTopic + + to_add = fields.List(fields.Model(KernelCmdlineArg), default=[]) + to_remove = fields.List(fields.Model(KernelCmdlineArg), default=[]) + + +class KernelCmdline(Model): + """ + Kernel command line parameters the system was booted with + """ + topic = SystemInfoTopic + + parameters = fields.List(fields.Model(KernelCmdlineArg)) diff --git a/repos/system_upgrade/common/models/leftoverpackages.py b/repos/system_upgrade/common/models/leftoverpackages.py new file mode 100644 index 0000000..5a6481e --- /dev/null +++ b/repos/system_upgrade/common/models/leftoverpackages.py @@ -0,0 +1,11 @@ +from leapp.models import fields, Model, RPM +from leapp.topics import TransactionTopic + + +class LeftoverPackages(Model): + topic = TransactionTopic + items = fields.List(fields.Model(RPM), default=[]) + + +class RemovedPackages(LeftoverPackages): + pass diff --git a/repos/system_upgrade/common/models/memoryinfo.py b/repos/system_upgrade/common/models/memoryinfo.py new file mode 100644 index 0000000..bb881ad --- /dev/null +++ b/repos/system_upgrade/common/models/memoryinfo.py @@ -0,0 +1,15 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class MemoryInfo(Model): + """ + Represents information about available memory (KiB) + """ + + topic = SystemFactsTopic + + mem_total = fields.Nullable(fields.Integer()) + """ + Total memory in KiB + """ diff --git a/repos/system_upgrade/common/models/module.py b/repos/system_upgrade/common/models/module.py new file mode 100644 index 0000000..688c43c --- /dev/null +++ b/repos/system_upgrade/common/models/module.py @@ -0,0 +1,20 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class Module(Model): + """ + A single DNF module identified by its name and stream. + """ + topic = SystemFactsTopic + name = fields.String() + stream = fields.String() + + +class EnabledModules(Model): + """ + DNF modules enabled on the source system. + """ + topic = SystemFactsTopic + + modules = fields.List(fields.Model(Module), default=[]) diff --git a/repos/system_upgrade/common/models/opensshconfig.py b/repos/system_upgrade/common/models/opensshconfig.py new file mode 100644 index 0000000..f4dc326 --- /dev/null +++ b/repos/system_upgrade/common/models/opensshconfig.py @@ -0,0 +1,43 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class OpenSshPermitRootLogin(Model): + topic = SystemInfoTopic + + value = fields.StringEnum(['yes', 'prohibit-password', + 'forced-commands-only', 'no']) + """ Value of a PermitRootLogin directive. """ + in_match = fields.Nullable(fields.List(fields.String())) + """ Criteria of Match blocks the PermitRootLogin directive occurred in, if any. """ + + +class OpenSshConfig(Model): + """ + OpenSSH server configuration. + + This model contains the first effective configuration option specified + in the configuration file or a list of all the options specified + in all the conditional blocks used throughout the file. + """ + topic = SystemInfoTopic + + permit_root_login = fields.List(fields.Model(OpenSshPermitRootLogin)) + """ All PermitRootLogin directives. """ + use_privilege_separation = fields.Nullable(fields.StringEnum(['sandbox', + 'yes', + 'no'])) + """ Value of the UsePrivilegeSeparation directive, if present. Removed in RHEL 8. """ + protocol = fields.Nullable(fields.String()) + """ Value of the Protocols directive, if present. Removed in RHEL 8. """ + ciphers = fields.Nullable(fields.String()) + """ Value of the Ciphers directive, if present. Ciphers separated by comma. """ + macs = fields.Nullable(fields.String()) + """ Value of the MACs directive, if present. """ + deprecated_directives = fields.List(fields.String()) + """ Configuration directives that were deprecated in the new version of openssh. """ + subsystem_sftp = fields.Nullable(fields.String()) + """ The "Subsystem sftp" configuration option, if present """ + + modified = fields.Boolean(default=False) + """ True if the configuration file was modified. """ diff --git a/repos/system_upgrade/common/models/packagemanagerinfo.py b/repos/system_upgrade/common/models/packagemanagerinfo.py new file mode 100644 index 0000000..bf96933 --- /dev/null +++ b/repos/system_upgrade/common/models/packagemanagerinfo.py @@ -0,0 +1,26 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class PkgManagerInfo(Model): + """ + Package manager (yum/dnf) related info + + We expect to have only one single message of this kind produced + """ + topic = SystemInfoTopic + + etc_releasever = fields.Nullable(fields.String()) + """ + Contain the first line of /etc/{yum,dnf}/vars/releasever file or None if the file does not exist. + + In case the value is empty string, it means the file exists but it is empty. In such a case the + original configuration is obviously broken. + """ + + configured_proxies = fields.List(fields.String(), default=[]) + """ + A sorted list of proxies present in yum and dnf configuration files. + """ + + enabled_plugins = fields.List(fields.String(), default=[]) diff --git a/repos/system_upgrade/common/models/pcidevices.py b/repos/system_upgrade/common/models/pcidevices.py new file mode 100644 index 0000000..f1ca447 --- /dev/null +++ b/repos/system_upgrade/common/models/pcidevices.py @@ -0,0 +1,128 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class PCIDevice(Model): + """ + Model to represent a PCI Device. + + There is the following match between model parameters and + the fields of the output of a shell command `lspci -vmmk` + + slot - 'Slot', + dev_cls - 'Class', + vendor - 'Vendor', + name - 'Device', + subsystem_vendor - 'SVendor', + subsystem_name - 'SDevice', + physical_slot - 'PhySlot', + rev - 'Rev', + progif - 'ProgIf', + driver - 'Driver', + modules - 'Module', + numa_node - 'NUMANode', + + pci_id - represents the numeric identification of the device, formed as + string concatenating of the numeric device identifiers for fields + Vendor, Device, SVendor, SDevice (output + of a shell command `lspci -vmmkn`) with the `:` delimiter. + For example: + one device from output of `lspci -vmmkn` is: + + ``` + Slot: 04:00.0 + Class: 0880 + Vendor: 8086 + Device: 15bf + SVendor: 17aa + SDevice: 2279 + Rev: 01 + Driver: thunderbolt + Module: thunderbolt + ``` + + then + pci_id == "8086:15bf:17aa:2279" + """ + topic = SystemInfoTopic + + slot = fields.String() + dev_cls = fields.String() + vendor = fields.String() + name = fields.String() + subsystem_vendor = fields.Nullable(fields.String()) + subsystem_name = fields.Nullable(fields.String()) + physical_slot = fields.Nullable(fields.String()) + rev = fields.Nullable(fields.String()) + progif = fields.Nullable(fields.String()) + driver = fields.Nullable(fields.String()) + modules = fields.Nullable(fields.List(fields.String())) + numa_node = fields.Nullable(fields.String()) + pci_id = fields.String() + + +class PCIDevices(Model): + topic = SystemInfoTopic + + devices = fields.List(fields.Model(PCIDevice)) + + +class RestrictedPCIDevice(Model): + """ + Model to represent known restrictions of the given PCI devices. + + + pci_id - unsupported pci_ids. It has the following + structure: {Vendor}:{Device}:{SVendor}:{SDevice}, where all these 4 + parameters are numeric ids (see shell command spci -vmmkn). If SVendor + and SDevice fields do not exist, then pci_id has the following structure: + {Vendor}:{Device}. + driver_name - the name of restricted driver + device_name - the name of restricted device + supported_{rhel_version} - 1 is supported on the given RHEL, 0 - not + supported + available_{rhel_version} - 1 is available on the given RHEL, 0 - not + available. it could be the driver is available, but not supported + comments - the field for comments + """ + topic = SystemInfoTopic + + pci_id = fields.Nullable(fields.String()) + driver_name = fields.Nullable(fields.String()) + device_name = fields.Nullable(fields.String()) + available_rhel7 = fields.Integer() + supported_rhel7 = fields.Integer() + available_rhel8 = fields.Integer() + supported_rhel8 = fields.Integer() + available_rhel9 = fields.Integer() + supported_rhel9 = fields.Integer() + comment = fields.Nullable(fields.String()) + + +class RestrictedPCIDevices(Model): + """ + Model to represent all known restricted PCI devices. + + Restricted devices might be restricted based on either + - pci id (each particular device) + - driver name (all the family of the devices being served by the + particular driver). + + However the data type, which represents how the pci id or driver name is + restricted is identical. + + Thus both attributes has the same data type. + + driver_names - is a container with the devices, which are restricted by + the driver name identifier + pci_ids - is a container with the devices, which are restricted by + the pci_id identifier + """ + topic = SystemInfoTopic + + driver_names = fields.List( + fields.Model(RestrictedPCIDevice), + ) + pci_ids = fields.List( + fields.Model(RestrictedPCIDevice), + ) diff --git a/repos/system_upgrade/common/models/persistentnetnamesfacts.py b/repos/system_upgrade/common/models/persistentnetnamesfacts.py new file mode 100644 index 0000000..395b26f --- /dev/null +++ b/repos/system_upgrade/common/models/persistentnetnamesfacts.py @@ -0,0 +1,65 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class PCIAddress(Model): + """ + TODO: tbd + """ + topic = SystemInfoTopic + + domain = fields.String() + bus = fields.String() + function = fields.String() + device = fields.String() + + +class Interface(Model): + """ + TODO: tbd - Interface or NetworkInterface? + """ + topic = SystemInfoTopic + + name = fields.String() + devpath = fields.String() + driver = fields.String() + vendor = fields.String() + pci_info = fields.Model(PCIAddress) + mac = fields.String() + + +class PersistentNetNamesFacts(Model): + """ + Information about network interfaces gather from the original system + """ + topic = SystemInfoTopic + interfaces = fields.List(fields.Model(Interface)) + + +class PersistentNetNamesFactsInitramfs(PersistentNetNamesFacts): + """ + Information about network interfaces gather from initramfs with the kernel of target system + """ + pass + + +class RenamedInterface(Model): + """ + Provide original and new name of the network interface when renamed + """ + topic = SystemInfoTopic + + rhel7_name = fields.String() + rhel8_name = fields.String() + + +class RenamedInterfaces(Model): + """ + Provide list of renamed network interfaces + + These interfaces will use different names on the target system + in comparison with original names. + """ + topic = SystemInfoTopic + + renamed = fields.List(fields.Model(RenamedInterface)) diff --git a/repos/system_upgrade/common/models/repositoriesblacklisted.py b/repos/system_upgrade/common/models/repositoriesblacklisted.py new file mode 100644 index 0000000..056eaff --- /dev/null +++ b/repos/system_upgrade/common/models/repositoriesblacklisted.py @@ -0,0 +1,11 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class RepositoriesBlacklisted(Model): + """ + Repositories ID that should be ignored by Leapp during upgrade process + """ + topic = SystemFactsTopic + + repoids = fields.List(fields.String(), default=[]) diff --git a/repos/system_upgrade/common/models/repositoriesfacts.py b/repos/system_upgrade/common/models/repositoriesfacts.py new file mode 100644 index 0000000..cd2124f --- /dev/null +++ b/repos/system_upgrade/common/models/repositoriesfacts.py @@ -0,0 +1,45 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic +from leapp.utils.deprecation import deprecated + + +class RepositoryData(Model): + topic = SystemFactsTopic + + repoid = fields.String() + name = fields.String() + baseurl = fields.Nullable(fields.String()) + metalink = fields.Nullable(fields.String()) + mirrorlist = fields.Nullable(fields.String()) + enabled = fields.Boolean(default=True) + additional_fields = fields.Nullable(fields.String()) + proxy = fields.Nullable(fields.String()) + + +class RepositoryFile(Model): + topic = SystemFactsTopic + + file = fields.String() + data = fields.List(fields.Model(RepositoryData)) + + +class RepositoriesFacts(Model): + topic = SystemFactsTopic + + repositories = fields.List(fields.Model(RepositoryFile)) + + +@deprecated( + since="2020-09-01", + message=( + "The model is temporary and not assumed to be used in any " + "other actors." + ), +) +class TMPTargetRepositoriesFacts(RepositoriesFacts): + """Do not consume this model anywhere outside of localreposinhibit. + + The model is temporary and will be removed in close future + """ + + pass diff --git a/repos/system_upgrade/common/models/repositoriesmap.py b/repos/system_upgrade/common/models/repositoriesmap.py new file mode 100644 index 0000000..12639e1 --- /dev/null +++ b/repos/system_upgrade/common/models/repositoriesmap.py @@ -0,0 +1,93 @@ +from leapp.models import fields, Model +from leapp.topics import TransactionTopic + + +class RepoMapEntry(Model): + topic = TransactionTopic + + source = fields.String() + """The source PES id.""" + + target = fields.List(fields.String()) + """List of target PES ids""" + + +class PESIDRepositoryEntry(Model): + """ + Represent metadata about particular repository. + + The metadata are used to identify purpose and nature of the repository. + + Warning: This model is not expected to be consumed/produced by any actor + directly. As well, it is not covered by deprecation process and can be + changed or removed any time. + """ + + topic = TransactionTopic + + pesid = fields.String() + """ + The PES id of the repository. + + The PES id indicate family of YUM repositories. E.g. rhel8-BaseOS covers + variants of BaseOS YUM repositories for all channels, architectures, + RHUI, etc, which have basically same purpose. + """ + + major_version = fields.String() + """ + The major version of OS. + + E.g. for RHEL 7.9 the major version is 7. Since we work with versions + as with strings throughout the whole codebase, we keep this data type here too. + """ + + repoid = fields.String() + """ + The repository ID which identifies the repository from YUM/DNF POV. + """ + + arch = fields.StringEnum(['x86_64', 's390x', 'ppc64le', 'aarch64']) + """ + The architecture for which the repository is delivered. + """ + + repo_type = fields.StringEnum(['rpm', 'debug', 'srpm']) + """ + The repository type. + + In our case, we usually map just repositories with the 'rpm' type, so + usually you can see just this one, but the others are possible to add + too. + """ + + channel = fields.StringEnum(['ga', 'tuv', 'e4s', 'eus', 'aus', 'beta']) + """ + The 'channel' of the repository. + + The 'channel' could be a little bit inaccurate term, but let's use it in + this project. The standard repositories has 'ga' channel. 'beta' + repositories are unsupported for IPU, however they are useful for testing + purposes. The other channels indicate premium repositories. + """ + + rhui = fields.StringEnum(['', 'aws', 'azure', 'google', 'alibaba']) + """ + Specifies what cloud provider (RHUI) is the repository specific to. + + Empty string denotes that the repository is not specific to any cloud provider. + """ + + +class RepositoriesMapping(Model): + """ + Private model containing information about mapping between repositories. + + Warning: We expect to be only consumers of this model. + This means the model is not covered by deprecation process and can be + changed or removed any time. + """ + topic = TransactionTopic + + mapping = fields.List(fields.Model(RepoMapEntry), default=[]) + repositories = fields.List(fields.Model(PESIDRepositoryEntry), default=[]) diff --git a/repos/system_upgrade/common/models/repositoriessetuptasks.py b/repos/system_upgrade/common/models/repositoriessetuptasks.py new file mode 100644 index 0000000..fb267ad --- /dev/null +++ b/repos/system_upgrade/common/models/repositoriessetuptasks.py @@ -0,0 +1,15 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class RepositoriesSetupTasks(Model): + """ + Information about repositories that must be managed in order to complete upgrade process. + + 'to_enable' field consists of a list of repositories that should be enabled in order to complete + upgrade process. This information should be processed by an actor dedicated to manage + repositories. + """ + topic = SystemFactsTopic + + to_enable = fields.List(fields.String(), default=[]) diff --git a/repos/system_upgrade/common/models/rhsminfo.py b/repos/system_upgrade/common/models/rhsminfo.py new file mode 100644 index 0000000..985b833 --- /dev/null +++ b/repos/system_upgrade/common/models/rhsminfo.py @@ -0,0 +1,22 @@ +from leapp.models import fields, Model +from leapp.topics import RHSMTopic + + +class RHSMInfo(Model): + """ + Subscription-manager details required for the inplace upgrade. + """ + topic = RHSMTopic + + release = fields.Nullable(fields.String()) + """ Release the subscription-manager is set to. """ + attached_skus = fields.List(fields.String(), default=[]) + """ SKUs the current system is attached to. """ + available_repos = fields.List(fields.String(), default=[]) + """ Repositories that are available to the current system through the subscription-manager. """ + enabled_repos = fields.List(fields.String(), default=[]) + """ Repositories that are enabled on the current system through the subscription-manager. """ + existing_product_certificates = fields.List(fields.String(), default=[]) + """ Product certificates that are currently installed on the system. """ + sca_detected = fields.Boolean(default=False) + """ Info about whether SCA manifest was used or not. """ diff --git a/repos/system_upgrade/common/models/rhuiinfo.py b/repos/system_upgrade/common/models/rhuiinfo.py new file mode 100644 index 0000000..0b51892 --- /dev/null +++ b/repos/system_upgrade/common/models/rhuiinfo.py @@ -0,0 +1,12 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class RHUIInfo(Model): + """ + Facts about public cloud provider and RHUI infrastructure + """ + topic = SystemInfoTopic + + provider = fields.String() + """ Provider name """ diff --git a/repos/system_upgrade/common/models/rootdirectory.py b/repos/system_upgrade/common/models/rootdirectory.py new file mode 100644 index 0000000..ba860e0 --- /dev/null +++ b/repos/system_upgrade/common/models/rootdirectory.py @@ -0,0 +1,26 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class RootSubdirectory(Model): + """ + Representation of a single root subdirectory. Can be expanded as needed. + """ + topic = SystemFactsTopic + name = fields.String() + target = fields.Nullable(fields.String()) # if it's a link + + +class InvalidRootSubdirectory(Model): + """ + Representation of a single root subdirectory with non-utf name that is stored as a Blob. + """ + topic = SystemFactsTopic + name = fields.Blob() + target = fields.Nullable(fields.Blob()) + + +class RootDirectory(Model): + topic = SystemFactsTopic + items = fields.List(fields.Model(RootSubdirectory)) # should not be empty + invalid_items = fields.Nullable(fields.List(fields.Model(InvalidRootSubdirectory))) diff --git a/repos/system_upgrade/common/models/rpmtransactiontasks.py b/repos/system_upgrade/common/models/rpmtransactiontasks.py new file mode 100644 index 0000000..7e2870d --- /dev/null +++ b/repos/system_upgrade/common/models/rpmtransactiontasks.py @@ -0,0 +1,24 @@ +from leapp.models import fields, Model, Module +from leapp.topics import TransactionTopic + + +class RpmTransactionTasks(Model): + topic = TransactionTopic + + local_rpms = fields.List(fields.String(), default=[]) + to_install = fields.List(fields.String(), default=[]) + to_keep = fields.List(fields.String(), default=[]) + to_remove = fields.List(fields.String(), default=[]) + to_upgrade = fields.List(fields.String(), default=[]) + modules_to_enable = fields.List(fields.Model(Module), default=[]) + modules_to_reset = fields.List(fields.Model(Module), default=[]) + + +class FilteredRpmTransactionTasks(RpmTransactionTasks): + pass + + +class PESRpmTransactionTasks(RpmTransactionTasks): + # Introduced because the framework struggles with solving dependency order of actors: + # https://github.com/oamg/leapp/issues/491 + pass diff --git a/repos/system_upgrade/common/models/saphanainfo.py b/repos/system_upgrade/common/models/saphanainfo.py new file mode 100644 index 0000000..5bc8b44 --- /dev/null +++ b/repos/system_upgrade/common/models/saphanainfo.py @@ -0,0 +1,44 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class SapHanaManifestEntry(Model): + """ SAP HANA manifest file key/value pair entry """ + topic = SystemInfoTopic + key = fields.String() + """ Key of the key value pairs in a SAP HANA manifest file """ + value = fields.String() + """ Value of the key value pairs in a SAP HANA manifest file """ + + +class SapHanaInstanceInfo(Model): + """ Details of SAP HANA instances """ + topic = SystemInfoTopic + + name = fields.String() + """ Name of the instance """ + path = fields.String() + """ Directory of the SAP HANA instance """ + instance_number = fields.String() + """ SAP HANA Instance number """ + running = fields.Boolean() + """ Is the instance currently running? """ + admin = fields.String() + """ Name of the instance administrator """ + manifest = fields.List(fields.Model(SapHanaManifestEntry)) + """ Content of the SAP HANA manifest file """ + + +class SapHanaInfo(Model): + """ + This message contains information collected around SAP HANA + + If SAP HANA has been detected on the machine, it is running and which versions have been detected. + """ + topic = SystemInfoTopic + installed = fields.Boolean(default=False) + """ True if SAP HANA has been detected on the system """ + running = fields.Boolean(default=False) + """ True if an instance of SAP HANA is running """ + instances = fields.List(fields.Model(SapHanaInstanceInfo)) + """ List of instance details of SAP HANA detected on the system """ diff --git a/repos/system_upgrade/common/models/selinux.py b/repos/system_upgrade/common/models/selinux.py new file mode 100644 index 0000000..3305691 --- /dev/null +++ b/repos/system_upgrade/common/models/selinux.py @@ -0,0 +1,45 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic, TransactionTopic + + +class SELinuxModule(Model): + """SELinux module in cil including priority""" + topic = SystemInfoTopic + name = fields.String() + priority = fields.Integer() + content = fields.String() + # lines removed due to content invalid on RHEL 8 + removed = fields.List(fields.String()) + + +class SELinuxModules(Model): + """ + List of selinux modules that are not part of distribution policy + + modules - list of custom policy modules (priority != 100,200) + templates - List of installed udica templates + """ + topic = SystemInfoTopic + modules = fields.List(fields.Model(SELinuxModule)) + templates = fields.List(fields.Model(SELinuxModule)) + + +class SELinuxCustom(Model): + """SELinux customizations returned by semanage export""" + topic = SystemInfoTopic + commands = fields.List(fields.String()) + removed = fields.List(fields.String()) + + +class SELinuxRequestRPMs(Model): + """ + SELinux related RPM packages that need to be present after upgrade + + Listed packages provide types that where used in policy + customizations (to_install), or the corresponding policy + was installed on RHEL-7 installation with priority 200 + (to_keep). + """ + topic = TransactionTopic + to_keep = fields.List(fields.String(), default=[]) + to_install = fields.List(fields.String(), default=[]) diff --git a/repos/system_upgrade/common/models/selinuxdecisions.py b/repos/system_upgrade/common/models/selinuxdecisions.py new file mode 100644 index 0000000..ee14aa0 --- /dev/null +++ b/repos/system_upgrade/common/models/selinuxdecisions.py @@ -0,0 +1,14 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class SelinuxRelabelDecision(Model): + topic = SystemInfoTopic + + set_relabel = fields.Boolean() + + +class SelinuxPermissiveDecision(Model): + topic = SystemInfoTopic + + set_permissive = fields.Boolean() diff --git a/repos/system_upgrade/common/models/selinuxfacts.py b/repos/system_upgrade/common/models/selinuxfacts.py new file mode 100644 index 0000000..12b0cf8 --- /dev/null +++ b/repos/system_upgrade/common/models/selinuxfacts.py @@ -0,0 +1,12 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class SELinuxFacts(Model): + topic = SystemFactsTopic + + runtime_mode = fields.Nullable(fields.StringEnum(['enforcing', 'permissive'])) + static_mode = fields.StringEnum(['enforcing', 'permissive', 'disabled']) + enabled = fields.Boolean() + policy = fields.StringEnum(['targeted', 'minimum', 'mls']) + mls_enabled = fields.Boolean() diff --git a/repos/system_upgrade/common/models/skippedrepositories.py b/repos/system_upgrade/common/models/skippedrepositories.py new file mode 100644 index 0000000..ff16b93 --- /dev/null +++ b/repos/system_upgrade/common/models/skippedrepositories.py @@ -0,0 +1,14 @@ +from leapp.models import fields, Model +from leapp.topics import TransactionTopic + + +class SkippedRepositories(Model): + """ + Message that contains all skipped repositories and the packages that will not be upgraded as a result of those + repositories being skipped. + """ + topic = TransactionTopic + repos = fields.List(fields.String(), default=[]) + """ List of repositories ids that are going to be skipped for the upgrade """ + packages = fields.List(fields.String(), default=[]) + """ List of packages that are not going to be upgraded because of skipped repositories """ diff --git a/repos/system_upgrade/common/models/storageinfo.py b/repos/system_upgrade/common/models/storageinfo.py new file mode 100644 index 0000000..5bb9caa --- /dev/null +++ b/repos/system_upgrade/common/models/storageinfo.py @@ -0,0 +1,109 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class PartitionEntry(Model): + topic = SystemInfoTopic + + major = fields.String() + minor = fields.String() + blocks = fields.String() + name = fields.String() + + +class FstabEntry(Model): + topic = SystemInfoTopic + + fs_spec = fields.String() + fs_file = fields.String() + fs_vfstype = fields.String() + fs_mntops = fields.String() + fs_freq = fields.String() + fs_passno = fields.String() + + +class MountEntry(Model): + topic = SystemInfoTopic + + name = fields.String() + mount = fields.String() + tp = fields.String() + options = fields.String() + + +class LsblkEntry(Model): + topic = SystemInfoTopic + + name = fields.String() + kname = fields.String() + maj_min = fields.String() + rm = fields.String() + size = fields.String() + bsize = fields.Integer() + ro = fields.String() + tp = fields.String() + mountpoint = fields.String() + + +class PvsEntry(Model): + topic = SystemInfoTopic + + pv = fields.String() + vg = fields.String() + fmt = fields.String() + attr = fields.String() + psize = fields.String() + pfree = fields.String() + + +class VgsEntry(Model): + topic = SystemInfoTopic + + vg = fields.String() + pv = fields.String() + lv = fields.String() + sn = fields.String() + attr = fields.String() + vsize = fields.String() + vfree = fields.String() + + +class LvdisplayEntry(Model): + topic = SystemInfoTopic + + lv = fields.String() + vg = fields.String() + attr = fields.String() + lsize = fields.String() + pool = fields.String() + origin = fields.String() + data = fields.String() + meta = fields.String() + move = fields.String() + log = fields.String() + cpy_sync = fields.String() + convert = fields.String() + + +class SystemdMountEntry(Model): + topic = SystemInfoTopic + + node = fields.String() + path = fields.String() + model = fields.String() + wwn = fields.String() + fs_type = fields.String() + label = fields.String() + uuid = fields.String() + + +class StorageInfo(Model): + topic = SystemInfoTopic + partitions = fields.List(fields.Model(PartitionEntry), default=[]) + fstab = fields.List(fields.Model(FstabEntry), default=[]) + mount = fields.List(fields.Model(MountEntry), default=[]) + lsblk = fields.List(fields.Model(LsblkEntry), default=[]) + pvs = fields.List(fields.Model(PvsEntry), default=[]) + vgs = fields.List(fields.Model(VgsEntry), default=[]) + lvdisplay = fields.List(fields.Model(LvdisplayEntry), default=[]) + systemdmount = fields.List(fields.Model(SystemdMountEntry), default=[]) diff --git a/repos/system_upgrade/common/models/sysctlvariablesfacts.py b/repos/system_upgrade/common/models/sysctlvariablesfacts.py new file mode 100644 index 0000000..ed48554 --- /dev/null +++ b/repos/system_upgrade/common/models/sysctlvariablesfacts.py @@ -0,0 +1,15 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class SysctlVariable(Model): + topic = SystemFactsTopic + + name = fields.String() + value = fields.String() + + +class SysctlVariablesFacts(Model): + topic = SystemFactsTopic + + sysctl_variables = fields.List(fields.Model(SysctlVariable)) diff --git a/repos/system_upgrade/common/models/systemd.py b/repos/system_upgrade/common/models/systemd.py new file mode 100644 index 0000000..f66ae5d --- /dev/null +++ b/repos/system_upgrade/common/models/systemd.py @@ -0,0 +1,155 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class SystemdBrokenSymlinksSource(Model): + """ + Information about broken systemd symlinks on the source system + """ + + topic = SystemInfoTopic + broken_symlinks = fields.List(fields.String(), default=[]) + """ + List of broken systemd symlinks on the source system + + The values are absolute paths of the broken symlinks. + """ + + +class SystemdBrokenSymlinksTarget(SystemdBrokenSymlinksSource): + """ + Analogy to :class:`SystemdBrokenSymlinksSource`, but for the target system + """ + + +class SystemdServicesTasks(Model): + """ + Influence the systemd services of the target system + + E.g. it could be specified explicitly whether some services should + be enabled or disabled after the in-place upgrade - follow descriptions + of particular tasks for details. + + In case of conflicting tasks (e.g. the A service should be enabled and + disabled in the same time): + a) If conflicting tasks are detected during check phases, + the upgrade is inhibited with the proper report. + b) If conflicting tasks are detected during the final evaluation, + error logs are created and such services will be disabled. + """ + topic = SystemInfoTopic + + to_enable = fields.List(fields.String(), default=[]) + """ + List of systemd services to enable on the target system + + Masked services will not be enabled. Attempting to enable a masked service + will be evaluated by systemctl as usually. The error will be logged and the + upgrade process will continue. + """ + + to_disable = fields.List(fields.String(), default=[]) + """ + List of systemd services to disable on the target system + """ + + # NOTE: possible extension in case of requirement (currently not implemented): + # to_unmask = fields.List(fields.String(), default=[]) + + +class SystemdServiceFile(Model): + """ + Information about single systemd service unit file + + This model is not expected to be produced nor consumed by actors directly. + See the :class:`SystemdServicesInfoSource` and :class:`SystemdServicesPresetInfoTarget` + for more info. + """ + topic = SystemInfoTopic + + name = fields.String() + """ + Name of the service unit file + """ + + state = fields.StringEnum([ + 'alias', + 'bad', + 'disabled', + 'enabled', + 'enabled-runtime', + 'generated', + 'indirect', + 'linked', + 'linked-runtime', + 'masked', + 'masked-runtime', + 'static', + 'transient', + ]) + """ + The state of the service unit file + """ + + +class SystemdServicesInfoSource(Model): + """ + Information about systemd services on the source system + """ + topic = SystemInfoTopic + + service_files = fields.List(fields.Model(SystemdServiceFile), default=[]) + """ + List of all installed systemd service unit files + + Instances of service template unit files don't have a unit file + and therefore aren't included, but their template files are. + Generated service unit files are also included. + """ + + +class SystemdServicesInfoTarget(SystemdServicesInfoSource): + """ + Analogy to :class:`SystemdServicesInfoSource`, but for the target system + + This information is taken after the RPM Upgrade and might become + invalid if there are actors calling systemctl enable/disable directly later + in the upgrade process. Therefore it is recommended to use + :class:`SystemdServicesTasks` to alter the state of units in the + FinalizationPhase. + """ + + +class SystemdServicePreset(Model): + """ + Information about a preset for systemd service + """ + + topic = SystemInfoTopic + service = fields.String() + """ + Name of the service, with the .service suffix + """ + + state = fields.StringEnum(['disable', 'enable']) + """ + The state set by a preset file + """ + + +class SystemdServicesPresetInfoSource(Model): + """ + Information about presets for systemd services + """ + topic = SystemInfoTopic + + presets = fields.List(fields.Model(SystemdServicePreset), default=[]) + """ + List of all service presets + """ + + +class SystemdServicesPresetInfoTarget(SystemdServicesPresetInfoSource): + """ + Analogy to :class:`SystemdServicesPresetInfoSource` but for the target system + """ diff --git a/repos/system_upgrade/common/models/targetrepositories.py b/repos/system_upgrade/common/models/targetrepositories.py new file mode 100644 index 0000000..02c6c5e --- /dev/null +++ b/repos/system_upgrade/common/models/targetrepositories.py @@ -0,0 +1,71 @@ +from leapp.models import fields, Model +from leapp.topics import TransactionTopic + + +class TargetRepositoryBase(Model): + topic = TransactionTopic + repoid = fields.String() + + +class UsedTargetRepository(TargetRepositoryBase): + pass + + +class RHELTargetRepository(TargetRepositoryBase): + pass + + +class CustomTargetRepository(TargetRepositoryBase): + name = fields.Nullable(fields.String()) + baseurl = fields.Nullable(fields.String()) + enabled = fields.Boolean(default=True) + + +class TargetRepositories(Model): + """ + Repositories supposed to be used during the IPU process + + The list of the actually used repositories could be just subset + of these repositoies. In case of `custom_repositories`, all such repositories + must be available otherwise the upgrade is inhibited. But in case of + `rhel_repos`, only BaseOS and Appstream repos are required now. If others + are missing, upgrade can still continue. + """ + topic = TransactionTopic + rhel_repos = fields.List(fields.Model(RHELTargetRepository)) + """ + Expected target YUM RHEL repositories provided via RHSM + + These repositories are stored inside /etc/yum.repos.d/redhat.repo and + are expected to be used based on the provided repositories mapping. + """ + + custom_repos = fields.List(fields.Model(CustomTargetRepository), default=[]) + """ + Custom YUM repositories required to be used for the IPU + + Usually contains third-party or custom repositories specified by user + to be used for the IPU. But can contain also RHEL repositories. Difference + is that these repositories are not mapped automatically but are explicitly + required by user or by an additional product via actors. + """ + + +class UsedTargetRepositories(Model): + """ + Repositories that are used for the IPU process + + This is the source of truth about the repositories used during the upgrade. + Once specified, it is used for all actions related to the upgrade rpm + transaction itself. + """ + topic = TransactionTopic + repos = fields.List(fields.Model(UsedTargetRepository)) + """ + The list of the used target repositories. + """ + + +class CustomTargetRepositoryFile(Model): + topic = TransactionTopic + file = fields.String() diff --git a/repos/system_upgrade/common/models/targetuserspace.py b/repos/system_upgrade/common/models/targetuserspace.py new file mode 100644 index 0000000..4b5d4bd --- /dev/null +++ b/repos/system_upgrade/common/models/targetuserspace.py @@ -0,0 +1,130 @@ +from leapp.models import fields, Model +from leapp.topics import BootPrepTopic, TargetUserspaceTopic, TransactionTopic +from leapp.utils.deprecation import deprecated + + +class TargetUserSpaceInfo(Model): + """ + Information about the target userspace container to be able to use it + + The target userspace container contains the most crucial part of the target + system to be able to proceed the inplace upgrade process (let's simplify + it, and call it bootstrap of the target system). It contains (e.g.) the + package manager of the target system, so we can calculate and process + the RPM transaction. Additionally, it is used to create the upgrade + initramfs (see the UpgradeInitramfsTasks model for more information). + + See the TargetUserSpaceTasks model for possibilities to influence content + of the container automatically. + """ + topic = TransactionTopic + + path = fields.String() + """ + Path to the created target userspace directory + + It could be used as a container. It contains top level rootfs + directories (bin, usr, var, ...). + """ + + scratch = fields.String() + """ + Path to the directory with stored xfs-ftype workaround files + + It's not possible to create overlayfs over XFS without the ftype attribute. + To workaround this problem, we are creating these files with EXT4 FS + inside. + """ + + mounts = fields.String() + """ + Path to the directory with additional mountpoints for the target userspace + container. + + E.g. the overlayfss of the host filesystems can be stored here. + """ + + +class CopyFile(Model): + """ + Specify a file that should be copied from the host to the target userspace + container + """ + topic = TransactionTopic + + src = fields.String() + """ + Canonical path to the file (on the host) that should be copied + """ + + dst = fields.Nullable(fields.String()) + """ + The path inside the target userspace container where the file should + be copied. + + Do not add the path to the container itself. E.g. when the file should be + installed into /etc/myconf in the container context, set /etc/myconf, + not /path/to/container/etc/myconf. + + If dst is not set, the path inside the container is same as on the host. + """ + + +class TargetUserSpacePreupgradeTasks(Model): + """ + Influence content of the target userspace container + + See the TargetUserSpaceInfo model description for more info about the + target userspace container. + """ + topic = TransactionTopic + + copy_files = fields.List(fields.Model(CopyFile), default=[]) + """ + List of files on the host that should be copied into the container + + Directories are supported as well. + + If a file/dir already exists on the destination path, it is removed & + replaced. + """ + + install_rpms = fields.List(fields.String(), default=[]) + """ + List of rpm names that are required to be installed when the container + is created. + """ + + +class TargetUserSpaceUpgradeTasks(TargetUserSpacePreupgradeTasks): + """ + Analogy to the TargetUserSpacePreupgradeTasks model, but focused + on initramfs requirements. + + Generate this message to ensure all RPMs and configuration files, needed + to be able to generate the upgrade initramfs (see UpgradeInitramfsTasks), + are available inside the container. + + For performance reasons (do not download & install bunch of rpms before + it's sure the upgrade is not inhibited) these tasks are executed just + in time it's 'sure' the upgrade is going to happen. + """ + + +@deprecated(since='2021-10-10', message='Replaced by TargetUserSpacePreupgradeTasks.') +class RequiredTargetUserspacePackages(Model): + topic = TargetUserspaceTopic + packages = fields.List(fields.String(), default=[]) + + +@deprecated(since='2021-10-10', message='Replaced by TargetUserSpaceInitrdEnvTasks') +class RequiredUpgradeInitramPackages(Model): + """ + Requests packages to be installed so that the leapp upgrade dracut image generation will succeed + """ + topic = BootPrepTopic + + packages = fields.List(fields.String(), default=[]) + """ + List of packages names to install on the target userspace so their content can be included in the initram disk + """ diff --git a/repos/system_upgrade/common/models/transactioncompleted.py b/repos/system_upgrade/common/models/transactioncompleted.py new file mode 100644 index 0000000..b0c48ca --- /dev/null +++ b/repos/system_upgrade/common/models/transactioncompleted.py @@ -0,0 +1,10 @@ +from leapp.models import Model +from leapp.topics import TransactionTopic + + +class TransactionCompleted(Model): + topic = TransactionTopic + + +class TransactionDryRun(Model): + topic = TransactionTopic diff --git a/repos/system_upgrade/common/models/udev.py b/repos/system_upgrade/common/models/udev.py new file mode 100644 index 0000000..27d8f16 --- /dev/null +++ b/repos/system_upgrade/common/models/udev.py @@ -0,0 +1,9 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class UdevAdmInfoData(Model): + topic = SystemInfoTopic + + db = fields.String() + """Database export obtained by executing 'udevadm info -e'.""" diff --git a/repos/system_upgrade/common/models/upgradeiso.py b/repos/system_upgrade/common/models/upgradeiso.py new file mode 100644 index 0000000..da612be --- /dev/null +++ b/repos/system_upgrade/common/models/upgradeiso.py @@ -0,0 +1,14 @@ +from leapp.models import CustomTargetRepository, fields, Model +from leapp.topics import SystemFactsTopic + + +class TargetOSInstallationImage(Model): + """ + An installation image of a target OS requested to be the source of target OS packages. + """ + topic = SystemFactsTopic + path = fields.String() + mountpoint = fields.String() + repositories = fields.List(fields.Model(CustomTargetRepository)) + rhel_version = fields.String(default='') + was_mounted_successfully = fields.Boolean(default=False) diff --git a/repos/system_upgrade/common/models/usedrepositories.py b/repos/system_upgrade/common/models/usedrepositories.py new file mode 100644 index 0000000..25abf92 --- /dev/null +++ b/repos/system_upgrade/common/models/usedrepositories.py @@ -0,0 +1,23 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class UsedRepository(Model): + """ + Describe list of current packages installed from a specific repository + """ + + topic = SystemInfoTopic + + repository = fields.String() + packages = fields.List(fields.String(), default=[]) + + +class UsedRepositories(Model): + """ + Describe list of used repositories in the current system + """ + + topic = SystemInfoTopic + + repositories = fields.List(fields.Model(UsedRepository), default=[]) diff --git a/repos/system_upgrade/common/models/usersfacts.py b/repos/system_upgrade/common/models/usersfacts.py new file mode 100644 index 0000000..5d7c3c1 --- /dev/null +++ b/repos/system_upgrade/common/models/usersfacts.py @@ -0,0 +1,17 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class User(Model): + topic = SystemFactsTopic + + name = fields.String() + uid = fields.Integer() + gid = fields.Integer() + home = fields.String() + + +class UsersFacts(Model): + topic = SystemFactsTopic + + users = fields.List(fields.Model(User)) diff --git a/repos/system_upgrade/common/models/xfspresence.py b/repos/system_upgrade/common/models/xfspresence.py new file mode 100644 index 0000000..06be382 --- /dev/null +++ b/repos/system_upgrade/common/models/xfspresence.py @@ -0,0 +1,18 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class XFSPresence(Model): + """ + A generic message reporting mountpoints with XFS using ftype = 0 + """ + topic = SystemInfoTopic + + present = fields.Boolean(default=False) + """ XFS is used on at least one mountpoint """ + + without_ftype = fields.Boolean(default=False) + """ At least one mountpoint is using XFS with ftype=0 """ + + mountpoints_without_ftype = fields.List(fields.String(), default=[]) + """ List of mountpoints that have ftype=0 """ diff --git a/repos/system_upgrade/common/tags/applications.py b/repos/system_upgrade/common/tags/applications.py new file mode 100644 index 0000000..66a906c --- /dev/null +++ b/repos/system_upgrade/common/tags/applications.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class ApplicationsPhaseTag(Tag): + name = 'applications' diff --git a/repos/system_upgrade/common/tags/checks.py b/repos/system_upgrade/common/tags/checks.py new file mode 100644 index 0000000..b38657b --- /dev/null +++ b/repos/system_upgrade/common/tags/checks.py @@ -0,0 +1,9 @@ +from leapp.tags import Tag + + +class ChecksPhaseTag(Tag): + name = 'checks' + + +class TargetTransactionChecksPhaseTag(Tag): + name = 'target_checks' diff --git a/repos/system_upgrade/common/tags/download.py b/repos/system_upgrade/common/tags/download.py new file mode 100644 index 0000000..439e595 --- /dev/null +++ b/repos/system_upgrade/common/tags/download.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class DownloadPhaseTag(Tag): + name = 'download' diff --git a/repos/system_upgrade/common/tags/facts.py b/repos/system_upgrade/common/tags/facts.py new file mode 100644 index 0000000..71cb5d0 --- /dev/null +++ b/repos/system_upgrade/common/tags/facts.py @@ -0,0 +1,9 @@ +from leapp.tags import Tag + + +class FactsPhaseTag(Tag): + name = 'facts' + + +class TargetTransactionFactsPhaseTag(Tag): + name = 'target_transaction_facts' diff --git a/repos/system_upgrade/common/tags/finalization.py b/repos/system_upgrade/common/tags/finalization.py new file mode 100644 index 0000000..cc49d6d --- /dev/null +++ b/repos/system_upgrade/common/tags/finalization.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class FinalizationPhaseTag(Tag): + name = 'finalization' diff --git a/repos/system_upgrade/common/tags/firstboot.py b/repos/system_upgrade/common/tags/firstboot.py new file mode 100644 index 0000000..1335b20 --- /dev/null +++ b/repos/system_upgrade/common/tags/firstboot.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class FirstBootPhaseTag(Tag): + name = 'first_boot' diff --git a/repos/system_upgrade/common/tags/initramstart.py b/repos/system_upgrade/common/tags/initramstart.py new file mode 100644 index 0000000..07f11f6 --- /dev/null +++ b/repos/system_upgrade/common/tags/initramstart.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class InitRamStartPhaseTag(Tag): + name = 'init_ram_start' diff --git a/repos/system_upgrade/common/tags/interimpreparation.py b/repos/system_upgrade/common/tags/interimpreparation.py new file mode 100644 index 0000000..60cd988 --- /dev/null +++ b/repos/system_upgrade/common/tags/interimpreparation.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class InterimPreparationPhaseTag(Tag): + name = 'interim_preparation' diff --git a/repos/system_upgrade/common/tags/ipu.py b/repos/system_upgrade/common/tags/ipu.py new file mode 100644 index 0000000..ae0f10a --- /dev/null +++ b/repos/system_upgrade/common/tags/ipu.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class IPUWorkflowTag(Tag): + name = 'ipu' diff --git a/repos/system_upgrade/common/tags/latetests.py b/repos/system_upgrade/common/tags/latetests.py new file mode 100644 index 0000000..edcae12 --- /dev/null +++ b/repos/system_upgrade/common/tags/latetests.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class LateTestsPhaseTag(Tag): + name = 'late_tests' diff --git a/repos/system_upgrade/common/tags/preparation.py b/repos/system_upgrade/common/tags/preparation.py new file mode 100644 index 0000000..9dff312 --- /dev/null +++ b/repos/system_upgrade/common/tags/preparation.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class PreparationPhaseTag(Tag): + name = 'preparation' diff --git a/repos/system_upgrade/common/tags/report.py b/repos/system_upgrade/common/tags/report.py new file mode 100644 index 0000000..e2aa23e --- /dev/null +++ b/repos/system_upgrade/common/tags/report.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class ReportPhaseTag(Tag): + name = 'report' diff --git a/repos/system_upgrade/common/tags/rpmupgrade.py b/repos/system_upgrade/common/tags/rpmupgrade.py new file mode 100644 index 0000000..ee1250b --- /dev/null +++ b/repos/system_upgrade/common/tags/rpmupgrade.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class RPMUpgradePhaseTag(Tag): + name = 'rpm_upgrade' diff --git a/repos/system_upgrade/common/tags/thirdpartyapplications.py b/repos/system_upgrade/common/tags/thirdpartyapplications.py new file mode 100644 index 0000000..b91d93c --- /dev/null +++ b/repos/system_upgrade/common/tags/thirdpartyapplications.py @@ -0,0 +1,5 @@ +from leapp.tags import Tag + + +class ThirdPartyApplicationsPhaseTag(Tag): + name = 'third_party_applications' diff --git a/repos/system_upgrade/common/tools/importrpmgpgkeys b/repos/system_upgrade/common/tools/importrpmgpgkeys new file mode 100755 index 0000000..79e5c58 --- /dev/null +++ b/repos/system_upgrade/common/tools/importrpmgpgkeys @@ -0,0 +1,35 @@ +#!/usr/bin/bash -ef + +log_error() { + echo >&2 "Error: $1" +} + +log_info() { + echo >&2 "Info: $1" +} + +if [ "$#" -eq 0 ]; then + log_error "Missing the required path to the directory with trusted GPG keys." + exit 1 +elif [ "$#" -ge 2 ]; then + log_error "Expected only one argument, received $#. Possibly unescaped whitespaces? '$*'" + exit 1 +fi + +if [ ! -e "$1" ]; then + log_error "The $1 directory does not exist." + exit 1 +fi + +error_flag=0 +IFS=$'\n' +# shellcheck disable=SC2044 +for key_file in $(find -L "$1" -type f); do + log_info "Importing GPG keys from: $key_file" + rpm --import "$key_file" || { + error_flag=2 + log_error "Unable to import GPG keys from: $key_file" + } +done + +exit $error_flag diff --git a/repos/system_upgrade/common/tools/removerpmgpgkeys b/repos/system_upgrade/common/tools/removerpmgpgkeys new file mode 100755 index 0000000..afe1906 --- /dev/null +++ b/repos/system_upgrade/common/tools/removerpmgpgkeys @@ -0,0 +1,13 @@ +#!/usr/bin/sh + +exit_code=0 + +for key in "$@"; do + echo >&2 "Info: Removing RPM GPG key: $key" + rpm --erase "$key" || { + exit_code=1 + echo >&2 "Error: Failed to remove RPM GPG key: $key" + } +done + +exit $exit_code diff --git a/repos/system_upgrade/common/topics/bootprep.py b/repos/system_upgrade/common/topics/bootprep.py new file mode 100644 index 0000000..7891438 --- /dev/null +++ b/repos/system_upgrade/common/topics/bootprep.py @@ -0,0 +1,5 @@ +from leapp.topics import Topic + + +class BootPrepTopic(Topic): + name = 'boot_prep' diff --git a/repos/system_upgrade/common/topics/rhsm.py b/repos/system_upgrade/common/topics/rhsm.py new file mode 100644 index 0000000..29b00f4 --- /dev/null +++ b/repos/system_upgrade/common/topics/rhsm.py @@ -0,0 +1,5 @@ +from leapp.topics import Topic + + +class RHSMTopic(Topic): + name = 'rhsm' diff --git a/repos/system_upgrade/common/topics/sctpconfigtopic.py b/repos/system_upgrade/common/topics/sctpconfigtopic.py new file mode 100644 index 0000000..d7c9782 --- /dev/null +++ b/repos/system_upgrade/common/topics/sctpconfigtopic.py @@ -0,0 +1,5 @@ +from leapp.topics import Topic + + +class SCTPConfigTopic(Topic): + name = 'sctp_config_topic' diff --git a/repos/system_upgrade/common/topics/systemfacts.py b/repos/system_upgrade/common/topics/systemfacts.py new file mode 100644 index 0000000..74d53cf --- /dev/null +++ b/repos/system_upgrade/common/topics/systemfacts.py @@ -0,0 +1,5 @@ +from leapp.topics import Topic + + +class SystemFactsTopic(Topic): + name = 'system_facts' diff --git a/repos/system_upgrade/common/topics/targetuserspace.py b/repos/system_upgrade/common/topics/targetuserspace.py new file mode 100644 index 0000000..79a9bd0 --- /dev/null +++ b/repos/system_upgrade/common/topics/targetuserspace.py @@ -0,0 +1,5 @@ +from leapp.topics import Topic + + +class TargetUserspaceTopic(Topic): + name = 'target_userspace' diff --git a/repos/system_upgrade/common/topics/transaction.py b/repos/system_upgrade/common/topics/transaction.py new file mode 100644 index 0000000..182f00a --- /dev/null +++ b/repos/system_upgrade/common/topics/transaction.py @@ -0,0 +1,5 @@ +from leapp.topics import Topic + + +class TransactionTopic(Topic): + name = 'transaction' diff --git a/repos/system_upgrade/common/workflows/inplace_upgrade.py b/repos/system_upgrade/common/workflows/inplace_upgrade.py new file mode 100644 index 0000000..d4871aa --- /dev/null +++ b/repos/system_upgrade/common/workflows/inplace_upgrade.py @@ -0,0 +1,220 @@ +from leapp import tags +from leapp.models import IPUConfig +from leapp.workflows import Workflow +from leapp.workflows.flags import Flags +from leapp.workflows.phases import Phase +from leapp.workflows.policies import Policies +from leapp.workflows.tagfilters import TagFilter + + +class IPUWorkflow(Workflow): + """In-Place Upgrade workflow used by the leapp utility to process the in-place upgrade.""" + + name = 'InplaceUpgrade' + tag = tags.IPUWorkflowTag + short_name = 'ipu' + configuration = IPUConfig + description = """The IPU workflow takes care of an in-place upgrade (IPU) of RHEL 7 to RHEL 8.""" + + class FactsCollectionPhase(Phase): + """ + Get information (facts) about the system (e.g. installed packages, configuration, ...). + + No decision should be done in this phase. Scan the system to get information you need and provide + it to other actors in the following phases. + """ + + name = 'FactsCollection' + filter = TagFilter(tags.FactsPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class ChecksPhase(Phase): + """ + Check upgradability of the system, produce user question if needed and produce output for the report. + + Check whether it is possible to upgrade the system and detect potential risks. It is not expected to get + additional information about the system in this phase, but rather work with data provided by the actors from + the FactsCollection. When a potential risk is detected for upgrade, produce messages for the Reports phase. + """ + + name = 'Checks' + filter = TagFilter(tags.ChecksPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class TargetTransactionFactsCollectionPhase(Phase): + """ + Get information about target system. Analogy of FactsCollectionPhase for target system. + + Here we can collect information what repositories are available on target system, + what is expected calculation of target transaction (what will be installed, removed, ... + """ + + name = 'TargetTransactionFactsCollection' + filter = TagFilter(tags.TargetTransactionFactsPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class TargetTransactionChecksPhase(Phase): + """ + Checks upgradability regarding the information gathered about the target system. + + Check whether expected repositories and rpms are available, what rpms are planned + to install, remove, ... + + IOW, checks related to rpm transaction mainly. + """ + + name = 'TargetTransactionCheck' + filter = TagFilter(tags.TargetTransactionChecksPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class ReportsPhase(Phase): + """Provide user with the result of the checks.""" + + name = 'Reports' + filter = TagFilter(tags.ReportPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + # The following two phases have been removed but are kept here for reference or in case they are needed again + + # class AttachPackageReposPhase(Phase): + # name = 'AttachPackageRepos' + # #NOTE: in case of use the AttachPackageReposPhaseTag tag has to be created + # filter = TagFilter(tags.AttachPackageReposPhaseTag) + # policies = Policies(Policies.Errors.FailPhase, + # Policies.Retry.Phase) + # flags = Flags() + + # class PlanningPhase(Phase): + # name = 'Planning' + # #NOTE: in case of use the PlanningPhaseTag tag has to be created + # filter = TagFilter(tags.PlanningPhaseTag) + # policies = Policies(Policies.Errors.FailPhase, + # Policies.Retry.Phase) + # flags = Flags() + + class DownloadPhase(Phase): + """Download data needed for the upgrade and prepare RPM transaction for the upgrade.""" + + name = 'Download' + filter = TagFilter(tags.DownloadPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class InterimPreparationPhase(Phase): + """Prepare an initial RAM file system (if required). Setup bootloader.""" + + name = 'InterimPreparation' + filter = TagFilter(tags.InterimPreparationPhaseTag) + policies = Policies(Policies.Errors.FailImmediately, + Policies.Retry.Phase) + flags = Flags(request_restart_after_phase=True) + + class InitRamStartPhase(Phase): + """Boot into the upgrade initramfs, mount disks, etc.""" + + name = 'InitRamStart' + filter = TagFilter(tags.InitRamStartPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + # The following two phases have been removed but are kept here for reference or in case they are needed again + + # class NetworkPhase(Phase): + # name = 'Network' + # #NOTE: in case of use the NetworkPhaseTag tag has to be created + # filter = TagFilter(tags.NetworkPhaseTag) + # policies = Policies(Policies.Errors.FailPhase, + # Policies.Retry.Phase) + # flags = Flags() + + # class StoragePhase(Phase): + # name = 'Storage' + # #NOTE: in case of use the StoragePhaseTag tag has to be created + # filter = TagFilter(tags.StoragePhaseTag) + # policies = Policies(Policies.Errors.FailPhase, + # Policies.Retry.Phase) + # flags = Flags() + + class LateTestsPhase(Phase): + """Last tests before the RPM upgrade that have to be done with the new kernel and systemd.""" + + name = 'LateTests' + filter = TagFilter(tags.LateTestsPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class PreparationPhase(Phase): + """Prepare the environment to ascertain success of the RPM upgrade transaction.""" + + name = 'Preparation' + filter = TagFilter(tags.PreparationPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class RPMUpgradePhase(Phase): + """Perform the RPM transaction, i.e. upgrade the RPMs.""" + + name = 'RPMUpgrade' + filter = TagFilter(tags.RPMUpgradePhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags(is_checkpoint=True) + + class ApplicationsPhase(Phase): + """ + Perform the necessary steps to finish upgrade of applications provided by Red Hat. + + This may include moving/renaming of configuration files, modifying configuration of applications to be able + to run correctly and with as similar behaviour to the original as possible. + """ + + name = 'Applications' + filter = TagFilter(tags.ApplicationsPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class ThirdPartyApplicationsPhase(Phase): + """Analogy to the Applications phase, but for third party and custom applications.""" + + name = 'ThirdPartyApplications' + filter = TagFilter(tags.ThirdPartyApplicationsPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() + + class FinalizationPhase(Phase): + """ + Additional actions that should be done before rebooting into the upgraded system. + + For example SELinux relabeling. + """ + + name = 'Finalization' + filter = TagFilter(tags.FinalizationPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags(restart_after_phase=True) + + class FirstBootPhase(Phase): + """Actions to be done right after booting into the upgraded system.""" + + name = 'FirstBoot' + filter = TagFilter(tags.FirstBootPhaseTag) + policies = Policies(Policies.Errors.FailPhase, + Policies.Retry.Phase) + flags = Flags() diff --git a/repos/system_upgrade/el7toel8/.leapp/info b/repos/system_upgrade/el7toel8/.leapp/info new file mode 100644 index 0000000..db97750 --- /dev/null +++ b/repos/system_upgrade/el7toel8/.leapp/info @@ -0,0 +1 @@ +{"repos": ["efcf9016-f2d1-4609-9329-a298e6587b3c", "644900a5-c347-43a3-bfab-f448f46d9647"], "messages": {}, "name": "system_upgrade_el7toel8", "id": "c47fbc3d-ae38-416e-9176-7163d67d94f6"} diff --git a/repos/system_upgrade/el7toel8/.leapp/leapp.conf b/repos/system_upgrade/el7toel8/.leapp/leapp.conf new file mode 100644 index 0000000..707baa3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/.leapp/leapp.conf @@ -0,0 +1,6 @@ + +[repositories] +repo_path=${project:root_dir} + +[database] +path=${project:state_dir}/leapp.db diff --git a/repos/system_upgrade/el7toel8/actors/authselectapply/actor.py b/repos/system_upgrade/el7toel8/actors/authselectapply/actor.py new file mode 100644 index 0000000..8e8b8f5 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/authselectapply/actor.py @@ -0,0 +1,71 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.stdlib import CalledProcessError, run +from leapp.models import Authselect, AuthselectDecision +from leapp.reporting import create_report, Report +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + +resources = [ + reporting.RelatedResource('package', 'authselect'), + reporting.RelatedResource('package', 'authconfig'), + reporting.RelatedResource('file', '/etc/nsswitch.conf') +] + + +class AuthselectApply(Actor): + """ + Apply changes suggested by AuthselectScanner. + + If confirmed by admin in AuthselectDecision, call suggested authselect + command to configure the system using this tool. + """ + + name = 'authselect_apply' + consumes = (Authselect, AuthselectDecision,) + produces = (Report,) + tags = (IPUWorkflowTag, ApplicationsPhaseTag) + + def process(self): + model = next(self.consume(Authselect)) + decision = next(self.consume(AuthselectDecision)) + + if not decision.confirmed or model.profile is None: + return + + command = ['authselect', 'select', '--force', model.profile] + model.features + + try: + run(command) + except CalledProcessError as err: + create_report([ # pylint: disable-msg=too-many-arguments + reporting.Title('Authselect call failed'), + reporting.Summary(str(err)), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.TOOLS + ]), + reporting.Groups([ + reporting.Groups.FAILURE + ]) + ] + resources) # pylint: disable-msg=too-many-arguments + return + + try: + run(['systemctl', 'enable', 'oddjobd.service']) + except (OSError, CalledProcessError) as e: + self.log.warning('Error enabling oddjobd.service: {}'.format(e)) + + create_report([ # pylint: disable-msg=too-many-arguments + reporting.Title('System was converted to authselect.'), + reporting.Summary( + 'System was converted to authselect with the ' + 'following call: "{}"'.format(' '.join(command)) + ), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.TOOLS + ]) + ] + resources) # pylint: disable-msg=too-many-arguments diff --git a/repos/system_upgrade/el7toel8/actors/authselectcheck/actor.py b/repos/system_upgrade/el7toel8/actors/authselectcheck/actor.py new file mode 100644 index 0000000..02a102e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/authselectcheck/actor.py @@ -0,0 +1,185 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.dialogs import Dialog +from leapp.dialogs.components import BooleanComponent +from leapp.models import Authselect, AuthselectDecision +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +resources = [ + reporting.RelatedResource('package', 'authselect'), + reporting.RelatedResource('package', 'authconfig'), + reporting.RelatedResource('file', '/etc/nsswitch.conf') +] + + +class AuthselectCheck(Actor): + """ + Confirm suggested authselect call from AuthselectScanner. + + AuthselectScanner produces an Authselect model that contains changes + that are suggested based on current configuration. This actor will + ask administrator for confirmation and will report the result. + """ + + name = 'authselect_check' + consumes = (Authselect,) + produces = (AuthselectDecision, Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + dialogs = ( + Dialog( + scope='authselect_check', + reason='Confirmation', + components=( + BooleanComponent( + key='confirm', + label='Configure PAM and nsswitch.conf with the following ' + 'authselect call?', + default=True, + description='If yes, suggested authselect profile will ' + 'be applied on your system to generate ' + 'PAM and nsswitch.conf configuration. ' + 'If no, current configuration will be kept ' + 'intact.', + reason='There is a new tool called authselect in RHEL8 ' + 'that replaced authconfig which is used to manage ' + 'authentication (PAM) and identity (nsswitch.conf) ' + 'sources. It is recommended to switch to this tool.' + ), + ) + ), + ) + + def process(self): + model = next(self.consume(Authselect)) + + # If there is no equivalent authselect profile we will not touch + # the current configuration. Therefore there is no need for + # confirmation. + if model.profile is None: + self.produce_current_configuration(model) + return + + command = 'authselect select {0} {1} --force'.format( + model.profile, + ' '.join(model.features) + ) + + # We do not need admin confirmation if the current + # configuration was generated with authconfig. + if not model.confirm: + self.produce_authconfig_configuration(model, command) + return + + # Authselect profile is available but we require confirmation. + confirmed = self.get_confirmation(model, command) + if confirmed is not None: + # A user has made his choice + self.produce_suggested_configuration(model, confirmed, command) + + def get_confirmation(self, model, command): + dialog = self.dialogs[0] + + dialog.components[0].label += " {}".format(command) + + return self.get_answers(dialog).get('confirm') + + def produce_authconfig_configuration(self, model, command): + self.produce( + AuthselectDecision( + confirmed=True + ) + ) + + create_report([ + reporting.Title( + 'Authselect will be used to configure PAM and nsswitch.conf.' + ), + reporting.Summary( + 'There is a new tool called authselect in RHEL8 that ' + 'replaced authconfig. The upgrade process detected ' + 'that authconfig was used to generate current ' + 'configuration and it will automatically convert it ' + 'to authselect. Authselect call is: {}. The process will ' + 'also enable "oddjobd" systemd service on startup'.format(command) + ), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.TOOLS + ]) + ] + resources) + + def produce_current_configuration(self, model): + self.produce( + AuthselectDecision( + confirmed=False + ) + ) + + create_report([ + reporting.Title( + 'Current PAM and nsswitch.conf configuration will be kept.' + ), + reporting.Summary( + 'There is a new tool called authselect in RHEL8 that ' + 'replaced authconfig. The upgrade process was unable ' + 'to find an authselect profile that would be equivalent ' + 'to your current configuration. Therefore your ' + 'configuration will be left intact.' + ), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.TOOLS + ]), + reporting.Severity(reporting.Severity.INFO) + ] + resources) + + def produce_suggested_configuration(self, model, confirmed, command): + self.produce( + AuthselectDecision( + confirmed=confirmed + ) + ) + if confirmed: + create_report([ + reporting.Title( + 'Authselect will be used to configure PAM and nsswitch.conf.' + ), + reporting.Summary( + 'There is a new tool called authselect in RHEL8 that ' + 'replaced authconfig. The upgrade process suggested ' + 'an authselect profile that is similar to your ' + 'current configuration and your system will be switched ' + 'to this profile. Authselect call is: {}. The process will ' + 'also enable "oddjobd" systemd service on startup'.format(command) + ), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.TOOLS + ]) + ] + resources) + + else: + create_report([ + reporting.Title( + 'Current PAM and nsswitch.conf configuration will be kept.' + ), + reporting.Summary( + 'There is a new tool called authselect in RHEL8 that ' + 'replaced authconfig. The upgrade process suggested ' + 'an authselect profile that is similar to your ' + 'current configuration. However this suggestion was ' + 'refused therefore existing configuration will be kept ' + 'intact.', + ), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.TOOLS + ]), + reporting.Remediation(commands=[[command]]), + reporting.Severity(reporting.Severity.MEDIUM) + ] + resources) diff --git a/repos/system_upgrade/el7toel8/actors/authselectscanner/actor.py b/repos/system_upgrade/el7toel8/actors/authselectscanner/actor.py new file mode 100644 index 0000000..3a4033a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/authselectscanner/actor.py @@ -0,0 +1,95 @@ +from leapp.actors import Actor +from leapp.libraries.actor.authselectscanner import ( + Authconfig, + AuthselectScannerLibrary, + DConf, + read_file +) +from leapp.libraries.common.pam import PAM +from leapp.models import Authselect +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class AuthselectScanner(Actor): + """ + Detect what authselect configuration should be suggested to administrator. + + 1. Detect possible authselect profile by looking up modules in PAM + or by checking that daemon is enabled. + - pam_sss -> sssd + - pam_winbind -> winbind + - ypbind enabled -> nis + + If more then one module/daemon is detected that we will keep the + configuration intact. No authselect profile can be applied. + + 2. Detect authselect profile features by looking up modules in PAM + or nsswitch.conf. + - pam_faillock => with-faillock + - pam_fprintd => with-fingerprint + - pam_access => with-pamaccess + - pam_mkhomedir => with-mkhomedir + - pam_oddjob_mkhomedir => with-mkhomedir + + 3. Check if there are any unknown PAM modules. + If there are used PAM modules not used in authselect (such as pam_ldap), + we must keep the configuration intact. + + 4. Check if authconfig was used to create current configuration. + If yes, we can automatically convert the configuration to authselect. + If no, we need admin's confirmation. + + - Check that /etc/sysconfig/authconfig exists. + - Check that PAM configuration uses authconfig files. + - Check that PAM configuration was not touch after sysconfig file + was created. + """ + + name = 'authselect_scanner' + consumes = () + produces = (Authselect,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + known_modules = [ + 'pam_access', + 'pam_deny', + 'pam_ecryptfs', + 'pam_env', + 'pam_faildelay', + 'pam_faillock', + 'pam_fprintd', + 'pam_keyinit', + 'pam_krb5', + 'pam_lastlog', + 'pam_limits', + 'pam_localuser', + 'pam_mkhomedir', + 'pam_oddjob_mkhomedir', + 'pam_permit', + 'pam_pkcs11', + 'pam_pwquality', + 'pam_sss', + 'pam_succeed_if', + 'pam_systemd', + 'pam_u2f', + 'pam_umask', + 'pam_unix', + 'pam_winbind' + ] + """ + List of PAM modules that are known by authselect. + """ + + def process(self): + # Load configuration + ac = Authconfig(read_file('/etc/sysconfig/authconfig')) + dconf = DConf(read_file('/etc/dconf/db/distro.d/10-authconfig')) + pam = PAM.from_system_configuration() + nsswitch = read_file("/etc/nsswitch.conf") + + scanner = AuthselectScannerLibrary( + self.known_modules, + ac, dconf, pam, nsswitch + ) + + self.produce(scanner.process()) diff --git a/repos/system_upgrade/el7toel8/actors/authselectscanner/libraries/authselectscanner.py b/repos/system_upgrade/el7toel8/actors/authselectscanner/libraries/authselectscanner.py new file mode 100644 index 0000000..8293220 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/authselectscanner/libraries/authselectscanner.py @@ -0,0 +1,267 @@ +import os +import re +import textwrap + +from six import StringIO + +from leapp.libraries.common import utils +from leapp.libraries.stdlib import CalledProcessError, run +from leapp.models import Authselect + + +def read_file(config): + """ + Read file contents. Return empty string if the file does not exist. + """ + if not os.path.isfile(config): + return "" + with open(config) as f: + return f.read() + + +def is_service_enabled(service): + """ + Return true if @service is enabled with systemd, false otherwise. + """ + try: + run(["/usr/bin/systemctl", "is-enabled", "{}.service".format(service)]) + except (OSError, CalledProcessError): + return False + + return True + + +class ConfigFile(object): + """ + Base class for config parsers. + """ + + def __init__(self, content): + parser = utils.parse_config(StringIO(textwrap.dedent(content))) + self.config = parser + + def get_string(self, section, option): + if not self.config.has_option(section, option): + return None + + return self.config.get(section, option).strip('"\'') + + def get_bool(self, section, option): + if not self.config.has_option(section, option): + return False + + return self.config.getboolean(section, option) + + +class Authconfig(ConfigFile): + """ + Parse authconfig configuration. + """ + + def __init__(self, config): + # We add a custom section to convert the config to ini format + super(Authconfig, self).__init__('[authconfig]\n' + config) + + def get_string(self, option): + return super(Authconfig, self).get_string('authconfig', option) + + def get_bool(self, option): + return super(Authconfig, self).get_bool('authconfig', option) + + +class DConf(ConfigFile): + """ + Parse dconf configuration. + """ + + +class AuthselectScannerLibrary(object): + """ + Detect what authselect configuration should be suggested to administrator. + + 1. Detect possible authselect profile by looking up modules in PAM + or by checking that daemon is enabled. + - pam_sss -> sssd + - pam_winbind -> winbind + - ypbind enabled -> nis + + If more then one module/daemon is detected that we will keep the + configuration intact. No authselect profile can be applied. + + 2. Detect authselect profile features by looking up modules in PAM + or nsswitch.conf. + - pam_faillock => with-faillock + - pam_fprintd => with-fingerprint + - pam_access => with-pamaccess + - pam_mkhomedir => with-mkhomedir + - pam_oddjob_mkhomedir => with-mkhomedir + + 3. Check if there are any unknown PAM modules. + If there are used PAM modules not used in authselect (such as pam_ldap), + we must keep the configuration intact. + + 4. Check if authconfig was used to create current configuration. + If yes, we can automatically convert the configuration to authselect. + If no, we need admin's confirmation. + + - Check that /etc/sysconfig/authconfig exists. + - Check that PAM configuration uses authconfig files. + - Check that PAM configuration was not touch after sysconfig file + was created. + """ + + def __init__(self, known_modules, authconfig, dconf, pam, nsswitch): + self.known_modules = known_modules + self.ac = authconfig + self.dconf = dconf + self.pam = pam + self.nsswitch = nsswitch + + self.profile = None + self.features = [] + self.confirm = True + + def process(self): + # Detect possible authselect configuration + self.profile = self.step_detect_profile() + self.features += self.step_detect_features() + self.features += self.step_detect_sssd_features(self.profile) + self.features += self.step_detect_winbind_features(self.profile) + + # Check if there is any module that is not known by authselect. + # In this case we must left existing configuration intact. + if self.pam.has_unknown_module(self.known_modules): + self.profile = None + self.features = [] + + # Check if the proposed authselect configuration can be activated + # automatically or admin's confirmation is required. + self.confirm = self.step_detect_if_confirmation_is_required() + + # Remove duplicates + self.features = sorted(set(self.features)) + + return Authselect( + profile=self.profile, + features=self.features, + confirm=self.confirm + ) + + def step_detect_profile(self): + """ + Authselect supports three different profiles: + - sssd + - winbind + - nis + + Only one of these profiles can be selected therefore if existing + configuration contains combination of these daemons we can not + suggest any profile and must keep existing configuration. + """ + enabled_no = 0 + profile = None + + if self.pam.has('pam_sss'): + profile = 'sssd' + enabled_no += 1 + + if self.pam.has('pam_winbind'): + profile = 'winbind' + enabled_no += 1 + + if is_service_enabled('ypbind'): + profile = 'nis' + enabled_no += 1 + + return profile if enabled_no == 1 else None + + def step_detect_features(self): + pam_map = { + 'pam_faillock': 'with-faillock', + 'pam_fprintd': 'with-fingerprint', + 'pam_access': 'with-pamaccess', + 'pam_mkhomedir': 'with-mkhomedir', + 'pam_oddjob_mkhomedir': 'with-mkhomedir' + } + + features = [] + + for module, feature in pam_map.items(): + if self.pam.has(module): + features.append(feature) + + return features + + def step_detect_sssd_features(self, profile): + if profile != "sssd": + return [] + + # sudoers: sss + result = re.search( + "^[ \t]*sudoers[ \t]*:.*sss.*$", + self.nsswitch, + re.MULTILINE + ) + + features = [] + + if result is not None: + features.append("with-sudo") + + # SSSD Smartcard support + # We enable smartcard support only if it was not handled by pam_pkcs11. + # Otherwise pam_pkcs11 configuration must be converted manually. + if not self.pam.has('pam_pkcs11'): + if self.ac.get_bool('USESMARTCARD'): + features.append("with-smartcard") + + if self.ac.get_bool('FORCESMARTCARD'): + features.append("with-smartcard-required") + + if self.dconf.get_string( + 'org/gnome/settings-daemon/peripherals/smartcard', + 'removal-action' + ) == 'lock-screen': + features.append("with-smartcard-lock-on-removal") + + return features + + def step_detect_winbind_features(self, profile): + if profile != "winbind": + return [] + + if self.ac.get_bool('WINBINDKRB5'): + return ['with-krb5'] + + return [] + + def step_detect_if_confirmation_is_required(self): + sysconfig = '/etc/sysconfig/authconfig' + links = { + '/etc/pam.d/fingerprint-auth': '/etc/pam.d/fingerprint-auth-ac', + '/etc/pam.d/password-auth': '/etc/pam.d/password-auth-ac', + '/etc/pam.d/postlogin': '/etc/pam.d/postlogin-ac', + '/etc/pam.d/smartcard-auth': '/etc/pam.d/smartcard-auth-ac', + '/etc/pam.d/system-auth': '/etc/pam.d/system-auth-ac' + } + + # Check that authconfig was used to create the configuration + if not os.path.isfile(sysconfig): + return True + + # Check that all files are symbolic links to authconfig files + for name, target in links.items(): + if not os.path.islink(name): + return True + + if os.readlink(name) != target: + return True + + # Check that all file were not modified after + # /etc/sysconfig/authconfig was created. + mtime = os.path.getmtime(sysconfig) + for f in links.values(): + if os.path.getmtime(f) > mtime: + return True + + return False diff --git a/repos/system_upgrade/el7toel8/actors/authselectscanner/tests/unit_test_authselectscanner.py b/repos/system_upgrade/el7toel8/actors/authselectscanner/tests/unit_test_authselectscanner.py new file mode 100644 index 0000000..bfff5fb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/authselectscanner/tests/unit_test_authselectscanner.py @@ -0,0 +1,622 @@ +import textwrap + +from mock import patch + +from leapp.libraries.actor.authselectscanner import Authconfig, AuthselectScannerLibrary, DConf, read_file +from leapp.libraries.common.pam import PAM + + +def get_config(config): + return textwrap.dedent(config).strip() + + +def test_read_file__non_existent(): + content = read_file('/this/does/not/exist') + assert content == '' + + +def test_read_file__ok(): + content = read_file(__file__) + assert content != '' + assert 'test_read_file__ok' in content + + +def test_Authconfig_get_bool__non_existent(): + obj = Authconfig('') + assert not obj.get_bool('non-existent-option') + + +def test_Authconfig_get_bool__true(): + obj = Authconfig(get_config(''' + test_a=True + test_b=true + test_c=Yes + test_d=yes + ''')) + + assert obj.get_bool('test_a') + assert obj.get_bool('test_b') + assert obj.get_bool('test_c') + assert obj.get_bool('test_d') + + +def test_Authconfig_get_bool__false(): + obj = Authconfig(get_config(''' + test_a=False + test_b=false + test_c=No + test_d=no + ''')) + + assert not obj.get_bool('test_a') + assert not obj.get_bool('test_b') + assert not obj.get_bool('test_c') + assert not obj.get_bool('test_d') + + +def test_Authconfig_get_string__non_existent(): + obj = Authconfig('') + assert obj.get_string('non-existent-option') is None + + +def test_Authconfig_get_string__ok(): + obj = Authconfig(get_config(''' + test_a="str" + test_b=str + ''')) + + assert obj.get_string('test_a') == 'str' + assert obj.get_string('test_b') == 'str' + + +def test_DConf_get_bool__non_existent(): + obj = DConf('') + assert not obj.get_bool('section', 'non-existent-option') + + +def test_DConf_get_bool__true(): + obj = DConf(get_config(''' + [section] + test_a=True + test_b=true + test_c=Yes + test_d=yes + ''')) + + assert obj.get_bool('section', 'test_a') + assert obj.get_bool('section', 'test_b') + assert obj.get_bool('section', 'test_c') + assert obj.get_bool('section', 'test_d') + + +def test_DConf_get_bool__false(): + obj = DConf(get_config(''' + [section] + test_a=False + test_b=false + test_c=No + test_d=no + ''')) + + assert not obj.get_bool('section', 'test_a') + assert not obj.get_bool('section', 'test_b') + assert not obj.get_bool('section', 'test_c') + assert not obj.get_bool('section', 'test_d') + + +def test_DConf_get_string__non_existent(): + obj = DConf('') + assert obj.get_string('section', 'non-existent-option') is None + + +def test_DConf_get_string__ok(): + obj = DConf(get_config(''' + [section] + test_a="str" + test_b=str + ''')) + + assert obj.get_string('section', 'test_a') == 'str' + assert obj.get_string('section', 'test_b') == 'str' + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +def test_AuthselectScannerLibrary_step_detect_profile__None(mock_service): + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(''), '') + mock_service.return_value = False + assert obj.step_detect_profile() is None + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +def test_AuthselectScannerLibrary_step_detect_profile__sssd(mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + mock_service.return_value = False + assert obj.step_detect_profile() == 'sssd' + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +def test_AuthselectScannerLibrary_step_detect_profile__winbind(mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_winbind.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + mock_service.return_value = False + assert obj.step_detect_profile() == 'winbind' + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +def test_AuthselectScannerLibrary_step_detect_profile__nis(mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + mock_service.return_value = True + assert obj.step_detect_profile() == 'nis' + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +def test_AuthselectScannerLibrary_step_detect_profile__sssd_winbind(mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_winbind.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + mock_service.return_value = False + assert obj.step_detect_profile() is None + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +def test_AuthselectScannerLibrary_step_detect_profile__sssd_nis(mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + mock_service.return_value = True + assert obj.step_detect_profile() is None + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +def test_AuthselectScannerLibrary_step_detect_profile__winbind_nis(mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_winbind.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + mock_service.return_value = True + assert obj.step_detect_profile() is None + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +def test_AuthselectScannerLibrary_step_detect_profile__sssd_winbind_nis(mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_winbind.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + mock_service.return_value = True + assert obj.step_detect_profile() is None + + +def test_AuthselectScannerLibrary_step_detect_features__faillock(): + pam = get_config(''' + auth required pam_faillock.so preauth silent deny=4 unlock_time=1200 + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + assert obj.step_detect_features() == ['with-faillock'] + + +def test_AuthselectScannerLibrary_step_detect_features__fingerprint(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth sufficient pam_fprintd.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + assert obj.step_detect_features() == ['with-fingerprint'] + + +def test_AuthselectScannerLibrary_step_detect_features__access(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + account required pam_access.so + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + assert obj.step_detect_features() == ['with-pamaccess'] + + +def test_AuthselectScannerLibrary_step_detect_features__mkhomedir(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + session optional pam_mkhomedir.so umask=0077 + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + assert obj.step_detect_features() == ['with-mkhomedir'] + + +def test_AuthselectScannerLibrary_step_detect_features__mkhomedir_oddjob(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + session optional pam_oddjob_mkhomedir.so umask=0077 + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + assert obj.step_detect_features() == ['with-mkhomedir'] + + +def test_AuthselectScannerLibrary_step_detect_features__all(): + pam = get_config(''' + auth required pam_faillock.so preauth silent deny=4 unlock_time=1200 + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth sufficient pam_fprintd.so + auth required pam_deny.so + account required pam_access.so + session optional pam_oddjob_mkhomedir.so umask=0077 + ''') + + obj = AuthselectScannerLibrary([], Authconfig(''), DConf(''), PAM(pam), '') + features = obj.step_detect_features() + assert len(features) == 4 + assert 'with-faillock' in features + assert 'with-fingerprint' in features + assert 'with-pamaccess' in features + assert 'with-mkhomedir' in features + + +def test_AuthselectScannerLibrary_step_detect_sssd_features__sudo(): + nsswitch = get_config(''' + passwd: files sss systemd + group: files sss systemd + sudoers: files sss + ''') + + obj = AuthselectScannerLibrary( + [], Authconfig(''), DConf(''), PAM(''), nsswitch + ) + features = obj.step_detect_sssd_features('sssd') + assert features == ['with-sudo'] + + +def test_AuthselectScannerLibrary_step_detect_sssd_features__smartcard(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + ac = get_config(''' + USESMARTCARD=yes + ''') + + obj = AuthselectScannerLibrary( + [], Authconfig(ac), DConf(''), PAM(pam), '' + ) + features = obj.step_detect_sssd_features('sssd') + assert features == ['with-smartcard'] + + +def test_AuthselectScannerLibrary_step_detect_sssd_features__smartcard_required(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + ac = get_config(''' + FORCESMARTCARD=yes + ''') + + obj = AuthselectScannerLibrary( + [], Authconfig(ac), DConf(''), PAM(pam), '' + ) + features = obj.step_detect_sssd_features('sssd') + assert features == ['with-smartcard-required'] + + +def test_AuthselectScannerLibrary_step_detect_sssd_features__smartcard_lock(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + dconf = get_config(''' + [org/gnome/settings-daemon/peripherals/smartcard] + removal-action='lock-screen' + ''') + + obj = AuthselectScannerLibrary( + [], Authconfig(''), DConf(dconf), PAM(pam), '' + ) + features = obj.step_detect_sssd_features('sssd') + assert features == ['with-smartcard-lock-on-removal'] + + +def test_AuthselectScannerLibrary_step_detect_sssd_features__pkcs11(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_pkcs11.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + ac = get_config(''' + USESMARTCARD=yes + FORCESMARTCARD=yes + ''') + + dconf = get_config(''' + [org/gnome/settings-daemon/peripherals/smartcard] + removal-action='lock-screen' + ''') + + obj = AuthselectScannerLibrary( + [], Authconfig(ac), DConf(dconf), PAM(pam), '' + ) + features = obj.step_detect_sssd_features('sssd') + assert not features + + +def test_AuthselectScannerLibrary_step_detect_sssd_features__wrong_profile(): + nsswitch = get_config(''' + passwd: files sss systemd + group: files sss systemd + sudoers: files sss + ''') + + obj = AuthselectScannerLibrary( + [], Authconfig(''), DConf(''), PAM(''), nsswitch + ) + features = obj.step_detect_sssd_features('winbind') + assert not features + + +def test_AuthselectScannerLibrary_step_detect_winbind_features__krb5(): + ac = get_config(''' + WINBINDKRB5=yes + ''') + + obj = AuthselectScannerLibrary( + [], Authconfig(ac), DConf(''), PAM(''), '' + ) + features = obj.step_detect_winbind_features('winbind') + assert features == ['with-krb5'] + + +def test_AuthselectScannerLibrary_step_detect_winbind_features__wrong_profile(): + ac = get_config(''' + WINBINDKRB5=yes + ''') + + obj = AuthselectScannerLibrary( + [], Authconfig(ac), DConf(''), PAM(''), '' + ) + features = obj.step_detect_winbind_features('sssd') + assert not features + + +@patch('os.readlink') +@patch('os.path.islink') +@patch('os.path.isfile') +@patch('os.path.getmtime') +def test_AuthselectScannerLibrary_step_detect_if_confirmation_is_required__nosysconfig( + mock_getmtime, mock_isfile, mock_islink, mock_readlink +): + obj = AuthselectScannerLibrary( + [], Authconfig(''), DConf(''), PAM(''), '' + ) + mock_isfile.return_value = False + assert obj.step_detect_if_confirmation_is_required() + + +@patch('os.readlink') +@patch('os.path.islink') +@patch('os.path.isfile') +@patch('os.path.getmtime') +def test_AuthselectScannerLibrary_step_detect_if_confirmation_is_required__nolink( + mock_getmtime, mock_isfile, mock_islink, mock_readlink +): + obj = AuthselectScannerLibrary( + [], Authconfig(''), DConf(''), PAM(''), '' + ) + mock_isfile.return_value = True + mock_islink.return_value = False + assert obj.step_detect_if_confirmation_is_required() + + +@patch('os.readlink') +@patch('os.path.islink') +@patch('os.path.isfile') +@patch('os.path.getmtime') +def test_AuthselectScannerLibrary_step_detect_if_confirmation_is_required__badlink( + mock_getmtime, mock_isfile, mock_islink, mock_readlink +): + obj = AuthselectScannerLibrary( + [], Authconfig(''), DConf(''), PAM(''), '' + ) + mock_isfile.return_value = True + mock_islink.return_value = True + mock_readlink.return_value = '' + assert obj.step_detect_if_confirmation_is_required() + + +@patch('os.readlink') +@patch('os.path.islink') +@patch('os.path.isfile') +@patch('os.path.getmtime') +def test_AuthselectScannerLibrary_step_detect_if_confirmation_is_required__badmtime( + mock_getmtime, mock_isfile, mock_islink, mock_readlink +): + def my_getmtime(path): + # Make sysconfig file older then other files. + if path == '/etc/sysconfig/authconfig': + return 100 + + return 200 + + obj = AuthselectScannerLibrary( + [], Authconfig(''), DConf(''), PAM(''), '' + ) + mock_isfile.return_value = True + mock_islink.return_value = True + mock_readlink.side_effect = '{}-ac'.format + mock_getmtime.side_effect = my_getmtime + assert obj.step_detect_if_confirmation_is_required() + + +@patch('os.readlink') +@patch('os.path.islink') +@patch('os.path.isfile') +@patch('os.path.getmtime') +def test_AuthselectScannerLibrary_step_detect_if_confirmation_is_required__pass( + mock_getmtime, mock_isfile, mock_islink, mock_readlink +): + def my_getmtime(path): + # Make sysconfig file younger then other files. + if path == '/etc/sysconfig/authconfig': + return 200 + + return 100 + + obj = AuthselectScannerLibrary( + [], Authconfig(''), DConf(''), PAM(''), '' + ) + mock_isfile.return_value = True + mock_islink.return_value = True + mock_readlink.side_effect = '{}-ac'.format + mock_getmtime.side_effect = my_getmtime + assert not obj.step_detect_if_confirmation_is_required() + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +@patch('leapp.libraries.actor.authselectscanner.AuthselectScannerLibrary.step_detect_if_confirmation_is_required') +def test_AuthselectScannerLibrary_process__simple(mock_confirm, mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary( + ['pam_unix', 'pam_sss', 'pam_deny'], Authconfig(''), DConf(''), PAM(pam), '' + ) + mock_confirm.return_value = True + mock_service.return_value = False + authselect = obj.process() + assert authselect.profile == 'sssd' + assert not authselect.features + assert authselect.confirm + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +@patch('leapp.libraries.actor.authselectscanner.AuthselectScannerLibrary.step_detect_if_confirmation_is_required') +def test_AuthselectScannerLibrary_process__features(mock_confirm, mock_service): + pam = get_config(''' + auth required pam_faillock.so preauth silent deny=4 unlock_time=1200 + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + nsswitch = get_config(''' + passwd: files sss systemd + group: files sss systemd + sudoers: files sss + ''') + + obj = AuthselectScannerLibrary( + ['pam_unix', 'pam_sss', 'pam_deny', 'pam_faillock'], + Authconfig(''), + DConf(''), + PAM(pam), + nsswitch + ) + mock_confirm.return_value = True + mock_service.return_value = False + authselect = obj.process() + assert authselect.profile == 'sssd' + assert len(authselect.features) == 2 + assert 'with-faillock' in authselect.features + assert 'with-sudo' in authselect.features + assert authselect.confirm + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +@patch('leapp.libraries.actor.authselectscanner.AuthselectScannerLibrary.step_detect_if_confirmation_is_required') +def test_AuthselectScannerLibrary_process__unknown_module(mock_confirm, mock_service): + pam = get_config(''' + auth required pam_faillock.so preauth silent deny=4 unlock_time=1200 + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary( + ['pam_unix', 'pam_sss', 'pam_deny'], + Authconfig(''), + DConf(''), + PAM(pam), + '' + ) + mock_confirm.return_value = True + mock_service.return_value = False + authselect = obj.process() + assert authselect.profile is None + assert not authselect.features + assert authselect.confirm + + +@patch('leapp.libraries.actor.authselectscanner.is_service_enabled') +@patch('leapp.libraries.actor.authselectscanner.AuthselectScannerLibrary.step_detect_if_confirmation_is_required') +def test_AuthselectScannerLibrary_process__autoconfirm(mock_confirm, mock_service): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = AuthselectScannerLibrary( + ['pam_unix', 'pam_sss', 'pam_deny'], Authconfig(''), DConf(''), PAM(pam), '' + ) + mock_confirm.return_value = False + mock_service.return_value = False + authselect = obj.process() + assert authselect.profile == 'sssd' + assert not authselect.features + assert not authselect.confirm diff --git a/repos/system_upgrade/el7toel8/actors/bindupdate/actor.py b/repos/system_upgrade/el7toel8/actors/bindupdate/actor.py new file mode 100644 index 0000000..d612ffb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/bindupdate/actor.py @@ -0,0 +1,35 @@ +from leapp.actors import Actor +from leapp.libraries.actor import updates +from leapp.libraries.common import rpms +from leapp.models import BindFacts, InstalledRedHatSignedRPM +from leapp.tags import IPUWorkflowTag, PreparationPhaseTag + + +class BindUpdate(Actor): + """ + Actor parsing facts found in configuration and modifying configuration. + """ + + name = 'bind_update' + consumes = (InstalledRedHatSignedRPM, BindFacts) + produces = () + tags = (PreparationPhaseTag, IPUWorkflowTag) + + pkg_names = {'bind', 'bind-sdb', 'bind-pkcs11'} + + def has_bind_package(self): + """Test any bind server package is installed.""" + for pkg in self.pkg_names: + if rpms.has_package(InstalledRedHatSignedRPM, pkg): + return True + return False + + def process(self): + if not self.has_bind_package(): + self.log.debug('bind is not installed') + return + + for bindfacts in self.consume(BindFacts): + updates.update_facts(bindfacts) + self.log.info('BIND configuration files modified: %s', + ', '.join(bindfacts.modified_files)) diff --git a/repos/system_upgrade/el7toel8/actors/bindupdate/libraries/updates.py b/repos/system_upgrade/el7toel8/actors/bindupdate/libraries/updates.py new file mode 100644 index 0000000..aa0aeeb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/bindupdate/libraries/updates.py @@ -0,0 +1,89 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import isccfg +from leapp.libraries.stdlib import api, CalledProcessError, run + +# Callback for walk function +callbacks = { + 'dnssec-lookaside': isccfg.ModifyState.callback_comment_out, +} + + +def paths_from_issues(issues): + """Extract paths from list of BindConfigIssuesModel.""" + return [issue.path for issue in issues] + + +def parser_file(parser, path): + for cfg in parser.FILES_TO_CHECK: + if cfg.path == path: + return cfg + return None + + +def make_backup(path, backup_suffix='.leapp'): + """Make backup of a file before modification.""" + backup_path = path + backup_suffix + try: + run(['cp', '--preserve=all', path, backup_path]) + except CalledProcessError as exc: + raise StopActorExecutionError( + 'Could not create a backup copy', + details={'details': 'An exception during backup raised {}'.format(str(exc))} + ) + + +def update_section(parser, section): + """Modify one section. + + :type section: ConfigSection + """ + state = isccfg.ModifyState() + parser.walk(section, callbacks, state) + state.finish(section) + return state.content() + + +def update_config(parser, cfg): + """Modify contents of file according to rules. + + :type cfg: ConfigFile + :returns str: Modified config contents + """ + return update_section(parser, cfg.root_section()) + + +def update_file(parser, path, write=True): + """Prepare modified content for the file, make backup and rewrite it. + + :param parser: IscConfigParser + :param path: String with path to a file + :param log: Log instance with debug(str) method or None + :param write: True to allow file modification, false to only return modification status + """ + cfg = parser_file(parser, path) + modified = update_config(parser, cfg) + if modified != cfg.buffer: + api.current_logger().debug('%s needs modification', path) + if write: + make_backup(path) + with open(path, 'w') as f: + f.write(modified) + api.current_logger().debug('%s updated to size %d', path, len(modified)) + return True + return False + + +def update_facts(facts, path='/etc/named.conf'): + """Parse and update all files according to supplied facts. + + :param facts: BindFacts instance + :param path: String to main configuration file + :returns: number of modified files + """ + parser = isccfg.IscConfigParser(path) + modified_files = set() + if facts.dnssec_lookaside: + for model in facts.dnssec_lookaside: + if update_file(parser, model.path): + modified_files.add(model.path) + facts.modified_files = list(modified_files) diff --git a/repos/system_upgrade/el7toel8/actors/bindupdate/tests/test_updates.py b/repos/system_upgrade/el7toel8/actors/bindupdate/tests/test_updates.py new file mode 100644 index 0000000..bc04bb5 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/bindupdate/tests/test_updates.py @@ -0,0 +1,50 @@ +from leapp.libraries.actor import updates +from leapp.libraries.common import isccfg +from leapp.models import BindFacts + + +def test_simple(): + """Test configuration is not modified without offending statements.""" + mockcfg = isccfg.MockConfig(""" +options { + listen-on port 53 { 127.0.0.1; }; + listen-on-v6 port 53 { ::1; }; + directory "/var/named"; + allow-query { localhost; }; + recursion yes; + + dnssec-validation yes; +}; + +zone "." IN { + type hint; + file "named.ca"; +}; +""", '/etc/named.conf') + parser = isccfg.IscConfigParser(mockcfg) + modified = updates.update_config(parser, mockcfg) + assert modified == mockcfg.buffer + + +def test_dnssec_lookaside(): + """Test unsupported statements are removed.""" + mockcfg = isccfg.MockConfig(""" +options { + listen-on port 53 { 127.0.0.1; }; + listen-on-v6 port 53 { ::1; }; + directory "/var/named"; + allow-query { localhost; }; + recursion yes; + + dnssec-validation yes; + dnssec-lookaside auto; +}; + +zone "." IN { + type hint; + file "named.ca"; +}; +""", '/etc/named.conf') + parser = isccfg.IscConfigParser(mockcfg) + modified = updates.update_config(parser, mockcfg) + assert modified != mockcfg.buffer diff --git a/repos/system_upgrade/el7toel8/actors/checkacpid/actor.py b/repos/system_upgrade/el7toel8/actors/checkacpid/actor.py new file mode 100644 index 0000000..3fb1fac --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkacpid/actor.py @@ -0,0 +1,30 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckAcpid(Actor): + """ + Check if acpid is installed. If yes, write information about non-compatible changes. + """ + + name = 'checkacpid' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, 'acpid'): + create_report([ + reporting.Title('Acpid incompatible changes in the next major version'), + reporting.Summary('The option -d (debug) no longer implies -f (foreground).'), + reporting.Severity(reporting.Severity.LOW), + reporting.Remediation( + hint='You must now use both options (\'-df\') for the same behavior. Please update ' + 'your scripts to be compatible with the changes.'), + reporting.Groups([reporting.Groups.KERNEL, reporting.Groups.SERVICES]), + reporting.RelatedResource('package', 'acpid') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/checkacpid/tests/component_test_checkacpid.py b/repos/system_upgrade/el7toel8/actors/checkacpid/tests/component_test_checkacpid.py new file mode 100644 index 0000000..62ad4bb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkacpid/tests/component_test_checkacpid.py @@ -0,0 +1,33 @@ +from leapp.models import InstalledRedHatSignedRPM, RPM +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def create_modulesfacts(installed_rpm): + return InstalledRedHatSignedRPM(items=installed_rpm) + + +def test_actor_with_acpid_package(current_actor_context): + with_acpid = [ + RPM(name='acpid', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=with_acpid)) + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_without_acpid_package(current_actor_context): + without_acpid = [ + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=without_acpid)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkbind/actor.py b/repos/system_upgrade/el7toel8/actors/checkbind/actor.py new file mode 100644 index 0000000..e05ce97 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbind/actor.py @@ -0,0 +1,40 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.actor import iscmodel +from leapp.libraries.stdlib import api +from leapp.models import BindFacts, InstalledRedHatSignedRPM +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckBind(Actor): + """Actor parsing BIND configuration and checking for known issues in it.""" + + name = 'check_bind' + consumes = (InstalledRedHatSignedRPM,) + produces = (BindFacts, reporting.Report) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + pkg_names = {'bind', 'bind-sdb', 'bind-pkcs11'} + + def has_package(self, t_rpms): + """Replacement for broken leapp.libraries.common.rpms.has_package.""" + for fact in self.consume(t_rpms): + for rpm in fact.items: + if rpm.name in self.pkg_names: + return True + return False + + def process(self): + if not self.has_package(InstalledRedHatSignedRPM): + self.log.debug('bind is not installed') + return + + facts = iscmodel.get_facts('/etc/named.conf') + report = iscmodel.make_report(facts) + + if report: + api.produce(facts) + self.log.info('BIND configuration issues were found.') + reporting.create_report(report) + else: + self.log.debug('BIND configuration seems compatible.') diff --git a/repos/system_upgrade/el7toel8/actors/checkbind/libraries/iscmodel.py b/repos/system_upgrade/el7toel8/actors/checkbind/libraries/iscmodel.py new file mode 100644 index 0000000..73ca538 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbind/libraries/iscmodel.py @@ -0,0 +1,110 @@ +from leapp import reporting +from leapp.libraries.common import isccfg +from leapp.libraries.stdlib import api +from leapp.models import BindConfigIssuesModel, BindFacts + + +def add_statement(statement, state): + """Add searched statement to found issues.""" + + stmt_text = statement.serialize_skip(' ') + name = statement.var(0).value() + if name in state: + state[name].append((stmt_text, statement.config.path)) + else: + state[name] = [(stmt_text, statement.config.path)] + + +def find_dnssec_lookaside(statement, state): + try: + arg = statement.var(1) + if not (arg.type() == arg.TYPE_BARE and arg.value() == 'no'): + # auto or yes statement + # dnssec-lookaside "." trust-anchor "dlv.isc.org"; + add_statement(statement, state) + except IndexError: + api.current_logger().warning('Unexpected statement format: "%s"', + statement.serialize_skip(' ')) + + +def convert_to_issues(statements): + """Produce list of offending statements in set of files. + + :param statements: one item from list created by add_statement + """ + + files = dict() + for statement, path in statements: + if path in files: + files[path].update(statement) + if statement not in files[path].statements: + files[path].statements.append(statement) + else: + files[path] = set(statement) + values = list() + for path in files: + values.append(BindConfigIssuesModel(path=path, statements=list(files[path]))) + return values + + +def convert_found_state(state, files): + """Convert find state results to facts. + + Check found statements and create facts from them.""" + + dnssec_lookaside = None + if 'dnssec-lookaside' in state: + dnssec_lookaside = convert_to_issues(state['dnssec-lookaside']) + + return BindFacts(config_files=files, + modified_files=[], + dnssec_lookaside=dnssec_lookaside, + listen_on_v6_missing='listen-on-v6' not in state) + + +def get_facts(path, log=None): + """Find issues in configuration files. + + Report used configuration files and wrong statements in each file. + """ + + find_calls = { + 'dnssec-lookaside': find_dnssec_lookaside, + 'listen-on-v6': add_statement, + } + + parser = isccfg.IscConfigParser(path) + state = {} + files = set() + + for cfg in parser.FILES_TO_CHECK: + parser.walk(cfg.root_section(), find_calls, state) + files.add(cfg.path) + + api.current_logger().debug('Found state: "%s", files: "%s"', + repr(state), files) + + facts = convert_found_state(state, list(files)) + return facts + + +def make_report(facts): + """Make report message from gathered facts.""" + summary_messages = [] + report = [] + if facts.dnssec_lookaside: + summary_messages.append('BIND configuration contains no longer accepted statements: dnssec-lookaside.') + if facts.listen_on_v6_missing: + summary_messages.append('Default value of listen-on-v6 have changed, but it is not present in configuration.' + ' named service will now listen on INET6 sockets also.') + + if summary_messages: + summary = ' '.join(summary_messages) + report.extend([ + reporting.Title('BIND configuration issues found'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.NETWORK]), + ]) + + return report diff --git a/repos/system_upgrade/el7toel8/actors/checkbind/tests/test_model.py b/repos/system_upgrade/el7toel8/actors/checkbind/tests/test_model.py new file mode 100644 index 0000000..a2fcbdc --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbind/tests/test_model.py @@ -0,0 +1,80 @@ +from leapp.libraries.actor import iscmodel +from leapp.libraries.common import isccfg +from leapp.models import BindFacts + + +def model_paths(issues_model): + paths = list() + for m in issues_model: + paths.append(m.path) + return paths + + +def get_facts(cfg): + facts = iscmodel.get_facts(cfg) + assert isinstance(facts, BindFacts) + return facts + + +def test_simple(): + mockcfg = isccfg.MockConfig(""" +options { + listen-on port 53 { 127.0.0.1; }; + listen-on-v6 port 53 { ::1; }; + directory "/var/named"; + allow-query { localhost; }; + recursion yes; + + dnssec-validation yes; +}; + +zone "." IN { + type hint; + file "named.ca"; +}; +""", '/etc/named.conf') + facts = get_facts(mockcfg) + assert facts.dnssec_lookaside is None + + +def test_dnssec_lookaside(): + mockcfg = isccfg.MockConfig(""" +options { + listen-on port 53 { 127.0.0.1; }; + listen-on-v6 port 53 { ::1; }; + directory "/var/named"; + allow-query { localhost; }; + recursion yes; + + dnssec-validation yes; + dnssec-lookaside auto; +}; + +zone "." IN { + type hint; + file "named.ca"; +}; +""", '/etc/named.conf') + facts = get_facts(mockcfg) + assert '/etc/named.conf' in model_paths(facts.dnssec_lookaside) + + +def test_listen_on_v6(): + present = isccfg.MockConfig(""" +options { + listen-on { any; }; + listen-on-v6 { any; }; +}; +""", '/etc/named.conf') + missing = isccfg.MockConfig(""" +options { + listen-on { any; }; + #listen-on-v6 { any; }; +}; +""", '/etc/named.conf') + + facts = get_facts(present) + assert not facts.listen_on_v6_missing + + facts = get_facts(missing) + assert facts.listen_on_v6_missing diff --git a/repos/system_upgrade/el7toel8/actors/checkbrltty/actor.py b/repos/system_upgrade/el7toel8/actors/checkbrltty/actor.py new file mode 100644 index 0000000..3ee6a3e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbrltty/actor.py @@ -0,0 +1,55 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.actor import checkbrltty +from leapp.libraries.common.rpms import has_package +from leapp.models import BrlttyMigrationDecision, InstalledRedHatSignedRPM +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +related = [reporting.RelatedResource('package', 'brltty')] + + +class CheckBrltty(Actor): + """ + Check if brltty is installed, check whether configuration update is needed. + """ + + name = 'check_brltty' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report, BrlttyMigrationDecision,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, 'brltty'): + create_report([ + reporting.Title('Brltty has incompatible changes in the next major version'), + reporting.Summary( + 'The --message-delay brltty option has been renamed to --message-timeout.\n' + 'The -U [--update-interval=] brltty option has been removed.' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.ACCESSIBILITY]), + reporting.Remediation( + hint='Please update your scripts to be compatible with the changes.' + ) + ] + related) + + (migrate_file, migrate_bt, migrate_espeak,) = checkbrltty.check_for_unsupported_cfg() + report_summary = '' + if migrate_bt: + report_summary = 'Unsupported aliases for bluetooth devices (\'bth:\' and \'bluez:\') will be ' + report_summary += 'renamed to \'bluetooth:\'.' + if migrate_espeak: + if report_summary: + report_summary += '\n' + report_summary += 'eSpeak speech driver is no longer supported, it will be switched to eSpeak-NG.' + if report_summary: + create_report([ + reporting.Title('brltty configuration will be migrated'), + reporting.Summary(report_summary), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.ACCESSIBILITY]), + ] + related) + + self.produce(BrlttyMigrationDecision(migrate_file=migrate_file, migrate_bt=migrate_bt, + migrate_espeak=migrate_espeak)) diff --git a/repos/system_upgrade/el7toel8/actors/checkbrltty/libraries/checkbrltty.py b/repos/system_upgrade/el7toel8/actors/checkbrltty/libraries/checkbrltty.py new file mode 100644 index 0000000..13c66f3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbrltty/libraries/checkbrltty.py @@ -0,0 +1,23 @@ +import os +import re + +BrlttyConf = '/etc/brltty.conf' + + +def check_for_unsupported_cfg(): + migrate_file = None + migrate_bt = False + migrate_espeak = False + regex_bt = re.compile(r'\b((bth)|(bluez))([:\-][0-9a-fA-F]{2}){6}\b') + regex_espeak = re.compile(r'^\s*speech-driver\s+es\b') + if os.path.exists(BrlttyConf): + with open(BrlttyConf) as file_check: + for line in file_check: + if regex_bt.search(line): + migrate_bt = True + if regex_espeak.search(line): + migrate_espeak = True + if migrate_bt and migrate_espeak: + break + migrate_file = BrlttyConf if migrate_espeak or migrate_bt else '' + return (migrate_file, migrate_bt, migrate_espeak) diff --git a/repos/system_upgrade/el7toel8/actors/checkbrltty/tests/component_test_checkbrltty.py b/repos/system_upgrade/el7toel8/actors/checkbrltty/tests/component_test_checkbrltty.py new file mode 100644 index 0000000..ec64ffb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbrltty/tests/component_test_checkbrltty.py @@ -0,0 +1,32 @@ +from leapp.models import BrlttyMigrationDecision, InstalledRedHatSignedRPM, RPM +from leapp.reporting import Report + +RH_PACKAGER = 'Red Hat, Inc. ' + +with_brltty = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='brltty', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + +without_brltty = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + +def create_modulesfacts(installed_rpm): + return InstalledRedHatSignedRPM(items=installed_rpm) + + +def test_actor_without_brltty_package(current_actor_context): + current_actor_context.feed(create_modulesfacts(installed_rpm=without_brltty)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_with_brltty_package(current_actor_context): + current_actor_context.feed(create_modulesfacts(installed_rpm=with_brltty)) + current_actor_context.run() + assert current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkbrltty/tests/unit_test_checkbrltty.py b/repos/system_upgrade/el7toel8/actors/checkbrltty/tests/unit_test_checkbrltty.py new file mode 100644 index 0000000..0df4711 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbrltty/tests/unit_test_checkbrltty.py @@ -0,0 +1,27 @@ +import pytest +from six import text_type + +from leapp.libraries.actor import checkbrltty + +BRLTTY_CONF = 'brltty.conf' + + +@pytest.mark.parametrize('test_input,expected_migrate_bt,expected_migrate_espeak', [ + ('braille-device serial:/dev/ttyS0\n', False, False), + ('braille-device bth:AB-cd:ef:01:23:45\n', True, False), + ('braille-device bluez:AB-cd:ef:01:23:45\n', True, False), + ('speech-driver es\n', False, True), + ('braille-device bth:AB-cd:ef:01:23:45\nbraille-device bluez:AB-cd:ef:01:23:45\nspeech-driver es\n', True, True), +]) +def test_actor_check_migration_bth(tmpdir, monkeypatch, test_input, expected_migrate_bt, expected_migrate_espeak, + current_actor_context): + test_cfg_file = text_type(tmpdir.join(BRLTTY_CONF)) + with open(test_cfg_file, 'w') as file_out: + file_out.write(test_input) + monkeypatch.setattr(checkbrltty, 'BrlttyConf', test_cfg_file) + (migrate_file, migrate_bt, migrate_espeak,) = checkbrltty.check_for_unsupported_cfg() + + if expected_migrate_bt or expected_migrate_espeak: + assert test_cfg_file == migrate_file + assert expected_migrate_bt == migrate_bt + assert expected_migrate_espeak == migrate_espeak diff --git a/repos/system_upgrade/el7toel8/actors/checkbtrfs/actor.py b/repos/system_upgrade/el7toel8/actors/checkbtrfs/actor.py new file mode 100644 index 0000000..c1b07f8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbtrfs/actor.py @@ -0,0 +1,50 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import ActiveKernelModulesFacts +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckBtrfs(Actor): + """ + Check if Btrfs filesystem is in use. If yes, inhibit the upgrade process. + + Btrfs filesystem was introduced as Technology Preview with initial releases of RHEL 6 and 7. It + was deprecated on versions 6.6 and 7.4 and will not be present in next major version. + """ + + name = 'check_btrfs' + consumes = (ActiveKernelModulesFacts,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + + hint = 'In order to unload the module from the running system, check the accompanied command.' + command = ['modprobe', '-r', 'btrfs'] + + for fact in self.consume(ActiveKernelModulesFacts): + for active_module in fact.kernel_modules: + if active_module.filename == 'btrfs': + create_report([ + reporting.Title('Btrfs has been removed from RHEL8'), + reporting.Summary( + 'The Btrfs file system was introduced as Technology Preview with the ' + 'initial release of Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7. As of ' + 'versions 6.6 and 7.4 this technology has been deprecated and removed in RHEL8.' + ), + reporting.ExternalLink( + title='Considerations in adopting RHEL 8 - btrfs has been removed.', + url='https://red.ht/file-systems-and-storage-removed-btrfs-rhel-8' + ), + reporting.ExternalLink( + title='How do I prevent a kernel module from loading automatically?', + url='https://access.redhat.com/solutions/41278' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.FILESYSTEM]), + reporting.Remediation(hint=hint, commands=[command]), + reporting.RelatedResource('kernel-driver', 'btrfs') + ]) + break diff --git a/repos/system_upgrade/el7toel8/actors/checkbtrfs/tests/test_btrfs_checkbtrfs.py b/repos/system_upgrade/el7toel8/actors/checkbtrfs/tests/test_btrfs_checkbtrfs.py new file mode 100644 index 0000000..ebf031b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkbtrfs/tests/test_btrfs_checkbtrfs.py @@ -0,0 +1,29 @@ +from leapp.models import ActiveKernelModule, ActiveKernelModulesFacts +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def create_modulesfacts(kernel_modules): + return ActiveKernelModulesFacts(kernel_modules=kernel_modules) + + +def test_actor_with_btrfs_module(current_actor_context): + with_btrfs = [ + ActiveKernelModule(filename='btrfs', parameters=[]), + ActiveKernelModule(filename='kvm', parameters=[])] + + current_actor_context.feed(create_modulesfacts(kernel_modules=with_btrfs)) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_actor_without_btrfs_module(current_actor_context): + without_btrfs = [ + ActiveKernelModule(filename='kvm_intel', parameters=[]), + ActiveKernelModule(filename='kvm', parameters=[])] + + current_actor_context.feed(create_modulesfacts(kernel_modules=without_btrfs)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkchrony/actor.py b/repos/system_upgrade/el7toel8/actors/checkchrony/actor.py new file mode 100644 index 0000000..13577ea --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkchrony/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkchrony import check_chrony +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckChrony(Actor): + """ + Check for incompatible changes in chrony configuration. + + Warn that the default chrony configuration in RHEL8 uses the leapsectz + directive. + """ + + name = 'check_chrony' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + check_chrony(has_package(InstalledRedHatSignedRPM, 'chrony')) diff --git a/repos/system_upgrade/el7toel8/actors/checkchrony/libraries/checkchrony.py b/repos/system_upgrade/el7toel8/actors/checkchrony/libraries/checkchrony.py new file mode 100644 index 0000000..f0fb285 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkchrony/libraries/checkchrony.py @@ -0,0 +1,50 @@ +from leapp import reporting +from leapp.libraries.stdlib import api, run + +related = [ + reporting.RelatedResource('package', 'ntpd'), + reporting.RelatedResource('package', 'chrony'), + reporting.RelatedResource('file', '/etc/chrony.conf'), +] + + +def is_config_default(): + """Check if the chrony config file was not modified since installation.""" + try: + result = run(['rpm', '-V', '--nomtime', 'chrony'], checked=False) + return '/etc/chrony.conf' not in result['stdout'] + except OSError as e: + api.current_logger().warning("rpm verification failed: %s", str(e)) + return True + + +def check_chrony(chrony_installed): + """Report potential issues in chrony configuration.""" + if not chrony_installed: + api.current_logger().info('chrony package is not installed') + return + + if is_config_default(): + reporting.create_report([ + reporting.Title('chrony using default configuration'), + reporting.Summary( + 'default chrony configuration in RHEL8 uses leapsectz directive, which cannot be used with ' + 'leap smearing NTP servers, and uses a single pool directive instead of four server directives' + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.SERVICES, + reporting.Groups.TIME_MANAGEMENT + ]) + ] + related) + + else: + reporting.create_report([ + reporting.Title('chrony using non-default configuration'), + reporting.Summary('chrony behavior will not change in RHEL8'), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([ + reporting.Groups.SERVICES, + reporting.Groups.TIME_MANAGEMENT + ]) + ] + related) diff --git a/repos/system_upgrade/el7toel8/actors/checkchrony/tests/unit_test_checkchrony.py b/repos/system_upgrade/el7toel8/actors/checkchrony/tests/unit_test_checkchrony.py new file mode 100644 index 0000000..7a25800 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkchrony/tests/unit_test_checkchrony.py @@ -0,0 +1,33 @@ +from leapp import reporting +from leapp.libraries.actor import checkchrony +from leapp.libraries.common.testutils import create_report_mocked + + +def test_uninstalled(monkeypatch): + for config_default in (False, True): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkchrony, 'is_config_default', lambda: config_default) + + checkchrony.check_chrony(False) + + assert reporting.create_report.called == 0 + + +def test_installed_defconf(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkchrony, 'is_config_default', lambda: True) + + checkchrony.check_chrony(True) + + assert reporting.create_report.called == 1 + assert reporting.create_report.report_fields['title'] == 'chrony using default configuration' + + +def test_installed_nodefconf(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkchrony, 'is_config_default', lambda: False) + + checkchrony.check_chrony(True) + + assert reporting.create_report.called == 1 + assert reporting.create_report.report_fields['title'] == 'chrony using non-default configuration' diff --git a/repos/system_upgrade/el7toel8/actors/checkdocker/actor.py b/repos/system_upgrade/el7toel8/actors/checkdocker/actor.py new file mode 100644 index 0000000..5d82c00 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkdocker/actor.py @@ -0,0 +1,36 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRPM +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckDocker(Actor): + """ + Checks if Docker is installed and warns about its deprecation in RHEL8. + """ + + name = 'check_docker' + consumes = (InstalledRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRPM, 'docker'): + create_report([ + reporting.Title('Transition from Docker to Podman in RHEL8'), + reporting.Summary('Docker has been deprecated in favour of Podman in Red Hat Enterprise Linux 8. The ' + 'docker package is going to be removed during the upgrade without migration of ' + 'existing containers.'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.TOOLS]), + reporting.Remediation(hint='It is recommended to re-create the containers with the appropriate ' + 'container images and reattach any in-use volumes using podman directly ' + 'prior to the upgrade of the operating system, which should provide the ' + 'same level of functionality. '), + reporting.RelatedResource('package', 'docker'), + reporting.ExternalLink(url='https://access.redhat.com/solutions/5213331', + title='How do I migrate my Docker containers to Podman prior to moving from ' + 'Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8?') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/checkdocker/tests/component_test_checkdocker.py b/repos/system_upgrade/el7toel8/actors/checkdocker/tests/component_test_checkdocker.py new file mode 100644 index 0000000..b73459a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkdocker/tests/component_test_checkdocker.py @@ -0,0 +1,61 @@ +from leapp.models import InstalledRPM, RPM +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + + +def test_actor_with_docker_package(current_actor_context): + with_docker = [ + RPM(name='docker', + epoch='2', + packager='Red Hat, Inc. ', + version='1.13.1', + release='209.git7d71120.el7_9', + arch='x86_64', + pgpsig='RSA/SHA256, Fri 07 Jan 2022 01:50:17 PM UTC, Key ID 199e2f91fd431d51', + repository='installed', + module=None, + stream=None), + RPM(name='grep', + epoch='0', + packager='Red Hat, Inc. ', + version='2.20', + release='3.el7', + arch='x86_64', + pgpsig='RSA/SHA256, Fri 24 Mar 2017 04:59:11 PM UTC, Key ID 199e2f91fd431d51', + repository='anaconda/7.9', + module=None, + stream=None) + ] + + current_actor_context.feed(InstalledRPM(items=with_docker)) + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_without_docker_package(current_actor_context): + without_docker = [ + RPM(name='tree', + epoch='0', + packager='Red Hat, Inc. ', + version='1.6.0', + release='10.el7', + arch='x86_64', + pgpsig='RSA/SHA256, Wed 02 Apr 2014 09:33:48 PM UTC, Key ID 199e2f91fd431d51', + repository='installed', + module=None, + stream=None), + RPM(name='grep', + epoch='0', + packager='Red Hat, Inc. ', + version='2.20', + release='3.el7', + arch='x86_64', + pgpsig='RSA/SHA256, Fri 24 Mar 2017 04:59:11 PM UTC, Key ID 199e2f91fd431d51', + repository='anaconda/7.9', + module=None, + stream=None) + ] + + current_actor_context.feed(InstalledRPM(items=without_docker)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkdosfstools/actor.py b/repos/system_upgrade/el7toel8/actors/checkdosfstools/actor.py new file mode 100644 index 0000000..e2a5456 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkdosfstools/actor.py @@ -0,0 +1,38 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckDosfstools(Actor): + """ + Check if dosfstools is installed. If yes, write information about non-compatible changes. + """ + + name = 'checkdosfstools' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, 'dosfstools'): + create_report([ + reporting.Title('Dosfstools incompatible changes in the next major version'), + reporting.Summary( + 'The automatic alignment of data clusters that was added in 3.0.8 and broken for ' + 'FAT32 starting with 3.0.20 has been reinstated. If you need to create file systems ' + 'for finicky devices that have broken FAT implementations use the option -a to ' + 'disable alignment.\n' + 'The fsck.fat now defaults to interactive repair mode which previously had to be ' + 'selected with the -r option.\n' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([ + reporting.Groups.FILESYSTEM, + reporting.Groups.TOOLS + ]), + reporting.Remediation(hint='Please update your scripts to be compatible with the changes.'), + reporting.RelatedResource('package', 'dosfstools') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/checkdosfstools/tests/component_test_checkdosfstools.py b/repos/system_upgrade/el7toel8/actors/checkdosfstools/tests/component_test_checkdosfstools.py new file mode 100644 index 0000000..6400d99 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkdosfstools/tests/component_test_checkdosfstools.py @@ -0,0 +1,33 @@ +from leapp.models import InstalledRedHatSignedRPM, RPM +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def create_modulesfacts(installed_rpm): + return InstalledRedHatSignedRPM(items=installed_rpm) + + +def test_actor_with_dosfstools_package(current_actor_context): + with_dosfstools = [ + RPM(name='dosfstools', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=with_dosfstools)) + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_without_dosfstools_package(current_actor_context): + without_dosfstools = [ + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=without_dosfstools)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkfirewalld/actor.py b/repos/system_upgrade/el7toel8/actors/checkfirewalld/actor.py new file mode 100644 index 0000000..f57a998 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkfirewalld/actor.py @@ -0,0 +1,75 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.actor import private +from leapp.models import FirewalldFacts +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +related = [reporting.RelatedResource('package', 'firewalld')] + + +class CheckFirewalld(Actor): + """ + Check for certain firewalld configuration that may prevent an upgrade. + """ + + name = 'check_firewalld' + consumes = (FirewalldFacts,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + unsupported_tables = [] + unsupported_ipset_types = [] + list_separator_fmt = '\n -' + for facts in self.consume(FirewalldFacts): + for table in facts.ebtablesTablesInUse: + if not private.isEbtablesTableSupported(table): + unsupported_tables.append(table) + for ipset_type in facts.ipsetTypesInUse: + if not private.isIpsetTypeSupportedByNftables(ipset_type): + unsupported_ipset_types.append(ipset_type) + + if unsupported_tables: + format_tuple = ( + list_separator_fmt, + list_separator_fmt.join(list(set(unsupported_tables))),) + create_report([ + reporting.Title('Firewalld is using an unsupported ebtables table.'), + reporting.Summary('ebtables in RHEL-8 does not support these tables:{}{}'.format(*format_tuple)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.FIREWALL, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK + ]), + reporting.Groups([ + reporting.Groups.INHIBITOR + ]), + reporting.Remediation( + hint='Remove firewalld direct rules that use these ebtables tables:{}{}'.format(*format_tuple) + ) + ] + related) + + if unsupported_ipset_types: + format_tuple = ( + list_separator_fmt, + list_separator_fmt.join(list(set(unsupported_ipset_types))),) + create_report([ + reporting.Title('Firewalld is using an unsupported ipset type.'), + reporting.Summary( + 'These ipset types are not supported by firewalld\'s nftables backend:{}{}'.format(*format_tuple) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.FIREWALL, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK + ]), + reporting.Groups([ + reporting.Groups.INHIBITOR + ]), + reporting.Remediation( + hint='Remove ipsets of these types from firewalld:{}{}'.format(*format_tuple) + ) + ] + related) diff --git a/repos/system_upgrade/el7toel8/actors/checkfirewalld/libraries/private.py b/repos/system_upgrade/el7toel8/actors/checkfirewalld/libraries/private.py new file mode 100644 index 0000000..b1fcd97 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkfirewalld/libraries/private.py @@ -0,0 +1,12 @@ +def isIpsetTypeSupportedByNftables(ipset_type): + if ipset_type in ['hash:ip', 'hash:mac', 'hash:net']: + return True + + return False + + +def isEbtablesTableSupported(table): + if table in ['filter', 'nat']: + return True + + return False diff --git a/repos/system_upgrade/el7toel8/actors/checkfirewalld/tests/component_test_checkfirewalld.py b/repos/system_upgrade/el7toel8/actors/checkfirewalld/tests/component_test_checkfirewalld.py new file mode 100644 index 0000000..5a618f2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkfirewalld/tests/component_test_checkfirewalld.py @@ -0,0 +1,13 @@ +from leapp.models import FirewalldFacts +from leapp.reporting import Report +from leapp.utils.report import is_inhibitor + + +def test_actor_execution(current_actor_context): + current_actor_context.feed( + FirewalldFacts(firewall_config_command='', + ebtablesTablesInUse=['broute'], + ipsetTypesInUse=['hash:net,port'])) + current_actor_context.run() + report_fileds = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fileds) diff --git a/repos/system_upgrade/el7toel8/actors/checkfirewalld/tests/unit_test_checkfirewalld.py b/repos/system_upgrade/el7toel8/actors/checkfirewalld/tests/unit_test_checkfirewalld.py new file mode 100644 index 0000000..657b869 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkfirewalld/tests/unit_test_checkfirewalld.py @@ -0,0 +1,22 @@ +from leapp.libraries.actor import private + + +def test_checkfirewalld_ipset(): + assert private.isIpsetTypeSupportedByNftables('hash:mac') + assert private.isIpsetTypeSupportedByNftables('hash:ip') + assert private.isIpsetTypeSupportedByNftables('hash:net') + + assert not private.isIpsetTypeSupportedByNftables('hash:ip,mark') + assert not private.isIpsetTypeSupportedByNftables('hash:ip,port') + assert not private.isIpsetTypeSupportedByNftables('hash:ip,port,ip') + assert not private.isIpsetTypeSupportedByNftables('hash:ip,port,net') + assert not private.isIpsetTypeSupportedByNftables('hash:net,iface') + assert not private.isIpsetTypeSupportedByNftables('hash:net,net') + assert not private.isIpsetTypeSupportedByNftables('hash:net,port') + + +def test_checkfirewalld_ebtables(): + assert private.isEbtablesTableSupported('nat') + assert private.isEbtablesTableSupported('filter') + + assert not private.isEbtablesTableSupported('broute') diff --git a/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/actor.py b/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/actor.py new file mode 100644 index 0000000..94d8b3c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/actor.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkfstabxfsoptions +from leapp.models import StorageInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckFstabXFSOptions(Actor): + """ + Check the FSTAB file for the deprecated / removed XFS mount options. + + Some mount options for XFS have been deprecated on RHEL 7 and already + removed on RHEL 8. If any such an option is present in the FSTAB, + it's impossible to boot the RHEL 8 system without the manual update of the + file. + + Check whether any of these options are present in the FSTAB file + and inhibit the upgrade in such a case. + """ + + name = 'checkfstabxfsoptions' + consumes = (StorageInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checkfstabxfsoptions.process() diff --git a/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/libraries/checkfstabxfsoptions.py b/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/libraries/checkfstabxfsoptions.py new file mode 100644 index 0000000..e9e0faf --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/libraries/checkfstabxfsoptions.py @@ -0,0 +1,59 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.models import StorageInfo + +# man 5 xfs +REMOVED_XFS_OPTIONS = set([ + # removed from kernel in 4.0 + 'nodelaylog', + 'delaylog', + 'ihashsize', + 'irixsgid', + 'osyncisdsync', + 'osyncisosync', + # removed from kernel in 4.19 + 'nobarrier', + 'barrier', +]) + + +def _get_storage_data(): + storage = next(api.consume(StorageInfo), None) + if not storage: + raise StopActorExecutionError('The StorageInfo message is not available.') + if not storage.fstab: + raise StopActorExecutionError('Data from the /etc/fstab file is missing.') + return storage + + +def process(): + storage = _get_storage_data() + used_removed_options = set() + for entry in storage.fstab: + if entry.fs_vfstype == 'xfs': + # NOTE: some opts could have a value, like ihashsize=4096 - we want + # just the name of the option (that's why the double-split) + options = set([opt.split('=')[0] for opt in entry.fs_mntops.split(',')]) + used_removed_options.update(options.intersection(REMOVED_XFS_OPTIONS)) + + if not used_removed_options: + return + + list_separator_fmt = '\n - ' + reporting.create_report([ + reporting.Title('Deprecated XFS mount options present in FSTAB.'), + reporting.Summary( + 'Some XFS mount options are not supported on RHEL 8 and prevent' + ' system from booting correctly if any of the reported XFS options are used.' + ' filesystem:{}{}.'.format( + list_separator_fmt, + list_separator_fmt.join(list(REMOVED_XFS_OPTIONS)))), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.FILESYSTEM]), + reporting.RelatedResource('file', '/etc/fstab'), + reporting.Remediation(hint=( + 'Drop the following mount options from the /etc/fstab file for any' + ' XFS filesystem: {}.'.format(', '.join(used_removed_options)))), + ]) diff --git a/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/tests/test_checkfstabxfsoptions.py b/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/tests/test_checkfstabxfsoptions.py new file mode 100644 index 0000000..a3f1ee7 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkfstabxfsoptions/tests/test_checkfstabxfsoptions.py @@ -0,0 +1,69 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import checkfstabxfsoptions +from leapp.models import FstabEntry, StorageInfo +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def _myint_gen(): + i = 0 + while True: + yield i + i += 1 + + +def _gen_fs_ent(fstype='ext4', mntops='auto', val=_myint_gen()): + return FstabEntry( + fs_spec='/path/spec/{}'.format(next(val)), + fs_file='/path/file/{}'.format(next(val)), + fs_vfstype=fstype, + fs_mntops=mntops, + fs_freq='1', + fs_passno='1', + ) + + +@pytest.mark.parametrize('fstab', [ + [_gen_fs_ent()], + [_gen_fs_ent() for dummy in range(4)], + [_gen_fs_ent(), _gen_fs_ent('ext4', 'auto,quota,huge_file')], + # checking that problematic options are ignored for non-xfs FS + [_gen_fs_ent(), _gen_fs_ent('ext4', 'auto,barier,huge_file')], + [_gen_fs_ent('ext4', i) for i in checkfstabxfsoptions.REMOVED_XFS_OPTIONS], + [_gen_fs_ent(i, 'nobarrier') for i in ('ext4', 'ext3', 'vfat', 'btrfs')], +]) +def test_no_xfs_option(fstab, current_actor_context): + current_actor_context.feed(StorageInfo(fstab=fstab)) + current_actor_context.run() + report = current_actor_context.consume(Report) + assert not report + + +# each item == one fstab +problematic_fstabs = [[_gen_fs_ent('xfs', ','.join(checkfstabxfsoptions.REMOVED_XFS_OPTIONS))]] +for opt in checkfstabxfsoptions.REMOVED_XFS_OPTIONS: + problematic_fstabs.append([_gen_fs_ent('xfs', opt)]) + problematic_fstabs.append([_gen_fs_ent(), _gen_fs_ent('xfs', opt)]) + problematic_fstabs.append([_gen_fs_ent(), _gen_fs_ent('xfs', opt), _gen_fs_ent()]) + pre_opts = '{},auto,quota'.format(opt) + in_opts = 'auto,{},quota'.format(opt) + post_opts = 'auto,quota,{}'.format(opt) + problematic_fstabs.append([_gen_fs_ent(), _gen_fs_ent('xfs', pre_opts)]) + problematic_fstabs.append([_gen_fs_ent(), _gen_fs_ent('xfs', in_opts)]) + problematic_fstabs.append([_gen_fs_ent(), _gen_fs_ent('xfs', post_opts)]) +# ensure we catch even cases when a value is expected to be specified; we know just this +# one case, so it should be representative it's working like that.. +problematic_fstabs.append([_gen_fs_ent(), _gen_fs_ent('xfs', 'defaults,ihashsize=4096')]) +problematic_fstabs.append([_gen_fs_ent(), _gen_fs_ent('xfs', 'defaults,ihashsize=4096,auto')]) + + +@pytest.mark.parametrize('fstab', problematic_fstabs) +def test_removed_xfs_option(fstab, current_actor_context): + current_actor_context.feed(StorageInfo(fstab=fstab)) + current_actor_context.run() + report = current_actor_context.consume(Report) + assert report and len(report) == 1 + assert is_inhibitor(report[0].report) diff --git a/repos/system_upgrade/el7toel8/actors/checkgrep/actor.py b/repos/system_upgrade/el7toel8/actors/checkgrep/actor.py new file mode 100644 index 0000000..1d4b3c9 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkgrep/actor.py @@ -0,0 +1,42 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckGrep(Actor): + """ + Check if Grep is installed. If yes, write information about non-compatible changes. + """ + + name = 'checkgrep' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, 'grep'): + create_report([ + reporting.Title('Grep has incompatible changes in the next major version'), + reporting.Summary( + 'If a file contains data improperly encoded for the current locale, and this is ' + 'discovered before any of the file\'s contents are output, grep now treats the file ' + 'as binary.\n' + 'The \'grep -P\' no longer reports an error and exits when given invalid UTF-8 data. ' + 'Instead, it considers the data to be non-matching.\n' + 'In locales with multibyte character encodings other than UTF-8, grep -P now reports ' + 'an error and exits instead of misbehaving.\n' + 'When searching binary data, grep now may treat non-text bytes as line terminators. ' + 'This can boost performance significantly.\n' + 'The \'grep -z\' no longer automatically treats the byte \'\\200\' as binary data.\n' + 'Context no longer excludes selected lines omitted because of -m. For example, ' + '\'grep "^" -m1 -A1\' now outputs the first two input lines, not just the first ' + 'line.\n' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.TOOLS]), + reporting.Remediation(hint='Please update your scripts to be compatible with the changes.'), + reporting.RelatedResource('package', 'grep') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/checkgrep/tests/component_test_checkgrep.py b/repos/system_upgrade/el7toel8/actors/checkgrep/tests/component_test_checkgrep.py new file mode 100644 index 0000000..10c5a15 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkgrep/tests/component_test_checkgrep.py @@ -0,0 +1,33 @@ +from leapp.models import InstalledRedHatSignedRPM, RPM +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def create_modulesfacts(installed_rpm): + return InstalledRedHatSignedRPM(items=installed_rpm) + + +def test_actor_with_grep_package(current_actor_context): + with_grep = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=with_grep)) + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_without_grep_package(current_actor_context): + without_grep = [ + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=without_grep)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkhacluster/actor.py b/repos/system_upgrade/el7toel8/actors/checkhacluster/actor.py new file mode 100644 index 0000000..ae62c52 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkhacluster/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkhacluster import check_ha_cluster +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class Checkhacluster(Actor): + """ + Check if HA Cluster is in use. If yes, inhibit the upgrade process. + + The system is considered as part of cluster if a corosync.conf file + (/etc/corosync/corosync.conf) can be found there. + Also the system can be a part of a cluster as a remote node. In such case + a cib file (/var/lib/pacemaker/cib/cib.xml) can be found there. + """ + + name = "check_ha_cluster" + consumes = () + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + check_ha_cluster() diff --git a/repos/system_upgrade/el7toel8/actors/checkhacluster/libraries/checkhacluster.py b/repos/system_upgrade/el7toel8/actors/checkhacluster/libraries/checkhacluster.py new file mode 100644 index 0000000..870cf8a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkhacluster/libraries/checkhacluster.py @@ -0,0 +1,48 @@ +import os.path + +from leapp import reporting +from leapp.reporting import create_report + +COROSYNC_CONF_LOCATION = "/etc/corosync/corosync.conf" +CIB_LOCATION = "/var/lib/pacemaker/cib/cib.xml" + + +def inhibit(node_type): + create_report([ + reporting.Title("Use of HA cluster detected. Upgrade can't proceed."), + reporting.Summary( + "HA cluster is not supported by the inplace upgrade.\n" + "HA cluster configuration file(s) found." + " It seems to be a cluster {0}.".format(node_type) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.HIGH_AVAILABILITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.ExternalLink( + url="https://access.redhat.com/articles/2059253", + title=( + "Recommended Practices for Applying Software Updates" + " to a RHEL High Availability or Resilient Storage Cluster" + ), + ), + reporting.Remediation( + hint=( + "Destroy the existing HA cluster" + " or (if you have already removed HA cluster packages) remove" + " configuration files {0} and {1}".format( + CIB_LOCATION, + COROSYNC_CONF_LOCATION, + ) + ), + commands=[["sh", "-c", "pcs cluster stop --all --wait && pcs cluster destroy --all"]] + ), + reporting.RelatedResource('file', COROSYNC_CONF_LOCATION), + reporting.RelatedResource('file', CIB_LOCATION) + ]) + + +def check_ha_cluster(): + if os.path.isfile(COROSYNC_CONF_LOCATION): + inhibit(node_type="node") + elif os.path.isfile(CIB_LOCATION): + inhibit(node_type="remote node") diff --git a/repos/system_upgrade/el7toel8/actors/checkhacluster/tests/test_check_ha_cluster_checkhacluster.py b/repos/system_upgrade/el7toel8/actors/checkhacluster/tests/test_check_ha_cluster_checkhacluster.py new file mode 100644 index 0000000..f8cc0ec --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkhacluster/tests/test_check_ha_cluster_checkhacluster.py @@ -0,0 +1,44 @@ +from leapp.libraries.actor.checkhacluster import CIB_LOCATION, COROSYNC_CONF_LOCATION +from leapp.reporting import Report +from leapp.utils.report import is_inhibitor + + +def assert_inhibits(reports, node_type): + assert len(reports) == 1 + report_fields = reports[0].report + assert is_inhibitor(report_fields) + assert "cluster {0}".format(node_type) in report_fields["summary"] + + +def test_no_inhibit_when_no_ha_cluster(monkeypatch, current_actor_context): + monkeypatch.setattr("os.path.isfile", lambda path: False) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_inhibits_when_cluster_node(monkeypatch, current_actor_context): + # NOTE(ivasilev) Limiting here the paths to mock not to cause unexpected side-effects + # (original test had path: True) + monkeypatch.setattr("os.path.isfile", lambda path: path in (COROSYNC_CONF_LOCATION, CIB_LOCATION)) + current_actor_context.run() + assert_inhibits(current_actor_context.consume(Report), "node") + + +def test_inhibits_when_cluster_node_no_cib(monkeypatch, current_actor_context): + monkeypatch.setattr( + "os.path.isfile", + lambda path: path == COROSYNC_CONF_LOCATION + ) + current_actor_context.run() + assert_inhibits(current_actor_context.consume(Report), "node") + + +def test_inhibits_when_cluster_remote_node(monkeypatch, current_actor_context): + # NOTE(ivasilev) Limiting here the paths to mock not to cause unexpected side-effects + # (original test had path: path != COROSYNC_CONF_LOCATION) + monkeypatch.setattr( + "os.path.isfile", + lambda path: path == CIB_LOCATION + ) + current_actor_context.run() + assert_inhibits(current_actor_context.consume(Report), "remote node") diff --git a/repos/system_upgrade/el7toel8/actors/checkirssi/actor.py b/repos/system_upgrade/el7toel8/actors/checkirssi/actor.py new file mode 100644 index 0000000..d1c65d0 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkirssi/actor.py @@ -0,0 +1,36 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckIrssi(Actor): + """ + Check if irssi is installed. If yes, write information about non-compatible changes. + """ + + name = 'checkirssi' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, 'irssi'): + create_report([ + reporting.Title('Irssi incompatible changes in the next major version'), + reporting.Summary( + 'Disabled support for the insecure SSLv2 protocol.\n' + 'Disabled SSLv3 due to the POODLE vulnerability.\n' + 'Removing networks will now remove all attached servers and channels.\n' + 'Removed --disable-ipv6 option.\n' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([ + reporting.Groups.COMMUNICATION, + reporting.Groups.TOOLS + ]), + reporting.Remediation(hint='Please update your scripts to be compatible with the changes.'), + reporting.RelatedResource('package', 'irssi') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/checkirssi/tests/component_test_checkirssi.py b/repos/system_upgrade/el7toel8/actors/checkirssi/tests/component_test_checkirssi.py new file mode 100644 index 0000000..bcdac9f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkirssi/tests/component_test_checkirssi.py @@ -0,0 +1,33 @@ +from leapp.models import InstalledRedHatSignedRPM, RPM +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def create_modulesfacts(installed_rpm): + return InstalledRedHatSignedRPM(items=installed_rpm) + + +def test_actor_with_irssi_package(current_actor_context): + with_irssi = [ + RPM(name='irssi', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=with_irssi)) + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_without_irssi_package(current_actor_context): + without_irssi = [ + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=without_irssi)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkkdeapps/actor.py b/repos/system_upgrade/el7toel8/actors/checkkdeapps/actor.py new file mode 100644 index 0000000..cec2cc3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkkdeapps/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkkdeapps import get_kde_apps_info +from leapp.models import InstalledKdeAppsFacts, InstalledRPM +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class CheckKdeApps(Actor): + """ + Actor checks which KDE apps are installed. + """ + + name = 'check_kde_apps' + consumes = (InstalledRPM,) + produces = (InstalledKdeAppsFacts,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + app_facts = get_kde_apps_info() + self.produce(InstalledKdeAppsFacts( + installed_apps=app_facts)) diff --git a/repos/system_upgrade/el7toel8/actors/checkkdeapps/libraries/checkkdeapps.py b/repos/system_upgrade/el7toel8/actors/checkkdeapps/libraries/checkkdeapps.py new file mode 100644 index 0000000..6ae6f09 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkkdeapps/libraries/checkkdeapps.py @@ -0,0 +1,25 @@ +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRPM + + +def get_kde_apps_info(): + installed = list() + base_kde_apps = ("kde-baseapps", + "okular", + "ark", + "kdepim", + "konsole", + "gwenview", + "kdenetwork", + "kate", + "kwrite") + + api.current_logger().info(" Detecting installed KDE apps ") + api.current_logger().info("================================") + for app in [application for application in base_kde_apps if has_package(InstalledRPM, application)]: + api.current_logger().info("Application {0} is installed.".format(app)) + installed.append(app) + api.current_logger().info("----------------------------------") + + return installed diff --git a/repos/system_upgrade/el7toel8/actors/checkkdeapps/tests/unit_test_checkkdeapps.py b/repos/system_upgrade/el7toel8/actors/checkkdeapps/tests/unit_test_checkkdeapps.py new file mode 100644 index 0000000..fbbb0b7 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkkdeapps/tests/unit_test_checkkdeapps.py @@ -0,0 +1,46 @@ +from leapp.models import InstalledKdeAppsFacts, InstalledRPM, RPM +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + +# KDE apps (only name matters, other values are irrelevant) +okular_RPM = RPM(name='okular', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') +kdenetwork_RPM = RPM(name='kdenetwork', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, + arch='noarch', pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') +kate_RPM = RPM(name='kate', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') + +# Some other apps to check false detection (only name matters, other values are irrelevant) +epiphany_PRM = RPM(name='epiphany', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') +polari_RPM = RPM(name='polari', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') + + +def test_no_app_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[])) + current_actor_context.run() + message = current_actor_context.consume(InstalledKdeAppsFacts)[0] + assert not message.installed_apps + + +def test_no_KDE_app_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[epiphany_PRM, polari_RPM])) + current_actor_context.run() + message = current_actor_context.consume(InstalledKdeAppsFacts)[0] + assert not message.installed_apps + + +def test_only_KDE_apps_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[okular_RPM, kdenetwork_RPM, kate_RPM])) + current_actor_context.run() + message = current_actor_context.consume(InstalledKdeAppsFacts)[0] + assert len(message.installed_apps) == 3 + + +def test_many_apps_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[okular_RPM, kdenetwork_RPM, kate_RPM, epiphany_PRM, polari_RPM])) + current_actor_context.run() + message = current_actor_context.consume(InstalledKdeAppsFacts)[0] + assert len(message.installed_apps) == 3 diff --git a/repos/system_upgrade/el7toel8/actors/checkkdegnome/actor.py b/repos/system_upgrade/el7toel8/actors/checkkdegnome/actor.py new file mode 100644 index 0000000..d6e0f0a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkkdegnome/actor.py @@ -0,0 +1,31 @@ +""" +Actor to check if KDE and/or GNOME are installed +Author: Jan Beran +Email: jaberan@redhat.com +""" + +from leapp.actors import Actor +from leapp.libraries.actor.checkkdegnome import check_kde_gnome +from leapp.models import InstalledDesktopsFacts, InstalledKdeAppsFacts +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckKdeGnome(Actor): + """ + Checks whether KDE is installed + + Actor will check whether KDE is installed together with GNOME desktop to inform whether we can + inhibit the upgrade process. When both are installed, we need to inform the user that KDE will + be removed and GNOME will be used instead. If only KDE is installed, we want to inhibit + the upgrade process otherwise the user will end up without a desktop. + Note: The Package Evolution Service data makes sure the KDE-related packages are removed in the + dnf upgrade transaction. + """ + name = 'check_kde_gnome' + consumes = (InstalledDesktopsFacts, InstalledKdeAppsFacts) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + check_kde_gnome() diff --git a/repos/system_upgrade/el7toel8/actors/checkkdegnome/libraries/checkkdegnome.py b/repos/system_upgrade/el7toel8/actors/checkkdegnome/libraries/checkkdegnome.py new file mode 100644 index 0000000..9479c2b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkkdegnome/libraries/checkkdegnome.py @@ -0,0 +1,74 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import InstalledDesktopsFacts, InstalledKdeAppsFacts + + +def check_kde_gnome(): + desktop_facts = next(api.consume(InstalledDesktopsFacts)) + kde_desktop_installed = desktop_facts.kde_installed + gnome_desktop_installed = desktop_facts.gnome_installed + + # No desktop installed, we don't even care about apps as they are most likely not used or even installed + if not kde_desktop_installed and not gnome_desktop_installed: + api.current_logger().info("No desktop installed. Continuing with the upgrade.") + return + + if kde_desktop_installed: + api.current_logger().info("KDE desktop is installed. Checking what we can do about it.") + if not gnome_desktop_installed: + api.current_logger().error("Cannot perform the upgrade because there is" + " no other desktop than KDE installed.") + # We cannot continue with the upgrade process + reporting.create_report([ + reporting.Title("The installed KDE environment is unavailable on RHEL 8."), + reporting.Summary( + "Because the KDE desktop environment is not available on RHEL 8, all the KDE-related packages" + " would be removed during the upgrade. There would be no desktop environment installed after the" + " upgrade."), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.DESKTOP + ]), + reporting.Groups([ + reporting.Groups.INHIBITOR + ]), + reporting.Remediation( + hint=("Remove KDE (at least the `kde-workspace` package) or install the GNOME desktop environment" + " to be able to upgrade."), + commands=[['yum', '-y', 'groupinstall', '"Server with GUI"']]) + ]) + return + + # Assume both GNOME and KDE are installed in this state + api.current_logger().info("Upgrade can be performed, but KDE desktop will" + " be removed in favor of GNOME") + reporting.create_report([ + reporting.Title("Upgrade can be performed, but KDE will be uninstalled."), + reporting.Summary("The KDE desktop environment is unavailable on RHEL 8. KDE will be uninstalled " + "in favor of GNOME during the upgrade."), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.DESKTOP + ])]) + api.current_logger().info("----------------------------------") + + # At this state we just need to detect whether any KDE/Qt app is installed to inform user + # that the application will be removed during the upgrade process. No matter if KDE is installed + # or not. + + KDEAppsFacts = next(api.consume(InstalledKdeAppsFacts)) + if KDEAppsFacts.installed_apps: + # upgrade can be performed, but user will loose KDE apps + api.current_logger().info("Installed KDE/Qt apps detected.") + reporting.create_report([ + reporting.Title("Upgrade can be performed, but KDE/Qt apps will be uninstalled."), + reporting.Summary("The KDE desktop environment is unavailable on RHEL 8. " + "All the KDE/Qt apps will be removed during the upgrade, including but not limited " + "to:\n- {0}".format("\n- ".join(KDEAppsFacts.installed_apps))), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.DESKTOP + ])]) + else: + api.current_logger().info("No KDE app in use detected.") + # upgrade can be performed diff --git a/repos/system_upgrade/el7toel8/actors/checkkdegnome/tests/unit_test_checkkdegnome.py b/repos/system_upgrade/el7toel8/actors/checkkdegnome/tests/unit_test_checkkdegnome.py new file mode 100644 index 0000000..c91bc73 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkkdegnome/tests/unit_test_checkkdegnome.py @@ -0,0 +1,94 @@ +from leapp.models import InstalledDesktopsFacts, InstalledKdeAppsFacts, Report +from leapp.utils.report import is_inhibitor + +no_desktop_env = InstalledDesktopsFacts(gnome_installed=False, + kde_installed=False) +gnome_desktop_env = InstalledDesktopsFacts(gnome_installed=True, + kde_installed=False) +KDE_desktop_env = InstalledDesktopsFacts(gnome_installed=False, + kde_installed=True) +both_desktop_env = InstalledDesktopsFacts(gnome_installed=True, + kde_installed=True) + + +no_KDE_apps = InstalledKdeAppsFacts(installed_apps=[]) +some_KDE_apps = InstalledKdeAppsFacts(installed_apps=["okular", "kate"]) + + +def test_no_desktop_no_apps(current_actor_context): + """ + No action expected. + """ + current_actor_context.feed(no_desktop_env) + current_actor_context.feed(no_KDE_apps) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_gnome_desktop_no_apps(current_actor_context): + """ + No action expected. + """ + current_actor_context.feed(gnome_desktop_env) + current_actor_context.feed(no_KDE_apps) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_gnome_desktop_KDE_apps(current_actor_context): + """ + One report about deleting KDE apps expected. + """ + current_actor_context.feed(gnome_desktop_env) + current_actor_context.feed(some_KDE_apps) + current_actor_context.run() + message = current_actor_context.consume(Report)[0] + assert "Upgrade can be performed, but KDE/Qt apps will be uninstalled." in message.report["title"] + + +def test_KDE_desktop_no_apps(current_actor_context): + """ + "Inhibitor" flag in report expected. + """ + current_actor_context.feed(KDE_desktop_env) + current_actor_context.feed(no_KDE_apps) + current_actor_context.run() + message = current_actor_context.consume(Report)[0] + assert is_inhibitor(message.report) + + +def test_KDE_desktop_KDE_apps(current_actor_context): + """ + "Inhibitor" flag in report expected. + """ + current_actor_context.feed(KDE_desktop_env) + current_actor_context.feed(some_KDE_apps) + current_actor_context.run() + message = current_actor_context.consume(Report)[0] + assert is_inhibitor(message.report) + + +def test_both_desktops_no_apps(current_actor_context): + """ + Report about removing KDE desktop environment expected. + """ + current_actor_context.feed(both_desktop_env) + current_actor_context.feed(no_KDE_apps) + current_actor_context.run() + message = current_actor_context.consume(Report)[0] + assert "Upgrade can be performed, but KDE will be uninstalled." in message.report["title"] + + +def test_both_desktop_KDE_apps(current_actor_context): + """ + Two reports expected, first about removing KDE desktop, second about KDE/Qt apps + """ + current_actor_context.feed(both_desktop_env) + current_actor_context.feed(some_KDE_apps) + current_actor_context.run() + messages = current_actor_context.consume(Report) + remove_KDE_title = "Upgrade can be performed, but KDE will be uninstalled." + remove_apps_title = "Upgrade can be performed, but KDE/Qt apps will be uninstalled." + assert len(messages) == 2 + assert [True for message in messages if remove_KDE_title in message.report["title"]] + assert [True for message in messages if remove_apps_title in message.report["title"]] diff --git a/repos/system_upgrade/el7toel8/actors/checkleftoverpackages/actor.py b/repos/system_upgrade/el7toel8/actors/checkleftoverpackages/actor.py new file mode 100644 index 0000000..7a81774 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkleftoverpackages/actor.py @@ -0,0 +1,46 @@ +from leapp.actors import Actor +from leapp.libraries.common.rpms import get_installed_rpms +from leapp.models import InstalledUnsignedRPM, LeftoverPackages, RPM, TransactionCompleted +from leapp.tags import IPUWorkflowTag, RPMUpgradePhaseTag + + +class CheckLeftoverPackages(Actor): + """ + Check if there are any RHEL 7 packages present after upgrade. + + Actor produces message containing these packages. Message is empty if there are no el7 package left. + """ + + name = 'check_leftover_packages' + consumes = (TransactionCompleted, InstalledUnsignedRPM) + produces = (LeftoverPackages,) + tags = (RPMUpgradePhaseTag, IPUWorkflowTag) + + def process(self): + LEAPP_PACKAGES = ['leapp', 'leapp-repository', 'snactor', 'leapp-repository-deps-el8', 'leapp-deps-el8', + 'python2-leapp'] + installed_rpms = get_installed_rpms() + if not installed_rpms: + return + + to_remove = LeftoverPackages() + unsigned = [pkg.name for pkg in next(self.consume(InstalledUnsignedRPM), InstalledUnsignedRPM()).items] + + for rpm in installed_rpms: + rpm = rpm.strip() + if not rpm: + continue + name, version, release, epoch, packager, arch, pgpsig = rpm.split('|') + + if 'el7' in release and name not in set(unsigned + LEAPP_PACKAGES): + to_remove.items.append(RPM( + name=name, + version=version, + epoch=epoch, + packager=packager, + arch=arch, + release=release, + pgpsig=pgpsig + )) + + self.produce(to_remove) diff --git a/repos/system_upgrade/el7toel8/actors/checkmemcached/actor.py b/repos/system_upgrade/el7toel8/actors/checkmemcached/actor.py new file mode 100644 index 0000000..550e537 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkmemcached/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkmemcached import check_memcached +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckMemcached(Actor): + """ + Check for incompatible changes in memcached configuration. + + Warn that memcached in RHEL8 no longer listens on the UDP port by default + and the default service configuration binds memcached to the loopback + interface. + """ + + name = 'check_memcached' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + check_memcached(has_package(InstalledRedHatSignedRPM, 'memcached')) diff --git a/repos/system_upgrade/el7toel8/actors/checkmemcached/libraries/checkmemcached.py b/repos/system_upgrade/el7toel8/actors/checkmemcached/libraries/checkmemcached.py new file mode 100644 index 0000000..15f2343 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkmemcached/libraries/checkmemcached.py @@ -0,0 +1,69 @@ +import re + +from leapp import reporting +from leapp.libraries.stdlib import api, run + +COMMON_REPORT_TAGS = [reporting.Groups.SERVICES] + + +sysconfig_path = '/etc/sysconfig/memcached' + +related = [ + reporting.RelatedResource('package', 'memcached'), + reporting.RelatedResource('file', sysconfig_path) +] + + +def is_sysconfig_default(): + """Check if the memcached sysconfig file was not modified since installation.""" + try: + result = run(['rpm', '-V', '--nomtime', 'memcached'], checked=False) + return sysconfig_path not in result['stdout'] + except OSError as e: + api.current_logger().warning("rpm verification failed: %s", str(e)) + return True + + +def is_udp_disabled(): + """Check if UDP port is disabled in the sysconfig file.""" + with open(sysconfig_path) as f: + for line in f: + if re.match(r'^\s*OPTIONS=.*-U\s*0[^0-9]', line): + return True + return False + + +def check_memcached(memcached_installed): + """Report potential issues in memcached configuration.""" + if not memcached_installed: + api.current_logger().info('memcached package is not installed') + return + + default_memcached_conf = is_sysconfig_default() + disabled_udp_port = is_udp_disabled() + + if default_memcached_conf: + reporting.create_report([ + reporting.Title('memcached service is using default configuration'), + reporting.Summary('memcached in RHEL8 listens on loopback only and has UDP port disabled by default'), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups(COMMON_REPORT_TAGS), + ] + related) + + elif not disabled_udp_port: + reporting.create_report([ + reporting.Title('memcached has enabled UDP port'), + reporting.Summary( + 'memcached in RHEL7 has UDP port enabled by default, but it is disabled by default in RHEL8' + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups(COMMON_REPORT_TAGS), + ] + related) + + else: + reporting.create_report([ + reporting.Title('memcached has already disabled UDP port'), + reporting.Summary('memcached in RHEL8 has UDP port disabled by default'), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups(COMMON_REPORT_TAGS), + ] + related) diff --git a/repos/system_upgrade/el7toel8/actors/checkmemcached/tests/unit_test_checkmemcached.py b/repos/system_upgrade/el7toel8/actors/checkmemcached/tests/unit_test_checkmemcached.py new file mode 100644 index 0000000..c9d306d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkmemcached/tests/unit_test_checkmemcached.py @@ -0,0 +1,49 @@ +from leapp import reporting +from leapp.libraries.actor import checkmemcached +from leapp.libraries.common.testutils import create_report_mocked + + +def test_uninstalled(monkeypatch): + for sysconfig_default in (False, True): + for udp_disabled in (False, True): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkmemcached, 'is_sysconfig_default', lambda: sysconfig_default, ) + monkeypatch.setattr(checkmemcached, 'is_udp_disabled', lambda: udp_disabled) + + checkmemcached.check_memcached(False) + + assert reporting.create_report.called == 0 + + +def test_installed_defconf(monkeypatch): + for udp_disabled in (False, True): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkmemcached, 'is_sysconfig_default', lambda: True) + monkeypatch.setattr(checkmemcached, 'is_udp_disabled', lambda: udp_disabled) + + checkmemcached.check_memcached(True) + + assert reporting.create_report.called == 1 + assert reporting.create_report.report_fields['title'] == 'memcached service is using default configuration' + + +def test_installed_nodefconf_udp(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkmemcached, 'is_sysconfig_default', lambda: False) + monkeypatch.setattr(checkmemcached, 'is_udp_disabled', lambda: False) + + checkmemcached.check_memcached(True) + + assert reporting.create_report.called == 1 + assert reporting.create_report.report_fields['title'] == 'memcached has enabled UDP port' + + +def test_installed_nodefconf_noudp(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkmemcached, 'is_sysconfig_default', lambda: False) + monkeypatch.setattr(checkmemcached, 'is_udp_disabled', lambda: True) + + checkmemcached.check_memcached(True) + + assert reporting.create_report.called == 1 + assert reporting.create_report.report_fields['title'] == 'memcached has already disabled UDP port' diff --git a/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/actor.py b/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/actor.py new file mode 100644 index 0000000..37156dd --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkmultiplepackageversions import check +from leapp.models import InstalledRPM +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckMultiplePackageVersions(Actor): + """ + Check for problematic 32bit packages installed together with 64bit ones. + + If a known problematic 32bit package is found, the upgrade will be inhibited with the detailed + report how to solve the problem if such a remedy exists. + """ + + name = 'multiple_package_versions' + consumes = (InstalledRPM,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + check() diff --git a/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/libraries/checkmultiplepackageversions.py b/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/libraries/checkmultiplepackageversions.py new file mode 100644 index 0000000..3a59a0d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/libraries/checkmultiplepackageversions.py @@ -0,0 +1,37 @@ +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRPM +from leapp.reporting import create_report, Groups, RelatedResource, Remediation, Severity, Summary, Title + +# package_name: remedy information +PROBLEM_PACKAGE_MAP = { + 'brlapi.i686': {'bugzilla': None}, + 'gnome-online-accounts-devel.i686': { + 'bugzilla': 'https://bugzilla.redhat.com/show_bug.cgi?id=1765627'}, + 'geocode-glib-devel.i686': { + 'bugzilla': 'https://bugzilla.redhat.com/show_bug.cgi?id=1765629'}} + + +def check(): + actual_problems = [] + related_resources = [] + for package, details in PROBLEM_PACKAGE_MAP.items(): + name, arch = package.split('.') + if has_package(InstalledRPM, name, arch) and has_package(InstalledRPM, name, 'x86_64'): + actual_problems.append(package) + # generate RelatedResources for the report + related_resources.append(RelatedResource('package', package)) + if details['bugzilla']: + related_resources.append(RelatedResource('bugzilla', details['bugzilla'])) + + if actual_problems: + remediation = ["yum", "remove", "-y"] + actual_problems + # create a single report entry for all problematic packages + create_report([ + Title('Some packages have both 32bit and 64bit version installed which are known ' + 'to cause rpm transaction test to fail'), + Summary('The following packages have both 32bit and 64bit version installed which are known ' + 'to cause rpm transaction test to fail:\n{}'.format( + '\n'.join(['- {}'.format(a) for a in actual_problems]))), + Severity(Severity.HIGH), + Groups([Groups.INHIBITOR]), + Remediation(commands=[remediation])] + related_resources) diff --git a/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/tests/test_multiplepackageversions.py b/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/tests/test_multiplepackageversions.py new file mode 100644 index 0000000..f8692aa --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkmultiplepackageversions/tests/test_multiplepackageversions.py @@ -0,0 +1,79 @@ +import mock + +from leapp.actors import Actor +from leapp.models import InstalledRPM, Report, RPM + + +def test_x32_x64(current_actor_context): + problem_rpms = [ + RPM(name='brlapi', version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", arch='i686', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='gnome-online-accounts-devel', version='0.1', release='1.sm01', epoch='1', + packager="RH_PACKAGER", arch='i686', pgpsig='SOME_OTHER_SIG_X'), + RPM(name='geocode-glib-devel', version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", + arch='i686', pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186'), + RPM(name='brlapi', version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", arch='x86_64', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='gnome-online-accounts-devel', version='0.1', release='1.sm01', epoch='1', + packager="RH_PACKAGER", arch='x86_64', pgpsig='SOME_OTHER_SIG_X'), + RPM(name='geocode-glib-devel', version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", + arch='x86_64', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186') + ] + + current_actor_context.feed(InstalledRPM(items=problem_rpms)) + current_actor_context.run() + report = current_actor_context.consume(Report)[0].report + assert report['title'] == ('Some packages have both 32bit and 64bit version installed which are known to' + ' cause rpm transaction test to fail') + assert {p['title'] for p in report['detail']['related_resources'] if p['scheme'] == 'package'} == \ + {'brlapi.i686', 'gnome-online-accounts-devel.i686', 'geocode-glib-devel.i686'} + + +def test_1_package(current_actor_context): + pkg = 'geocode-glib-devel' + problem_rpms = [ + RPM(name=pkg, version='0.1', release='1.sm01', epoch='1', + packager="RH_PACKAGER", arch='x86_64', pgpsig='SOME_OTHER_SIG_X'), + RPM(name=pkg, version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", + arch='i686', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186') + ] + current_actor_context.feed(InstalledRPM(items=problem_rpms)) + current_actor_context.run() + report = current_actor_context.consume(Report)[0].report + assert report['title'] == ('Some packages have both 32bit and 64bit version installed which are known to' + ' cause rpm transaction test to fail') + assert {p['title'] for p in report['detail']['related_resources'] if p['scheme'] == 'package'} == \ + {'{}.i686'.format(pkg)} + + +def test_x64_only(current_actor_context): + ok_rpms = [ + RPM(name='brlapi', version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", arch='x86_64', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='gnome-online-accounts-devel', version='0.1', release='1.sm01', epoch='1', + packager="RH_PACKAGER", arch='x86_64', pgpsig='SOME_OTHER_SIG_X'), + RPM(name='geocode-glib-devel', version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", + arch='x86_64', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186') + ] + + current_actor_context.feed(InstalledRPM(items=ok_rpms)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_x32_only(current_actor_context): + ok_rpms = [ + RPM(name='brlapi', version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", arch='i686', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='gnome-online-accounts-devel', version='0.1', release='1.sm01', epoch='1', + packager="RH_PACKAGER", arch='i686', pgpsig='SOME_OTHER_SIG_X'), + RPM(name='geocode-glib-devel', version='0.1', release='1.sm01', epoch='1', packager="RH_PACKAGER", + arch='i686', pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 5326810137017186'), + ] + + current_actor_context.feed(InstalledRPM(items=ok_rpms)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkntp/actor.py b/repos/system_upgrade/el7toel8/actors/checkntp/actor.py new file mode 100644 index 0000000..83c4e0a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkntp/actor.py @@ -0,0 +1,25 @@ +from leapp.actors import Actor +from leapp.libraries.actor.checkntp import check_ntp +from leapp.models import InstalledRedHatSignedRPM, NtpMigrationDecision, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckNtp(Actor): + """ + Check if ntp and/or ntpdate configuration needs to be migrated. + """ + + name = 'check_ntp' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report, NtpMigrationDecision) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + installed_packages = set() + + signed_rpms = self.consume(InstalledRedHatSignedRPM) + for rpm_pkgs in signed_rpms: + for pkg in rpm_pkgs.items: + installed_packages.add(pkg.name) + + self.produce(check_ntp(installed_packages)) diff --git a/repos/system_upgrade/el7toel8/actors/checkntp/libraries/checkntp.py b/repos/system_upgrade/el7toel8/actors/checkntp/libraries/checkntp.py new file mode 100644 index 0000000..9ce6677 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkntp/libraries/checkntp.py @@ -0,0 +1,82 @@ +import base64 +import io +import os +import tarfile + +from leapp import reporting +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import NtpMigrationDecision + +files = [ + '/etc/ntp.conf', '/etc/ntp/keys', + '/etc/ntp/crypto/pw', '/etc/ntp/step-tickers' +] + +related = [ + reporting.RelatedResource('package', 'ntpd'), + reporting.RelatedResource('package', 'chrony'), +] + [reporting.RelatedResource('file', f) for f in files] + + +# Check if a service is active and enabled +def check_service(name): + for state in ['active', 'enabled']: + try: + run(['systemctl', 'is-{}'.format(state), name]) + api.current_logger().debug('{} is {}'.format(name, state)) + except CalledProcessError: + api.current_logger().debug('{} is not {}'.format(name, state)) + return False + + return True + + +# Check if a file exists +def is_file(name): + return os.path.isfile(name) + + +# Get a base64-encoded gzipped tarball of specified files +def get_tgz64(filenames): + stream = io.BytesIO() + tar = tarfile.open(fileobj=stream, mode='w:gz') + for filename in filenames: + if os.path.isfile(filename): + tar.add(filename) + tar.close() + + return base64.b64encode(stream.getvalue()) + + +# Check services from the ntp packages for migration +def check_ntp(installed_packages): + service_data = [('ntpd', 'ntp', '/etc/ntp.conf'), + ('ntpdate', 'ntpdate', '/etc/ntp/step-tickers'), + ('ntp-wait', 'ntp-perl', None)] + + migrate_services = [] + migrate_configs = [] + for service, package, main_config in service_data: + if package in installed_packages and \ + check_service('{}.service'.format(service)) and \ + (not main_config or is_file(main_config)): + migrate_services.append(service) + if main_config: + migrate_configs.append(service) + + if migrate_configs: + reporting.create_report([ + reporting.Title('{} configuration will be migrated'.format(' and '.join(migrate_configs))), + reporting.Summary('{} service(s) detected to be enabled and active'.format(', '.join(migrate_services))), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.TIME_MANAGEMENT]), + ] + related) + + # Save configuration files that will be renamed in the upgrade + config_tgz64 = get_tgz64(files) + else: + api.current_logger().info('ntpd/ntpdate configuration will not be migrated') + migrate_services = [] + config_tgz64 = '' + + return NtpMigrationDecision(migrate_services=migrate_services, config_tgz64=config_tgz64) diff --git a/repos/system_upgrade/el7toel8/actors/checkntp/tests/unit_test_checkntp.py b/repos/system_upgrade/el7toel8/actors/checkntp/tests/unit_test_checkntp.py new file mode 100644 index 0000000..b806ec9 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkntp/tests/unit_test_checkntp.py @@ -0,0 +1,64 @@ +import base64 +import io +import os +import re +import tarfile +import tempfile + +from leapp import reporting +from leapp.libraries.actor import checkntp +from leapp.libraries.common.testutils import create_report_mocked + + +def test_nomigration(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkntp, 'check_service', lambda _: False) + monkeypatch.setattr(checkntp, 'is_file', lambda _: False) + monkeypatch.setattr(checkntp, 'get_tgz64', lambda _: '') + + checkntp.check_ntp(set(['chrony', 'linuxptp', 'xterm'])) + + assert reporting.create_report.called == 0 + + +def test_migration(monkeypatch): + for packages, services, migrate in [ + (['ntp'], ['ntpd'], ['ntpd']), + (['ntp', 'ntpdate'], ['ntpd'], ['ntpd']), + (['ntpdate'], ['ntpdate'], ['ntpdate']), + (['ntp', 'ntpdate'], ['ntpdate'], ['ntpdate']), + (['ntp', 'ntpdate'], ['ntpd', 'ntpdate'], ['ntpd', 'ntpdate']), + (['ntp', 'ntpdate', 'ntp-perl'], ['ntpd', 'ntpdate'], ['ntpd', 'ntpdate']), + (['ntp', 'ntpdate'], ['ntpd', 'ntpdate', 'ntp-wait'], ['ntpd', 'ntpdate']), + (['ntp', 'ntpdate', 'ntp-perl'], ['ntpd', 'ntpdate', 'ntp-wait'], ['ntpd', 'ntpdate', 'ntp-wait']), + ]: + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(checkntp, 'check_service', lambda service: service[:-8] in services) + monkeypatch.setattr(checkntp, 'is_file', lambda _: True) + monkeypatch.setattr(checkntp, 'get_tgz64', lambda _: '') + + decision = checkntp.check_ntp(set(packages)) + + assert reporting.create_report.called == 1 + assert 'configuration will be migrated' in reporting.create_report.report_fields['title'] + for service in ['ntpd', 'ntpdate']: + migrated = re.search(r'\b{}\b'.format(service), + reporting.create_report.report_fields['title']) is not None + assert migrated == (service in migrate) + + assert decision.migrate_services == migrate + + +def test_tgz64(monkeypatch): + f, name = tempfile.mkstemp() + os.close(f) + tgz64 = checkntp.get_tgz64([name]) + + stream = io.BytesIO(base64.b64decode(tgz64)) + tar = tarfile.open(fileobj=stream, mode='r:gz') + names = tar.getnames() + + tar.close() + os.unlink(name) + + assert names == [name.lstrip('/')] diff --git a/repos/system_upgrade/el7toel8/actors/checkpostfix/actor.py b/repos/system_upgrade/el7toel8/actors/checkpostfix/actor.py new file mode 100644 index 0000000..3d54f62 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkpostfix/actor.py @@ -0,0 +1,66 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckPostfix(Actor): + """ + Check if postfix is installed, check whether configuration update is needed. + """ + + name = 'check_postfix' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + for fact in self.consume(InstalledRedHatSignedRPM): + for rpm in fact.items: + if rpm.name == 'postfix': + create_report([ + reporting.Title('Postfix has incompatible changes in the next major version'), + reporting.Summary( + 'Postfix 3.x has so called "compatibility safety net" that runs Postfix programs ' + 'with backwards-compatible default settings. It will log a warning whenever ' + 'backwards-compatible default setting may be required for continuity of service. ' + 'Based on this logging the system administrator can decide if any ' + 'backwards-compatible settings need to be made permanent in main.cf or master.cf, ' + 'before turning off the backwards-compatibility safety net.\n' + 'The backward compatibility safety net is by default turned off in Red Hat ' + 'Enterprise Linux 8.\n' + 'It can be turned on by running: "postconf -e compatibility_level=0\n' + 'It can be turned off by running: "postconf -e compatibility_level=2\n\n' + 'In the Postfix MySQL database client, the default "option_group" value has changed ' + 'to "client", i.e. it now reads options from the [client] group from the MySQL ' + 'configuration file. To disable it, set "option_group" to the empty string.\n\n' + 'The postqueue command no longer forces all message arrival times to be reported ' + 'in UTC. To get the old behavior, set TZ=UTC in main.cf:import_environment.\n\n' + 'Postfix 3.2 enables elliptic curve negotiation. This changes the default ' + 'smtpd_tls_eecdh_grade setting to "auto", and introduces a new parameter ' + '"tls_eecdh_auto_curves" with the names of curves that may be negotiated.\n\n' + 'The "master.cf" chroot default value has changed from "y" (yes) to "n" (no). ' + 'This applies to master.cf services where chroot field is not explicitly ' + 'specified.\n\n' + 'The "append_dot_mydomain" default value has changed from "yes" to "no". You may ' + 'need changing it to "yes" if senders cannot use complete domain names in e-mail ' + 'addresses.\n\n' + 'The "relay_domains" default value has changed from "$mydestination" to the empty ' + 'value. This could result in unexpected "Relay access denied" errors or ETRN errors, ' + 'because now will postfix by default relay only for the localhost.\n\n' + 'The "mynetworks_style" default value has changed from "subnet" to "host". ' + 'This parameter is used to implement the "permit_mynetworks" feature. The change ' + 'could result in unexpected "access denied" errors, because postfix will now by ' + 'default trust only the local machine, not the remote SMTP clients on the ' + 'same IP subnetwork.\n\n' + 'Postfix now supports dynamically loaded database plugins. Plugins are shipped ' + 'in individual RPM sub-packages. Correct database plugins have to be installed, ' + 'otherwise the specific database client will not work. For example for PostgreSQL ' + 'map to work, the postfix-pgsql RPM package has to be installed.\n', + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.EMAIL]), + reporting.RelatedResource('package', 'postfix') + ]) + return diff --git a/repos/system_upgrade/el7toel8/actors/checkpostfix/tests/component_test_checkpostfix.py b/repos/system_upgrade/el7toel8/actors/checkpostfix/tests/component_test_checkpostfix.py new file mode 100644 index 0000000..7edf9c6 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkpostfix/tests/component_test_checkpostfix.py @@ -0,0 +1,33 @@ +from leapp.models import InstalledRedHatSignedRPM, RPM +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + +with_postfix = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='postfix', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + +without_postfix = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + +def create_modulesfacts(installed_rpm): + return InstalledRedHatSignedRPM(items=installed_rpm) + + +def test_actor_without_postfix_package(current_actor_context): + current_actor_context.feed(create_modulesfacts(installed_rpm=without_postfix)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_with_postfix_package(current_actor_context): + current_actor_context.feed(create_modulesfacts(installed_rpm=with_postfix)) + current_actor_context.run() + assert current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/actor.py b/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/actor.py new file mode 100644 index 0000000..af11f78 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkremovedenvvars +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckRemovedEnvVars(Actor): + """ + Check for usage of removed environment variables and inhibit the upgrade + if they are used. + """ + + name = 'check_removed_envvars' + consumes = () + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checkremovedenvvars.process() diff --git a/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/libraries/checkremovedenvvars.py b/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/libraries/checkremovedenvvars.py new file mode 100644 index 0000000..b637296 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/libraries/checkremovedenvvars.py @@ -0,0 +1,25 @@ +from leapp import reporting +from leapp.libraries.common.config import get_all_envs +from leapp.reporting import create_report + +DEPRECATED_VARS = ['LEAPP_GRUB_DEVICE'] + + +def process(): + + vars_to_report = [] + + for var in get_all_envs(): + if var.name in DEPRECATED_VARS: + vars_to_report.append(var.name) + + if vars_to_report: + vars_str = ' '.join(vars_to_report) + create_report([ + reporting.Title('Leapp detected removed environment variable usage'), + reporting.Summary('The following Leapp related environment variable was removed: ' + vars_str), + reporting.Severity(reporting.Severity.HIGH), + reporting.Remediation(hint='Please do not use the reported variables'), + reporting.Groups(['inhibitor']), + reporting.Groups([reporting.Groups.UPGRADE_PROCESS]), + ]) diff --git a/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/tests/test_checkremovedenvvars.py b/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/tests/test_checkremovedenvvars.py new file mode 100644 index 0000000..6fe5219 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkremovedenvvars/tests/test_checkremovedenvvars.py @@ -0,0 +1,25 @@ +import pytest + +from leapp.libraries.actor import checkremovedenvvars +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.utils.report import is_inhibitor + + +def test_removed_vars(monkeypatch): + envars = {'LEAPP_GRUB_DEVICE': '/dev/sda'} + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars=envars)) + monkeypatch.setattr(api.current_actor, "produce", produce_mocked()) + checkremovedenvvars.process() + assert api.current_actor.produce.called == 1 + assert 'LEAPP_GRUB_DEVICE' in api.current_actor.produce.model_instances[0].report['summary'] + assert is_inhibitor(api.current_actor.produce.model_instances[0].report) + + +def test_no_removed_vars(monkeypatch): + envars = {'LEAPP_SKIP_RHSM': '1'} + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(envars=envars)) + monkeypatch.setattr(api.current_actor, "produce", produce_mocked()) + checkremovedenvvars.process() + assert not api.current_actor.produce.called + assert not api.current_actor.produce.model_instances diff --git a/repos/system_upgrade/el7toel8/actors/checkremovedpammodules/actor.py b/repos/system_upgrade/el7toel8/actors/checkremovedpammodules/actor.py new file mode 100644 index 0000000..503f614 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkremovedpammodules/actor.py @@ -0,0 +1,64 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.models import PamConfiguration, Report +from leapp.reporting import create_report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckRemovedPamModules(Actor): + """ + Check for modules that are not available in RHEL 8 anymore + + At this moment, we check only for pam_tally2. Few more modules + are already covered in RemoveOldPAMModulesApply actor + """ + + name = 'removed_pam_modules' + consumes = (PamConfiguration, ) + produces = (Report, ) + tags = (ChecksPhaseTag, IPUWorkflowTag, ) + + def process(self): + messages = self.consume(PamConfiguration) + config = next(messages, None) + if list(messages): + api.current_logger().warning('Unexpectedly received more than one PamConfiguration message.') + if not config: + raise StopActorExecutionError( + 'Could not check pam configuration', details={'details': 'No PamConfiguration facts found.'} + ) + + # This list contain tuples of removed modules and their recommended replacements + removed_modules = [ + ('pam_tally2', 'pam_faillock'), + ] + found_services = set() + found_modules = set() + replacements = set() + for service in config.services: + for module in removed_modules: + removed = module[0] + replacement = module[1] + if removed in service.modules: + found_services.add(service.service) + found_modules.add(removed) + replacements.add(replacement) + + if found_modules: + create_report([ + reporting.Title('The {} pam module(s) no longer available'.format(', '.join(found_modules))), + reporting.Summary('The services {} using PAM are configured to ' + 'use {} module(s), which is no longer available ' + 'in Red Hat Enterprise Linux 8.'.format( + ', '.join(found_services), ', '.join(found_modules))), + reporting.Remediation( + hint='If you depend on its functionality, it is ' + 'recommended to migrate to {}. Otherwise ' + 'please remove the pam module(s) from all the files ' + 'under /etc/pam.d/.'.format(', '.join(replacements)) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + ] + [reporting.RelatedResource('pam', r) for r in replacements | found_modules]) diff --git a/repos/system_upgrade/el7toel8/actors/checksendmail/actor.py b/repos/system_upgrade/el7toel8/actors/checksendmail/actor.py new file mode 100644 index 0000000..a831b1f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checksendmail/actor.py @@ -0,0 +1,63 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.actor import checksendmail +from leapp.libraries.common.rpms import has_package +from leapp.libraries.common.tcpwrappersutils import config_applies_to_daemon +from leapp.models import InstalledRedHatSignedRPM, SendmailMigrationDecision, TcpWrappersFacts +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +COMMON_REPORT_TAGS = [reporting.Groups.SERVICES, reporting.Groups.EMAIL] + +related = [ + reporting.RelatedResource('file', f) for f in checksendmail.get_conf_files() + ] + [reporting.RelatedResource('package', 'sendmail')] + + +class CheckSendmail(Actor): + """ + Check if sendmail is installed, check whether configuration update is needed, inhibit upgrade if TCP wrappers + are used. + """ + + name = 'check_sendmail' + consumes = (InstalledRedHatSignedRPM, TcpWrappersFacts,) + produces = (Report, SendmailMigrationDecision,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if not has_package(InstalledRedHatSignedRPM, 'sendmail'): + return + + if config_applies_to_daemon(next(self.consume(TcpWrappersFacts)), 'sendmail'): + create_report([ + reporting.Title('TCP wrappers support removed in the next major version'), + reporting.Summary( + 'TCP wrappers are legacy host-based ACL (Access Control List) system ' + 'which has been removed in the next major version of RHEL.' + ), + reporting.Remediation( + hint='Please migrate from TCP wrappers to some other access control mechanism and delete ' + 'sendmail from the /etc/hosts.[allow|deny].' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS + [reporting.Groups.NETWORK]), + reporting.Groups([reporting.Groups.INHIBITOR]) + ] + related) + + return + migrate_files = checksendmail.check_files_for_compressed_ipv6() + if migrate_files: + create_report([ + reporting.Title('sendmail configuration will be migrated'), + reporting.Summary( + 'IPv6 addresses will be uncompressed, check all IPv6 addresses in all sendmail ' + 'configuration files for correctness.' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups(COMMON_REPORT_TAGS) + ] + related) + + self.produce(SendmailMigrationDecision(migrate_files=migrate_files)) + else: + self.log.info('The sendmail configuration seems compatible - it won\'t be migrated.') diff --git a/repos/system_upgrade/el7toel8/actors/checksendmail/libraries/checksendmail.py b/repos/system_upgrade/el7toel8/actors/checksendmail/libraries/checksendmail.py new file mode 100644 index 0000000..fb7a9de --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checksendmail/libraries/checksendmail.py @@ -0,0 +1,33 @@ +import os +import re + +SendmailConfDir = '/etc/mail' +SendmailConfFiles = ['sendmail.cf', 'sendmail.mc', 'submit.cf', 'submit.mc'] +# false positives blacklist +rfp = re.compile(r'(^\s*RIPv6:::1\b)|(@\s+\[IPv6:::1\]\s+>)') + + +def get_conf_files(): + conf_files = [os.path.join(SendmailConfDir, f) for f in SendmailConfFiles] + return conf_files + + +def check_false_positives(filename, line): + return filename in ['sendmail.cf', 'submit.cf'] and rfp.search(line) is not None + + +def check_files_for_compressed_ipv6(): + conf_files = get_conf_files() + migrate_files = [] + files = [os.path.join(SendmailConfDir, re.sub(r'\.db$', '', f)) for f in os.listdir(SendmailConfDir) + if f.endswith('.db')] + conf_files + regex = re.compile(r'IPv6:[0-9a-fA-F:]*::') + for filename in files: + if not os.path.exists(filename): + continue + with open(filename) as file_check: + for line in file_check: + if regex.search(line) and not check_false_positives(os.path.basename(filename), line): + migrate_files.append(filename) + break + return migrate_files diff --git a/repos/system_upgrade/el7toel8/actors/checksendmail/tests/component_test_checksendmail.py b/repos/system_upgrade/el7toel8/actors/checksendmail/tests/component_test_checksendmail.py new file mode 100644 index 0000000..bbee86a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checksendmail/tests/component_test_checksendmail.py @@ -0,0 +1,38 @@ +from leapp.models import DaemonList, InstalledRedHatSignedRPM, RPM, SendmailMigrationDecision, TcpWrappersFacts +from leapp.reporting import Report +from leapp.utils.report import is_inhibitor + +RH_PACKAGER = 'Red Hat, Inc. ' + +with_sendmail = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sendmail', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + +without_sendmail = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + +def create_modulesfacts(installed_rpm): + return InstalledRedHatSignedRPM(items=installed_rpm) + + +def test_actor_without_sendmail_package(current_actor_context): + tcpwrap_facts = TcpWrappersFacts(daemon_lists=[]) + current_actor_context.feed(create_modulesfacts(installed_rpm=without_sendmail)) + current_actor_context.feed(tcpwrap_facts) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_with_tcp_wrappers(current_actor_context): + tcpwrap_facts = TcpWrappersFacts(daemon_lists=[DaemonList(value=['sendmail'])]) + current_actor_context.feed(create_modulesfacts(installed_rpm=with_sendmail)) + current_actor_context.feed(tcpwrap_facts) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) diff --git a/repos/system_upgrade/el7toel8/actors/checksendmail/tests/unit_test_checksendmail.py b/repos/system_upgrade/el7toel8/actors/checksendmail/tests/unit_test_checksendmail.py new file mode 100644 index 0000000..c55a06a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checksendmail/tests/unit_test_checksendmail.py @@ -0,0 +1,23 @@ +import os + +import pytest +from six import text_type + +from leapp.libraries.actor import checksendmail + + +@pytest.mark.parametrize('test_input,migrate', [ + ('IPv6:::1\n', True), + ('IPv6:0:0:0:0:0:0:0:1\n', False), +]) +def test_check_migration(tmpdir, monkeypatch, test_input, migrate): + test_cfg_path = text_type(tmpdir) + test_cfg_file = os.path.join(test_cfg_path, 'sendmail.cf') + with open(test_cfg_file, 'w') as file_out: + file_out.write(test_input) + monkeypatch.setattr(checksendmail, 'SendmailConfDir', test_cfg_path) + files = checksendmail.check_files_for_compressed_ipv6() + if migrate: + assert files == [test_cfg_file] + else: + assert files == [] diff --git a/repos/system_upgrade/el7toel8/actors/checkwireshark/actor.py b/repos/system_upgrade/el7toel8/actors/checkwireshark/actor.py new file mode 100644 index 0000000..4e333c2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkwireshark/actor.py @@ -0,0 +1,36 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM, Report +from leapp.reporting import create_report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckWireshark(Actor): + """ + Report a couple of changes in tshark usage + """ + + name = 'check_wireshark' + consumes = (InstalledRedHatSignedRPM, ) + produces = (Report, ) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, 'wireshark'): + create_report([ + reporting.Title('tshark: CLI options and output changes'), + reporting.Summary( + 'The -C suboption for -N option for asynchronous DNS name resolution ' + 'has been completely removed from tshark. The reason for this is that ' + 'the asynchronous DNS resolution is now the only resolution available ' + 'so there is no need for -C. If you are using -NC with tshark in any ' + 'of your scripts, please remove it.' + '\n\n' + 'When using -H option with capinfos, the output no longer shows MD5 hashes. ' + 'Now it shows SHA256 instead. SHA1 might get removed very soon as well. ' + 'If you use these output values, please change your scripts.'), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.MONITORING, reporting.Groups.SANITY, reporting.Groups.TOOLS]), + reporting.RelatedResource('package', 'wireshark'), + ]) diff --git a/repos/system_upgrade/el7toel8/actors/checkwireshark/tests/component_test_checkwireshark.py b/repos/system_upgrade/el7toel8/actors/checkwireshark/tests/component_test_checkwireshark.py new file mode 100644 index 0000000..92b98e8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/checkwireshark/tests/component_test_checkwireshark.py @@ -0,0 +1,29 @@ +from leapp.models import InstalledRedHatSignedRPM, RPM +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def test_actor_with_grep_package(current_actor_context): + rpms = [ + RPM(name='wireshark', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(InstalledRedHatSignedRPM(items=rpms)) + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_without_grep_package(current_actor_context): + rpms = [ + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(InstalledRedHatSignedRPM(items=rpms)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/actor.py b/repos/system_upgrade/el7toel8/actors/cupscheck/actor.py new file mode 100644 index 0000000..c0b34b7 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/actor.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.libraries.actor import cupscheck +from leapp.models import CupsChangedFeatures, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CupsCheck(Actor): + """ + Reports changes in configuration between CUPS 1.6.3 and 2.2.6 + + Reports if user configuration contains features (interface scripts), + directives (Include, PrintcapFormat, PassEnv, SetEnv, + ServerCertificate, ServerKey) or directive values (Digest, + BasicDigest). Some of them were removed for security reasons + (interface scripts and directive Include), moved + to cups-files.conf for security reasons (PassEnv, SetEnv). + Others were removed (ServerCertificate, ServerKey, Digest, + BasicDigest) or moved (PrintcapFormat) due deprecation. + """ + + name = 'cups_check' + consumes = (CupsChangedFeatures,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + cupscheck.make_reports() diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/libraries/cupscheck.py b/repos/system_upgrade/el7toel8/actors/cupscheck/libraries/cupscheck.py new file mode 100644 index 0000000..0f99095 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/libraries/cupscheck.py @@ -0,0 +1,219 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import CupsChangedFeatures + + +def _get_input_model(model): + """ + Gets data model from an actor. + + :param obj model: object of model which data will be consumed + """ + return next(api.consume(model), None) + + +def check_interface_scripts(facts, report_func): + """ + Checks if the data model tells interface scripts are used + and produces a report. + + :param obj facts: model object containing info about CUPS configuration + :param func report_func: creates report + """ + title = ('CUPS no longer supports usage of interface scripts') + summary = ('Interface scripts are no longer supported due to ' + 'security issues - an attacker could provide ' + 'malicious script which will be run during printing.') + hint = ('Install the queue with PPD file for the printer ' + 'if available or install the queue with generic PPD, ' + 'add *cupsFilter2 directive into PPD of installed ' + 'queue (in /etc/cups/ppd) and reinstall the queue with modified PPD. ' + 'The interface script needs to have permissions 750 and ' + 'ownership root:lp. How to write *cupsFilter2 keyword ' + 'is described at https://www.cups.org/doc/spec-ppd.html#cupsFilter2 ' + 'and the script needs to be put into /usr/lib/cups/filter ' + 'or you need to use an absolute path to the script ' + 'in *cupsFilter2 directive.') + if facts.interface: + args = [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Groups([reporting.Groups.DRIVERS]), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Remediation(hint=hint), + reporting.ExternalLink( + title='Upstream documentation for the cupsFilter2 PPD keyword', + url='https://www.cups.org/doc/spec-ppd.html#cupsFilter2' + ) + ] + + report_func(args) + + +def check_include_directive(facts, report_func): + """ + Checks if the data model tells include directives are used + and produces a report. + + :param obj facts: model object containing info about CUPS configuration + :param func report_func: creates report + """ + title = ('CUPS no longer supports usage of Include directive') + summary = ('Include directive was removed due to security reasons. ' + 'Contents of found included files will be appended to ' + 'cupsd.conf') + if facts.include: + args = [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.Severity(reporting.Severity.MEDIUM), + ] + [reporting.RelatedResource('file', f) for f in facts.include_files] + + report_func(args) + + +def check_printcap_directive(facts, report_func): + """ + Checks if the data model tells printcapformat directive is used + and produces a report. + + :param obj facts: model object containing info about CUPS configuration + :param func report_func: creates report + """ + title = ('PrintcapFormat directive is no longer in cupsd.conf') + summary = ( + 'The directive was moved into /etc/cups/cups-files.conf ' + 'because it is deprecated. This will be handled automatically during ' + 'the upgrade process.' + ) + if facts.printcap: + args = [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.Severity(reporting.Severity.LOW), + reporting.RelatedResource('file', '/etc/cups/cupsd.conf'), + reporting.RelatedResource('file', '/etc/cups/cups-files.conf') + ] + + report_func(args) + + +def check_env_directives(facts, report_func): + """ + Checks if the data model tells PassEnv/SetEnv directives are used + and produces a report. + + :param obj facts: model object containing info about CUPS configuration + :param func report_func: creates report + """ + title = ('PassEnv/SetEnv directives are no longer in cupsd.conf') + summary = ( + 'The directives were moved into /etc/cups/cups-files.conf ' + 'due to security reasons. ' + 'This will be handled automatically during the upgrade process.' + ) + if facts.env: + args = [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.Severity(reporting.Severity.LOW), + reporting.RelatedResource('file', '/etc/cups/cupsd.conf'), + reporting.RelatedResource('file', '/etc/cups/cups-files.conf') + ] + + report_func(args) + + +def check_certkey_directives(facts, report_func): + """ + Checks if the data model tells ServerKey/ServerCertificate directives + are used and produces a report. + + :param obj facts: model object containing info about CUPS configuration + :param func report_func: creates report + """ + title = ('ServerKey/ServerCertificate directives are substituted ' + 'by ServerKeychain directive') + summary = ( + 'The directives were substituted by ServerKeychain directive, ' + 'which now takes a directory as value (/etc/cups/ssl is default). ' + 'The previous directives took a file as value. ' + 'The migration script will copy the files specified in ' + 'directive values into /etc/cups/ssl directory ' + 'if they are not there already. ' + 'This will be handled automatically during the upgrade process.' + ) + if facts.certkey: + args = [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Groups([reporting.Groups.SERVICES, + reporting.Groups.AUTHENTICATION]), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.RelatedResource('file', '/etc/cups/cups-files.conf') + ] + + report_func(args) + + +def check_digest_values(facts, report_func): + """ + Checks if the data model tells Digest/BasicDigest values + of AuthType/DefaultAuthType directives are used + and produces a report. + + :param obj facts: model object containing info about CUPS configuration + :param func report_func: creates report + """ + title = ('CUPS no longer supports Digest and BasicDigest ' + 'directive values') + summary = ( + 'Digest and BasicDigest directive values were removed ' + 'due to deprecation. ' + 'The Basic authentication with TLS encryption will be ' + 'set automatically during the upgrade process. ' + 'The version of the used TLS is by default dependent on the set system ' + 'crypto policies.' + ) + # NOTE: the remediation instructions are missing as we do not have any + # doc covering that, mainly because of this is expected to be very rare + # at all. People usually do not use Digest & BasicDigest. + if facts.digest: + args = [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.SERVICES, + ]), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.RelatedResource('file', '/etc/cups/cupsd.conf') + ] + + report_func(args) + + +def make_reports(consume_function=_get_input_model, + report_func=reporting.create_report, + debug_log=api.current_logger().debug): + """ + Creates reports if needed + + :param func consume_function: gets data model from an actor + :param func report_func: creates report + """ + facts = consume_function(CupsChangedFeatures) + + if facts: + check_interface_scripts(facts, report_func) + check_include_directive(facts, report_func) + check_printcap_directive(facts, report_func) + check_env_directives(facts, report_func) + check_certkey_directives(facts, report_func) + check_digest_values(facts, report_func) + else: + debug_log('No facts gathered about CUPS - skipping reports.') diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_certkey.py b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_certkey.py new file mode 100644 index 0000000..918c3a0 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_certkey.py @@ -0,0 +1,22 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.cupscheck import check_certkey_directives +from leapp.libraries.common.testutils import create_report_mocked +from leapp.models import CupsChangedFeatures + + +@pytest.mark.parametrize("certkey_exists,n_reports", [(False, 0), (True, 1)]) +def test_check_certkey_directives(certkey_exists, n_reports): + facts = CupsChangedFeatures(certkey=certkey_exists) + report_func = create_report_mocked() + + check_certkey_directives(facts, report_func) + + assert report_func.called == n_reports + + if report_func.called: + report_fields = report_func.report_fields + + assert 'ServerKey/ServerCertificate directives' in report_fields['title'] + assert report_fields['severity'] == reporting.Severity.MEDIUM diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_digest_values.py b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_digest_values.py new file mode 100644 index 0000000..ca68be6 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_digest_values.py @@ -0,0 +1,22 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.cupscheck import check_digest_values +from leapp.libraries.common.testutils import create_report_mocked +from leapp.models import CupsChangedFeatures + + +@pytest.mark.parametrize("digest_exists,n_reports", [(False, 0), (True, 1)]) +def test_check_digest_values(digest_exists, n_reports): + facts = CupsChangedFeatures(digest=digest_exists) + report_func = create_report_mocked() + + check_digest_values(facts, report_func) + + assert report_func.called == n_reports + + if report_func.called: + report_fields = report_func.report_fields + + assert 'no longer supports Digest' in report_fields['title'] + assert report_fields['severity'] == reporting.Severity.MEDIUM diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_env_directives.py b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_env_directives.py new file mode 100644 index 0000000..7375b76 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_env_directives.py @@ -0,0 +1,22 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.cupscheck import check_env_directives +from leapp.libraries.common.testutils import create_report_mocked +from leapp.models import CupsChangedFeatures + + +@pytest.mark.parametrize("env_exists,n_reports", [(False, 0), (True, 1)]) +def test_check_env_directives(env_exists, n_reports): + facts = CupsChangedFeatures(env=env_exists) + report_func = create_report_mocked() + + check_env_directives(facts, report_func) + + assert report_func.called == n_reports + + if report_func.called: + report_fields = report_func.report_fields + + assert 'PassEnv/SetEnv directives are no longer' in report_fields['title'] + assert report_fields['severity'] == reporting.Severity.LOW diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_include_directive.py b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_include_directive.py new file mode 100644 index 0000000..39062d8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_include_directive.py @@ -0,0 +1,23 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.cupscheck import check_include_directive +from leapp.libraries.common.testutils import create_report_mocked +from leapp.models import CupsChangedFeatures + + +@pytest.mark.parametrize("include_exists,n_reports", [(False, 0), (True, 1)]) +def test_check_include_directive(include_exists, n_reports): + facts = CupsChangedFeatures(include=include_exists, + include_files=['/etc/cups/cupsd.conf']) + report_func = create_report_mocked() + + check_include_directive(facts, report_func) + + assert report_func.called == n_reports + + if report_func.called: + report_fields = report_func.report_fields + + assert 'no longer supports usage of Include' in report_fields['title'] + assert report_fields['severity'] == reporting.Severity.MEDIUM diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_interface_scripts.py b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_interface_scripts.py new file mode 100644 index 0000000..bf64274 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_interface_scripts.py @@ -0,0 +1,25 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.cupscheck import check_interface_scripts +from leapp.libraries.common.testutils import create_report_mocked +from leapp.models import CupsChangedFeatures + + +@pytest.mark.parametrize("interface_exists,n_reports", [(False, 0), (True, 1)]) +def test_check_interface_scripts(interface_exists, n_reports): + facts = CupsChangedFeatures(interface=interface_exists) + report_func = create_report_mocked() + + check_interface_scripts(facts, report_func) + + assert report_func.called == n_reports + + if report_func.called: + report_fields = report_func.report_fields + + assert 'usage of interface scripts' in report_fields['title'] + assert 'Interface scripts are no longer' in report_fields['summary'] + assert report_fields['severity'] == reporting.Severity.MEDIUM + assert all('*cupsFilter2' in r['context'] + for r in report_fields['detail']['remediations']) diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_printcap_directive.py b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_printcap_directive.py new file mode 100644 index 0000000..d2cf915 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_check_printcap_directive.py @@ -0,0 +1,22 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.cupscheck import check_printcap_directive +from leapp.libraries.common.testutils import create_report_mocked +from leapp.models import CupsChangedFeatures + + +@pytest.mark.parametrize("printcap_exists,n_reports", [(False, 0), (True, 1)]) +def test_check_printcap_directive(printcap_exists, n_reports): + facts = CupsChangedFeatures(printcap=printcap_exists) + report_func = create_report_mocked() + + check_printcap_directive(facts, report_func) + + assert report_func.called == n_reports + + if report_func.called: + report_fields = report_func.report_fields + + assert 'PrintcapFormat directive' in report_fields['title'] + assert report_fields['severity'] == reporting.Severity.LOW diff --git a/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_make_reports.py b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_make_reports.py new file mode 100644 index 0000000..8a5e53f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupscheck/tests/test_make_reports.py @@ -0,0 +1,44 @@ +import pytest + +from leapp.libraries.actor.cupscheck import make_reports + + +class MockLogger(object): + def __init__(self): + self.debug_msg = '' + + def debug_log(self, msg): + self.debug_msg += msg + + +class MockInputFacts(object): + def __init__(self, facts): + self.facts = facts + + def get_facts(self, model): + ret = None + if model == 'CupsChangedFeatures': + ret = self.facts + + return ret + + +class MockReport(object): + def __init__(self): + self.report = [] + + # unused, report testing will be done separately + def create_report(self, data_list): + if data_list: + self.report.append(data_list) + + +def test_make_reports(): + + logger = MockLogger() + facts = MockInputFacts(None) + reporting = MockReport() + + make_reports(facts.get_facts, reporting.create_report, logger.debug_log) + + assert logger.debug_msg == 'No facts gathered about CUPS - skipping reports.' diff --git a/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/actor.py b/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/actor.py new file mode 100644 index 0000000..53fb41c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import cupsfiltersmigrate +from leapp.models import InstalledRedHatSignedRPM +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class CupsfiltersMigrate(Actor): + """ + Actor for migrating package cups-filters. + + Migrating cups-filters package means adding two directives into + /etc/cups/cups-browsed.conf - LocalQueueNamingRemoteCUPS and + CreateIPPPrinterQueues. + + LocalQueueNamingRemoteCUPS directive indicates what will be used as a name + for local print queue creation - the default is DNS-SD ID of advertised + print queue now, it was the name of remote print queue in the past. + + CreateIPPPrinterQueues directive serves for telling cups-browsed to create + local print queues for all available IPP printers. + """ + + name = 'cupsfilters_migrate' + consumes = (InstalledRedHatSignedRPM,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + cupsfiltersmigrate.update_cups_browsed() diff --git a/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/libraries/cupsfiltersmigrate.py b/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/libraries/cupsfiltersmigrate.py new file mode 100644 index 0000000..b63ae51 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/libraries/cupsfiltersmigrate.py @@ -0,0 +1,116 @@ +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + +# rpm : the default config file +BROWSED_CONFIG = '/etc/cups/cups-browsed.conf' + + +# The list of macros that should be set to get the behavior +# from previous RHEL +NEW_MACROS = [ + ('LocalQueueNamingRemoteCUPS', 'RemoteName'), + ('CreateIPPPrinterQueues', 'All') +] + + +def _macro_exists(path, macro): + """ + Check if macro is in the file. + + :param str path: string representing the full path of the config file + :param str macro: new directive to be added + :return boolean res: macro does/does not exist in the file + """ + with open(path, 'r') as f: + lines = f.readlines() + + for line in lines: + if line.lstrip().startswith(macro): + return True + return False + + +def _append_string(path, content): + """ + Append string at the end of file. + + :param str path: string representing the full path of file + :param str content: preformatted string to be added + """ + with open(path, 'a') as f: + f.write(content) + + +def update_config(path, check_function=_macro_exists, + append_function=_append_string): + """ + Insert expected content into the file on the path if it is not + in the file already. + + :param str path: string representing the full path of the config file + :param func check_function: function to be used to check if string is in the file + :param func append_function: function to be used to append string + """ + + macros = [] + for macro in NEW_MACROS: + if not check_function(path, macro[0]): + macros.append(' '.join(macro)) + + if not macros: + return + + fmt_input = "\n{comment_line}\n{content}\n".format(comment_line='# content added by Leapp', + content='\n'.join(macros)) + + try: + append_function(path, fmt_input) + except IOError: + raise IOError('Error during writing to file: {}.'.format(path)) + + +def _check_package(pkg): + """ + Checks if a package is installed and signed + + :param str pkg: name of package + """ + return has_package(InstalledRedHatSignedRPM, pkg) + + +def update_cups_browsed(debug_log=api.current_logger().debug, + error_log=api.current_logger().error, + is_installed=_check_package, + append_function=_append_string, + check_function=_macro_exists): + """ + Update cups-browsed configuration file + + :param func debug_log: function for debug logging + :param func error_log: function for error logging + :param func is_installed: checks if the package is installed + :param func append_function: appends string into file + :param func check_function: checks if macro is in the file + """ + + error_list = [] + + if not is_installed('cups-filters'): + return + + debug_log('Updating cups-browsed configuration file {}.' + .format(BROWSED_CONFIG)) + + try: + update_config(BROWSED_CONFIG, + check_function, + append_function) + except (OSError, IOError) as error: + error_list.append((BROWSED_CONFIG, error)) + if error_list: + error_log('The files below have not been modified ' + '(error message included):' + + ''.join(['\n - {}: {}'.format(err[0], err[1]) + for err in error_list])) + return diff --git a/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/tests/test_update_config_cupsfiltersmigrate.py b/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/tests/test_update_config_cupsfiltersmigrate.py new file mode 100644 index 0000000..5474911 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/tests/test_update_config_cupsfiltersmigrate.py @@ -0,0 +1,100 @@ +import pytest + +from leapp.libraries.actor.cupsfiltersmigrate import NEW_MACROS, update_config + + +def _gen_append_str(list_out=None): + """ + Just helper function to generate string expected to be added for an input (see testdata) for testing. + + :param list list_out: None, [0], [1], [0,1] - no more expected vals, + which represents what macros should be appended + in output + """ + if not list_out: + return '' + _out_list = ('LocalQueueNamingRemoteCUPS RemoteName', 'CreateIPPPrinterQueues All') + output = ['# content added by Leapp'] + for i in list_out: + output.append(_out_list[i]) + # ensure the extra NL is before the string and the empty NL is in the end + # of the string (/file) as well + return '\n{}\n'.format('\n'.join(output)) + + +testdata = ( + ('\n', + _gen_append_str([0, 1])), + ('bleblaba\n', + _gen_append_str([0, 1])), + ('fdnfdf\n# LocalQueueNamingRemoteCUPS RemoteName\n', + _gen_append_str([0, 1])), + ('fdnfdf\nfoo # LocalQueueNamingRemoteCUPS RemoteName\n', + _gen_append_str([0, 1])), + ('fdnfdf\n# LocalQueueNamingRemoteCUPS Bar\n', + _gen_append_str([0, 1])), + ('fdnfdf\n # LocalQueueNamingRemoteCUPS Bar\n', + _gen_append_str([0, 1])), + ('fdnfdf\nLocalQueueNamingRemoteCUPS RemoteName\n', + _gen_append_str([1])), + ('fdnfdf\n LocalQueueNamingRemoteCUPS RemoteName\n', + _gen_append_str([1])), + ('fdnfdf\nLocalQueueNamingRemoteCUPS Bar\n', + _gen_append_str([1])), + ('fnfngbfg\nCreateIPPPrinterQueues All\n', + _gen_append_str([0])), + ('fnfngbfg\nCreateIPPPrinterQueues Foo\n', + _gen_append_str([0])), + ('fnfngbfg\n CreateIPPPrinterQueues Foo\n', + _gen_append_str([0])), + ('CreateIPPPrinterQueues All\nLocalQueueNamingRemoteCUPS RemoteName\n', + _gen_append_str()), + ('CreateIPPPrinterQueues Foo\nLocalQueueNamingRemoteCUPS Bar\n', + _gen_append_str()), + ('foo\nCreateIPPPrinterQueues Foo\nLocalQueueNamingRemoteCUPS Bar\nFoobar\n', + _gen_append_str()), + ('foo\nCreateIPPPrinterQueues Foo\n# LocalQueueNamingRemoteCUPS Bar\nFoobar\n', + _gen_append_str([0])) +) + + +class MockFile(object): + def __init__(self, path, content=None): + self.path = path + self.content = content + self.error = False + + def append(self, path, content): + if path != self.path: + self.error = True + if not self.error: + self.content += content + return self.content + raise IOError('Error during writing to file: {}.'.format(path)) + + def exists(self, path, macro): + for line in self.content.split('\n'): + if line.lstrip().startswith(macro) and self.path == path: + return True + return False + + +def test_update_config_file_errors(): + path = 'foo' + + f = MockFile(path, content='') + + with pytest.raises(IOError): + update_config('bar', f.exists, f.append) + + assert f.content == '' + + +@pytest.mark.parametrize('content,expected', testdata) +def test_update_config_append_into_file(content, expected): + path = 'bar' + f = MockFile(path, content) + + update_config(path, f.exists, f.append) + + assert f.content == content + expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/tests/test_update_cups_browsed_cupsfiltersmigrate.py b/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/tests/test_update_cups_browsed_cupsfiltersmigrate.py new file mode 100644 index 0000000..94fa833 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsfiltersmigrate/tests/test_update_cups_browsed_cupsfiltersmigrate.py @@ -0,0 +1,107 @@ +import pytest + +from leapp.libraries.actor.cupsfiltersmigrate import BROWSED_CONFIG, update_cups_browsed + +testdata = [ + {'cups-filters': '/etc/cups/cups-browsed.conf'}, + {'cups-filters': ''}, + {'ble': ''} +] + + +class MockLogger(object): + def __init__(self): + self.debugmsg = '' + self.errmsg = '' + + def debug(self, message): + self.debugmsg += message + + def error(self, message): + self.errmsg += message + + +class MockPackage(object): + def __init__(self, name, config): + self.name = name + self.config = config + self.config_content = '' + + +class MockPackageSet(object): + def __init__(self): + self.installed_packages = None + + def add_packages(self, pkgs): + if self.installed_packages is None: + self.installed_packages = [] + + for rpm, config in pkgs.items(): + self.installed_packages.append(MockPackage(rpm, config)) + + def is_installed(self, pkg): + for rpm in self.installed_packages: + if pkg == rpm.name: + return True + return False + + def append_content(self, path, content): + found = False + + for rpm in self.installed_packages: + if path == rpm.config: + found = True + rpm.config_content += content + if not found: + raise IOError('Error during writing to file: {}.'.format(path)) + + def check_content(self, path, content): + found = False + + for rpm in self.installed_packages: + if path == rpm.config and content in rpm.config_content: + found = True + + return found + + +class ExpectedOutput(object): + def __init__(self): + self.debugmsg = '' + self.errmsg = '' + + def create(self, rpms): + error_list = [] + + for pkg, config in rpms.items(): + if pkg == 'cups-filters': + self.debugmsg += 'Updating cups-browsed configuration file {}.'.format(BROWSED_CONFIG) + if config == '': + error_list.append((BROWSED_CONFIG, 'Error during ' + 'writing to file: {}.'.format(BROWSED_CONFIG))) + + if error_list: + self.errmsg = ('The files below have not been modified ' + '(error message included):' + + ''.join(['\n - {}: {}'.format(err[0], err[1]) + for err in error_list])) + + +@pytest.mark.parametrize("rpms", testdata) +def test_update_cups_browsed(rpms): + logger = MockLogger() + installed_packages = MockPackageSet() + + installed_packages.add_packages(rpms) + + expected = ExpectedOutput() + expected.create(rpms) + + update_cups_browsed(logger.debug, + logger.error, + installed_packages.is_installed, + installed_packages.append_content, + installed_packages.check_content) + + assert expected.debugmsg == logger.debugmsg + assert expected.errmsg == logger.errmsg diff --git a/repos/system_upgrade/el7toel8/actors/cupsmigrate/actor.py b/repos/system_upgrade/el7toel8/actors/cupsmigrate/actor.py new file mode 100644 index 0000000..38dd072 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsmigrate/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import cupsmigrate +from leapp.models import CupsChangedFeatures +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class CupsMigrate(Actor): + """ + cups_migrate actor + + Migrates configuration directives and writes into error log + if any error was encountered. + """ + + name = 'cups_migrate' + consumes = (CupsChangedFeatures,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + cupsmigrate.migrate_configuration() diff --git a/repos/system_upgrade/el7toel8/actors/cupsmigrate/libraries/cupsmigrate.py b/repos/system_upgrade/el7toel8/actors/cupsmigrate/libraries/cupsmigrate.py new file mode 100644 index 0000000..f7aee8b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsmigrate/libraries/cupsmigrate.py @@ -0,0 +1,231 @@ +import os +from shutil import copy + +from leapp.libraries.stdlib import api +from leapp.models import CupsChangedFeatures + +CUPSD_CONF = '/etc/cups/cupsd.conf' +CUPSFILES_CONF = '/etc/cups/cups-files.conf' +""" +CUPS configuration files +""" + + +class FileOperations(object): + def readlines(self, path): + if os.path.exists(path): + with open(path, 'r') as f: + return f.readlines() + else: + raise IOError('Error when reading file {} - file ' + 'does not exist.'.format(path)) + + def write(self, path, mode, content): + if isinstance(content, list): + content = ''.join(content) + with open(path, mode) as f: + f.write(content) + + def copy_to_ssl(self, oldpath): + copy(oldpath, '/etc/cups/ssl') + + +def migrate_digest(op): + """ + Replaces Digest/BasicDigest for Basic + + :param obj op: file operations object + """ + try: + lines = op.readlines(CUPSD_CONF) + except IOError as error: + raise IOError(error) + + for line in lines: + for directive in ['AuthType', 'DefaultAuthType']: + if line.lstrip().startswith(directive): + auth_line_value = line.lstrip().lstrip(directive).lstrip() + for value in ['Digest', 'BasicDigest']: + if auth_line_value.startswith(value): + lines[lines.index(line)] = '{} Basic\n'.format(directive) + + op.write(CUPSD_CONF, 'w', lines) + + +def migrate_include(include_files, op): + """ + Concatenates configuration files and remove lines + with 'Include' directive + + :param list include_files: list of files which contents will be + concatenated + :param obj op: file operations object + """ + error_list = [] + lines = [] + content = [] + + for f in include_files: + try: + content = op.readlines(f) + if f != CUPSD_CONF: + content = ['\n# added by Leapp\n'] + content + lines += content + except IOError as error: + error_list.append('Include directive: {}'.format(error)) + + if error_list: + return error_list + + for line in lines: + if line.lstrip().startswith('Include'): + lines[lines.index(line)] = '' + + op.write(CUPSD_CONF, 'w', lines) + + return None + + +def move_directives(directives, op): + """ + Moves the directives from cupsd.conf to cups-files.conf + + :param list directives: list of wanted directives + :param obj op: file operations object + """ + try: + cupsd_lines = op.readlines(CUPSD_CONF) + except IOError as error: + raise IOError(error) + + lines_to_move = [] + for line in cupsd_lines: + for name in directives: + if line.lstrip().startswith(name): + lines_to_move.append(line) + cupsd_lines[cupsd_lines.index(line)] = '' + + op.write(CUPSD_CONF, 'w', cupsd_lines) + + if lines_to_move: + op.write(CUPSFILES_CONF, 'a', + '\n# added by Leapp\n{}'.format(''.join(lines_to_move))) + + +def migrate_certkey(op): + """ + Copies the key and the certificate to /etc/cups/ssl if both + are in different dirs, or sets ServerKeychain value to the dir + where the key and the certificate are. Removes old directives + + :param list directives: list of wanted directives + :param obj op: file operations object + """ + try: + lines = op.readlines(CUPSFILES_CONF) + except IOError as error: + raise IOError(error) + + certkey_values = [] + + for line in lines: + for name in ['ServerKey', 'ServerCertificate']: + if line.lstrip().startswith(name): + value = line.split()[1] + if value.startswith('ssl'): + value = os.path.join('/etc/cups', value) + certkey_values.append(value) + lines[lines.index(line)] = '' + + op.write(CUPSFILES_CONF, 'w', lines) + + # we need to decide whether we copy the files to /etc/cups/ssl + # or set ServerKeychain to non-default directory or do nothing + if all(os.path.dirname(val) == '/etc/cups/ssl' for val in certkey_values): + return + + # Check that all files are inside the same directory + if len(set([os.path.dirname(certkey) for certkey in certkey_values])) == 1: + path = os.path.dirname(certkey_values[0]) + op.write(CUPSFILES_CONF, 'a', + '\n# added by Leapp\nServerKeychain {}\n'.format(path)) + else: + for value in certkey_values: + if not os.path.dirname(value) == '/etc/cups/ssl': + op.copy_to_ssl(value) + + +def _get_facts(model): + """ + Consumes input data model + + :param class model: name of model which we consume + """ + return next(api.consume(model), None) + + +def migrate_configuration(error_log=api.current_logger().error, + debug_log=api.current_logger().debug, + op=FileOperations(), + consume_function=_get_facts): + """ + Migrate CUPS configuration based on gathered facts + + :param func error_log: sends error messages + :param func debug_log: sends debug messages + :param obj op: IO operations + :param func consume_function: receives data object from a model + """ + + facts = consume_function(CupsChangedFeatures) + error_list = [] + + if not facts: + return + + if facts.include: + debug_log('Migrating CUPS configuration - Include directives.') + include_errors = [] + + include_errors = migrate_include(facts.include_files, op) + if include_errors: + error_list += include_errors + + if facts.digest: + debug_log('Migrating CUPS configuration - BasicDigest/Digest directives.') + + try: + migrate_digest(op) + except IOError as error: + error_list.append('Digest/BasicDigest values: {}'.format(error)) + + if facts.env: + debug_log('Migrating CUPS configuration - PassEnv/SetEnv directives.') + + try: + move_directives(['PassEnv', 'SetEnv'], + op) + except IOError as error: + error_list.append('PassEnv/SetEnv directives: {}'.format(error)) + + if facts.certkey: + debug_log('Migrating CUPS configuration - ' + 'ServerKey/ServerCertificate directive.') + + try: + migrate_certkey(op) + except IOError as error: + error_list.append('ServerKey/ServerCertificate directives: {}'.format(error)) + + if facts.printcap: + debug_log('Migrating CUPS configuration - PrintcapFormat directive.') + + try: + move_directives(['PrintcapFormat'], + op) + except IOError as error: + error_list.append('PrintcapFormat directive: {}'.format(error)) + + if error_list: + error_log('Following errors happened during CUPS migration:' + + ''.join(['\n - {}'.format(err) for err in error_list])) diff --git a/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_certkey.py b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_certkey.py new file mode 100644 index 0000000..989e3b3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_certkey.py @@ -0,0 +1,222 @@ +import pytest + +from leapp.libraries.actor.cupsmigrate import migrate_certkey + + +class MockFileSystem(object): + def __init__(self, + infiles): + self.files = {} + self.ssl_dir = [] + self.files = infiles + for path in infiles.keys(): + if path.startswith('/etc/cups/ssl'): + self.ssl_dir.append(path) + + def readlines(self, path): + if path in self.files.keys(): + return self.files[path].splitlines(True) + raise IOError('Error when reading file {} - file ' + 'does not exist.'.format(path)) + + def write(self, path, mode, content): + if isinstance(content, list): + content = ''.join(content) + + if mode == 'w': + self.files[path] = content + else: + self.files[path] += content + + def copy_to_ssl(self, oldpath): + self.ssl_dir.append('/etc/cups/ssl/' + oldpath.rsplit('/', 1)[1]) + + +testdata = ( + ( + { + '/etc/cups/cups-files.conf': 'ifdfdfgfg\n' + }, + { + '/etc/cups/cups-files.conf': 'ifdfdfgfg\n' + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerKey /etc/cups/ssl/ser' + 'ver.key\nHello world\n', + '/etc/cups/ssl/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.key'] + } + ), + ( + { + '/etc/cups/cups-files.conf': '#ServerKey /etc/cups/ssl/se' + 'rver.key\nHello world\n', + '/etc/cups/ssl/server.key': '' + }, + { + '/etc/cups/cups-files.conf': '#ServerKey /etc/cups/ssl/se' + 'rver.key\nHello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.key'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate /etc/cups' + '/ssl/server.cert\nHello world\n', + '/etc/cups/ssl/server.cert': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.cert'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate /etc/cups' + '/ssl/server.cert\nServerKey' + ' /etc/cups/ssl/server.key\n' + 'Hello world\n', + '/etc/cups/ssl/server.cert': '', + '/etc/cups/ssl/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.cert', + '/etc/cups/ssl/server.key'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate ssl/serve' + 'r.cert\nServerKey ssl/serve' + 'r.key\nHello world\n', + '/etc/cups/ssl/server.cert': '', + '/etc/cups/ssl/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.cert', + '/etc/cups/ssl/server.key'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate ssl/serve' + 'r.cert\nServerKey /etc/cups' + '/ssl/server.key\nHello worl' + 'd\n', + '/etc/cups/ssl/server.cert': '', + '/etc/cups/ssl/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.cert', + '/etc/cups/ssl/server.key'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate ssl/serve' + 'r.cert\nServerKey /somewher' + 'e/else/server.key\nHello wo' + 'rld\n', + '/etc/cups/ssl/server.cert': '', + '/somewhere/else/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.cert', + '/etc/cups/ssl/server.key'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate /somewher' + 'e/else/server.cert\nServerK' + 'ey /etc/cups/ssl/server.key' + '\nHello world\n', + '/somewhere/else/server.cert': '', + '/etc/cups/ssl/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.key', + '/etc/cups/ssl/server.cert'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate /somewher' + 'e/else/server.cert\nServerK' + 'ey /somewhere/else/server.c' + 'ert\nHello world\n', + '/somewhere/else/server.cert': '', + '/somewhere/else/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n\n# added by L' + 'eapp\nServerKeychain /somew' + 'here/else\n' + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate /somewher' + 'e/else/server.cert\nServerK' + 'ey /anywhere/else/server.ke' + 'y\nHello world\n', + '/somewhere/else/server.cert': '', + '/anywhere/else/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/server.cert', + '/etc/cups/ssl/server.key'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate ssl/somedir/' + 'server.cert\nHello world\nServ' + 'erKey ssl/server.key\n', + '/etc/cups/ssl/somedir/server.cert': '', + '/etc/cups/ssl/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/somedir/server.cert', + '/etc/cups/ssl/server.key', + '/etc/cups/ssl/server.cert'] + } + ), + ( + { + '/etc/cups/cups-files.conf': 'ServerCertificate /etc/cups/ss' + 'l/somedir/server.cert\nHello w' + 'orld\nServerKey ssl/server.key\n', + '/etc/cups/ssl/somedir/server.cert': '', + '/etc/cups/ssl/server.key': '' + }, + { + '/etc/cups/cups-files.conf': 'Hello world\n', + 'ssl-dir': ['/etc/cups/ssl/somedir/server.cert', + '/etc/cups/ssl/server.key', + '/etc/cups/ssl/server.cert'] + } + ) +) + + +@pytest.mark.parametrize('files,expected', testdata) +def test_migrate_certkey(files, expected): + op = MockFileSystem(infiles=files) + + migrate_certkey(op) + + assert op.files.get('/etc/cups/cups-files.conf', None) == expected.get('/etc/cups/cups-files.conf', None) + assert op.ssl_dir == expected.get('ssl-dir', []) diff --git a/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_configuration.py b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_configuration.py new file mode 100644 index 0000000..f29766a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_configuration.py @@ -0,0 +1,193 @@ +import pytest + +from leapp.libraries.actor.cupsmigrate import migrate_configuration +from leapp.models import CupsChangedFeatures + + +class MockFileSystem(object): + def __init__(self, + infiles): + self.files = {} + self.ssl_dir = [] + self.files = infiles + for path in infiles.keys(): + if path.startswith('ssl') or path.startswith('/etc/cups/ssl'): + self.ssl_dir.append(path.rsplit('/', 1)[1]) + + def readlines(self, path): + if path in self.files.keys(): + return self.files[path].splitlines(True) + raise IOError('Error when reading file {} - file ' + 'does not exist.'.format(path)) + + def write(self, path, mode, content): + if isinstance(content, list): + content = ''.join(content) + + if mode == 'w': + self.files[path] = content + else: + self.files[path] += content + + def copy_to_ssl(self, oldpath): + self.ssl_dir.append(oldpath.rsplit('/', 1)[1]) + + +class MockLogger(object): + def __init__(self): + self.debug_msg = '' + self.error_msg = '' + + def debug_log(self, msg): + self.debug_msg += msg + + def error_log(self, msg): + self.error_msg += msg + + +class MockModel(object): + def __init__(self, facts): + if not facts: + self.model = None + return + + self.model = CupsChangedFeatures(include=facts.get('include', False), + digest=facts.get('digest', False), + env=facts.get('env', False), + certkey=facts.get('certkey', False), + printcap=facts.get('printcap', False), + include_files=facts.get('include_files', [])) + + def get_facts(self, model): + return self.model + + +testdata = ( + ( + None, + { + 'debug_msg': '', + 'error_msg': '' + } + ), + ( + {}, + { + 'debug_msg': '', + 'error_msg': '' + } + ), + ( + { + 'include': True, + 'include_files': ['/etc/cups/cupsd.conf', 'smth.conf', + 'any.conf'], + }, + { + 'debug_msg': 'Migrating CUPS configuration - Include directives.', + 'error_msg': 'Following errors happened during CUPS migration:\n ' + '- Include directive: Error when reading file /etc/cup' + 's/cupsd.conf - file does not exist.\n - Include dir' + 'ective: Error when reading file smth.conf - file does' + ' not exist.\n - Include directive: Error when readi' + 'ng file any.conf - file does not exist.' + } + ), + ( + { + 'digest': True, + }, + { + 'debug_msg': 'Migrating CUPS configuration - BasicDigest/Digest' + ' directives.', + 'error_msg': 'Following errors happened during CUPS migration:\n ' + '- Digest/BasicDigest values: Error when reading file ' + '/etc/cups/cupsd.conf - file does not exist.' + } + ), + ( + { + 'env': True, + }, + { + 'debug_msg': 'Migrating CUPS configuration - PassEnv/SetEnv directives.', + 'error_msg': 'Following errors happened during CUPS migration:\n ' + '- PassEnv/SetEnv directives: Error when reading file ' + '/etc/cups/cupsd.conf - file does not exist.' + } + ), + ( + { + 'certkey': True, + }, + { + 'debug_msg': 'Migrating CUPS configuration - ServerKey/ServerCertif' + 'icate directive.', + 'error_msg': 'Following errors happened during CUPS migration:\n ' + '- ServerKey/ServerCertificate directives: Error when ' + 'reading file /etc/cups/cups-files.conf - file does no' + 't exist.' + } + ), + ( + { + 'printcap': True, + }, + { + 'debug_msg': 'Migrating CUPS configuration - PrintcapFormat directive.', + 'error_msg': 'Following errors happened during CUPS migration:\n ' + '- PrintcapFormat directive: Error when reading file /' + 'etc/cups/cupsd.conf - file does not exist.' + } + ), + ( + { + 'certkey': True, + 'include': True, + 'env': True, + 'printcap': True, + 'digest': True, + 'include_files': ['/etc/cups/cupsd.conf', 'smth.conf', + 'any.conf'] + }, + { + 'debug_msg': 'Migrating CUPS configuration - Include directives.Mig' + 'rating CUPS configuration - BasicDigest/Digest direct' + 'ives.Migrating CUPS configuration - PassEnv/SetEnv di' + 'rectives.Migrating CUPS configuration - ServerKey/Ser' + 'verCertificate directive.Migrating CUPS configuration' + ' - PrintcapFormat directive.', + 'error_msg': 'Following errors happened during CUPS migration:\n ' + '- Include directive: Error when reading file /etc/cup' + 's/cupsd.conf - file does not exist.\n - Include dir' + 'ective: Error when reading file smth.conf - file does' + ' not exist.\n - Include directive: Error when readi' + 'ng file any.conf - file does not exist.\n - Digest/' + 'BasicDigest values: Error when reading file /etc/cups' + '/cupsd.conf - file does not exist.\n - PassEnv/SetE' + 'nv directives: Error when reading file /etc/cups/cups' + 'd.conf - file does not exist.\n - ServerKey/ServerC' + 'ertificate directives: Error when reading file /etc/c' + 'ups/cups-files.conf - file does not exist.\n - Prin' + 'tcapFormat directive: Error when reading file /etc/cu' + 'ps/cupsd.conf - file does not exist.' + } + ) +) + + +@pytest.mark.parametrize('facts,expected', testdata) +def test_migrate_configuration(facts, expected): + data_model = MockModel(facts) + + op = MockFileSystem({}) + + logger = MockLogger() + + migrate_configuration(logger.error_log, + logger.debug_log, + op, + data_model.get_facts) + + assert logger.debug_msg == expected['debug_msg'] + assert logger.error_msg == expected['error_msg'] diff --git a/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_digest.py b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_digest.py new file mode 100644 index 0000000..25a2987 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_digest.py @@ -0,0 +1,93 @@ +import pytest + +from leapp.libraries.actor.cupsmigrate import migrate_digest + + +class MockFileSystem(object): + def __init__(self, + infiles): + self.files = {} + self.ssl_dir = [] + self.files = infiles + for path in infiles.keys(): + if path.startswith('ssl') or path.startswith('/etc/cups/ssl'): + self.ssl_dir.append(path.rsplit('/', 1)[1]) + + def readlines(self, path): + if path in self.files.keys(): + return self.files[path].splitlines(True) + raise IOError('Error when reading file {} - file ' + 'does not exist.'.format(path)) + + def write(self, path, mode, content): + if isinstance(content, list): + content = ''.join(content) + + if mode == 'w': + self.files[path] = content + else: + self.files[path] += content + + def copy_to_ssl(self, oldpath): + self.ssl_dir.append(oldpath.rsplit('/', 1)[1]) + + +testdata = ( + ( + { + '/etc/cups/cupsd.conf': 'ifdfdfgfg\n' + }, + 'ifdfdfgfg\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'AuthType Basic\nHello world\n', + }, + 'AuthType Basic\nHello world\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'DefaultAuthType Negotiate\nHello world\n', + }, + 'DefaultAuthType Negotiate\nHello world\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'AuthType Digest\nHello world\n', + }, + 'AuthType Basic\nHello world\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'DefaultAuthType Digest\nHello world\n', + }, + 'DefaultAuthType Basic\nHello world\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'DefaultAuthType BasicDigest\nHello world\n', + }, + 'DefaultAuthType Basic\nHello world\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'AuthType BasicDigest\nHello world\n', + }, + 'AuthType Basic\nHello world\n' + ), + ( + { + '/etc/cups/cupsd.conf': '#AuthType BasicDigest\nHello world\n', + }, + '#AuthType BasicDigest\nHello world\n' + ) +) + + +@pytest.mark.parametrize('files,expected', testdata) +def test_migrate_digest(files, expected): + op = MockFileSystem(infiles=files) + + migrate_digest(op) + + assert op.files.get('/etc/cups/cupsd.conf', None) == expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_include.py b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_include.py new file mode 100644 index 0000000..f36b196 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_migrate_include.py @@ -0,0 +1,78 @@ +import pytest + +from leapp.libraries.actor.cupsmigrate import migrate_include + + +class MockFileSystem(object): + def __init__(self, + infiles): + self.files = {} + self.ssl_dir = [] + self.files = infiles + for path in infiles.keys(): + if path.startswith('ssl') or path.startswith('/etc/cups/ssl'): + self.ssl_dir.append(path.rsplit('/', 1)[1]) + + def readlines(self, path): + if path in self.files.keys(): + return self.files[path].splitlines(True) + raise IOError('Error when reading file {} - file ' + 'does not exist.'.format(path)) + + def write(self, path, mode, content): + if isinstance(content, list): + content = ''.join(content) + + if mode == 'w': + self.files[path] = content + else: + self.files[path] += content + + def copy_to_ssl(self, oldpath): + self.ssl_dir.append(oldpath.rsplit('/', 1)[1]) + + +testdata = ( + ( + { + '/etc/cups/cupsd.conf': 'ifdfdfgfg\n' + }, + ['/etc/cups/cupsd.conf'], + 'ifdfdfgfg\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'Include smth.conf\nHello world\n', + 'smth.conf': 'Policy two\n' + }, + ['/etc/cups/cupsd.conf', 'smth.conf'], + 'Hello world\n\n# added by Leapp\nPolicy two\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'Include smth.conf\nHello world\n', + 'smth.conf': 'Include any.conf\nMake my day\n', + 'any.conf': 'Go ahead\n' + }, + ['/etc/cups/cupsd.conf', 'smth.conf', 'any.conf'], + 'Hello world\n\n# added by Leapp\nMake my day\n\n# added by Leapp\nGo ahead\n' + ), + ( + { + '/etc/cups/cupsd.conf': 'Include smth.conf\nHello world\n', + 'smth.conf': '#Include any.conf\nMake my day\n', + 'any.conf': 'Go ahead\n' + }, + ['/etc/cups/cupsd.conf', 'smth.conf'], + 'Hello world\n\n# added by Leapp\n#Include any.conf\nMake my day\n' + ) +) + + +@pytest.mark.parametrize('files,included_files,expected', testdata) +def test_migrate_include(files, included_files, expected): + op = MockFileSystem(infiles=files) + + migrate_include(included_files, op) + + assert op.files.get('/etc/cups/cupsd.conf', None) == expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_move_directives.py b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_move_directives.py new file mode 100644 index 0000000..c8b6074 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsmigrate/tests/test_move_directives.py @@ -0,0 +1,110 @@ +import pytest + +from leapp.libraries.actor.cupsmigrate import move_directives + + +class MockFileSystem(object): + def __init__(self, + infiles): + self.files = {} + self.ssl_dir = [] + self.files = infiles + for path in infiles.keys(): + if path.startswith('ssl') or path.startswith('/etc/cups/ssl'): + self.ssl_dir.append(path.rsplit('/', 1)[1]) + + def readlines(self, path): + if path in self.files.keys(): + return self.files[path].splitlines(True) + raise IOError('Error when reading file {} - file ' + 'does not exist.'.format(path)) + + def write(self, path, mode, content): + if isinstance(content, list): + content = ''.join(content) + + if mode == 'w': + self.files[path] = content + else: + self.files[path] += content + + def copy_to_ssl(self, oldpath): + self.ssl_dir.append(oldpath.rsplit('/', 1)[1]) + + +testdata = ( + ( + { + '/etc/cups/cupsd.conf': 'ifdfdfgfg\n', + '/etc/cups/cups-files.conf': 'clean\n' + }, + { + '/etc/cups/cupsd.conf': 'ifdfdfgfg\n', + '/etc/cups/cups-files.conf': 'clean\n' + } + ), + ( + { + '/etc/cups/cupsd.conf': '#PassEnv smht\nHello world\n', + '/etc/cups/cups-files.conf': 'clean\n' + }, + { + '/etc/cups/cupsd.conf': '#PassEnv smht\nHello world\n', + '/etc/cups/cups-files.conf': 'clean\n' + } + ), + ( + { + '/etc/cups/cupsd.conf': 'PassEnv smth\nHello world\n', + '/etc/cups/cups-files.conf': 'clean\n' + }, + { + '/etc/cups/cupsd.conf': 'Hello world\n', + '/etc/cups/cups-files.conf': 'clean\n\n# added by Leapp\nPassEnv smth\n' + } + ), + ( + { + '/etc/cups/cupsd.conf': 'SetEnv smht to\nHello world\n', + '/etc/cups/cups-files.conf': 'clean\n' + }, + { + '/etc/cups/cupsd.conf': 'Hello world\n', + '/etc/cups/cups-files.conf': 'clean\n\n# added by Leapp\nSetEnv smht to\n' + } + ), + ( + { + '/etc/cups/cupsd.conf': 'PassEnv smht\nSetEnv set to\nHello world\n', + '/etc/cups/cups-files.conf': 'clean\n' + }, + { + '/etc/cups/cupsd.conf': 'Hello world\n', + '/etc/cups/cups-files.conf': 'clean\n\n# added by Leapp\n' + 'PassEnv smht\nSetEnv set to\n' + } + ), + ( + { + '/etc/cups/cupsd.conf': 'PassEnv smth\nSetEnv set to\nPri' + 'ntcapFormat any\nHello world\n', + '/etc/cups/cups-files.conf': 'clean\n' + }, + { + '/etc/cups/cupsd.conf': 'Hello world\n', + '/etc/cups/cups-files.conf': 'clean\n\n# added by Leapp\n' + 'PassEnv smth\nSetEnv set to' + '\nPrintcapFormat any\n' + } + ) +) + + +@pytest.mark.parametrize('files,expected', testdata) +def test_move_directives(files, expected): + op = MockFileSystem(infiles=files) + + move_directives(['PassEnv', 'SetEnv', 'PrintcapFormat'], op) + + assert op.files.get('/etc/cups/cupsd.conf', None) == expected.get('/etc/cups/cupsd.conf', None) + assert op.files.get('/etc/cups/cups-files.conf', None) == expected.get('/etc/cups/cups-files.conf', None) diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/actor.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/actor.py new file mode 100644 index 0000000..6928646 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import cupsscanner +from leapp.models import CupsChangedFeatures, InstalledRedHatSignedRPM, Report +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class CupsScanner(Actor): + """ + Gather facts about CUPS features which needs to be migrated + + Actor checks if cups package is installed and if one or more following + situations appears in configuration files: + - interface scripts + - use of 'Digest' or 'BasicDigest' authentication + - use of 'Include' directive + - use of 'ServerCertificate' and 'ServerKey' directives + - use of 'SetEnv' or 'PassEnv' directives + - use of 'PrintcapFormat' directive + + The actor creates list from gathered data. + """ + + name = 'cups_scanner' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report, CupsChangedFeatures) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + cupsscanner.find_features() diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/libraries/cupsscanner.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/libraries/cupsscanner.py new file mode 100644 index 0000000..bc65c45 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/libraries/cupsscanner.py @@ -0,0 +1,280 @@ +import os + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import CupsChangedFeatures, InstalledRedHatSignedRPM + + +def _list_dir(path): + """ + Lists files which are in a directory specified by the path. + + :param str path: path to directory + """ + return os.listdir(path) + + +def _path_exists(path): + """ + Checks if the path exists on the machine. + + :param str path: path to file/directory + """ + return os.path.exists(path) + + +def _read_file(path): + """ + Read a file line by line. + + :param str path: path to file + """ + with open(path, 'r') as f: + return f.readlines() + + +def _check_package(pkg): + """ + Checks if a package is installed and signed. + + :param str pkg: name of package + """ + return has_package(InstalledRedHatSignedRPM, pkg) + + +def directive_exists(name, line): + """ + Checks if directive exists in the line, but it is not + commented out. + + :param str name: name of directive + :param str line: line of file + """ + return line.lstrip().startswith(name) + + +def get_directive_value(name, line): + """ + Returns directive value. + + :param str name: name of directive + :param str line: line of file + """ + if directive_exists(name, line): + return line.lstrip().lstrip(name).lstrip().split(' ')[0].rstrip() + return None + + +def interface_script_check(check_path_func=_path_exists, + list_dir_func=_list_dir): + """ + Checks if any file is in /etc/cups/interfaces, which means there could be + print queues using interface script. + + :param func check_path_func: checks if /etc/cups/interfaces exists + :param func list_dir_func: lists contents of directory + """ + if ( + check_path_func('/etc/cups/interfaces') and + list_dir_func('/etc/cups/interfaces') + ): + return True + return False + + +def include_directive_check(read_func=_read_file): + """ + Checks if 'Include' directive is present. + + :param str paths: path to cupsd configuration file + :param func read_func: function for reading a file as lines + """ + included_files = ['/etc/cups/cupsd.conf'] + error_list = [] + + vetted_included_files = [] + while included_files: + # NOTE(ivasilev) Will be using stack to process last encountered include directives first + included_file = included_files.pop(-1) + try: + lines = read_func(included_file) + except IOError: + error_list.append('Error during reading file {}: file not' + ' found'.format(included_file)) + continue + # Append to the resulting list of vetted files if exception wasn't raised + vetted_included_files.append(included_file) + # Mark any other included file you find as need-to-be-validated + includes_to_process = [] + for line in lines: + value = get_directive_value('Include', line) + if value: + includes_to_process.append(value) + # NOTE(ivasilev) Add discovered Include directives to the stack in reversed order, so that they are processed + # in the same order they appeared in the file + included_files.extend(reversed(includes_to_process)) + + return (vetted_included_files, error_list) + + +def digest_directive_check(path, read_func=_read_file): + """ + Checks if AuthType or DefaultAuthType directives contain + Digest or BasicDigest values, which were removed. + + :param str path: path to configuration file + :param func read_func: function for reading the file + """ + lines = read_func(path) + + for line in lines: + for name in ['AuthType', 'DefaultAuthType']: + for value in ['Digest', 'BasicDigest']: + found_value = get_directive_value(name, line) + if found_value == value: + return True + return False + + +def ssl_directive_check(read_func=_read_file): + """ + Checks if ServerCertificate or ServerKey directives are + used in cups-files.conf. + + :param func read_func: function for reading the file + """ + lines = read_func('/etc/cups/cups-files.conf') + + for line in lines: + for name in ['ServerCertificate', 'ServerKey']: + value = get_directive_value(name, line) + if value: + return True + return False + + +def environment_setup_check(path, read_func=_read_file): + """ + Checks if PassEnv or SetEnv directives are used in configuration. + They were moved to cups-files.conf in newer CUPS due security + issues. + + :param str path: path to configuration file + :param func read_func: reads the file + """ + lines = read_func(path) + + for line in lines: + for name in ['SetEnv', 'PassEnv']: + value = get_directive_value(name, line) + if value: + return True + return False + + +def print_capabilities_check(path, read_func=_read_file): + """ + Checks if PrintcapFormat directive is used in configuration. + It was moved to cups-files.conf in newer CUPS. + + :param str path: path to configuration file + :param func read_func: reads the file + """ + lines = read_func(path) + + for line in lines: + value = get_directive_value('PrintcapFormat', line) + if value: + return True + return False + + +def _send_model(interface, digest, include, certkey, env, + printcap, include_files_list): + """ + Produces model of facts. + + :param bool interface: true if interface scripts are used + :param bool digest: true if BasicDigest/Digest values are used + :param bool include: true if Include directive is used + :param bool certkey: true if ServerCertificate/ServerKey directives are used + :param bool env: true if PassEnv/SetEnv directives are used + :param bool printcap: true if PrintcapFormat directive is used + :param list include_files_list: contains paths to included files + """ + api.produce(CupsChangedFeatures(interface=interface, + digest=digest, + include=include, + certkey=certkey, + env=env, + printcap=printcap, + include_files=include_files_list)) + + +def find_features(debug_log=api.current_logger().debug, + warn_log=api.current_logger().warn, + error_log=api.current_logger().error, + send_features=_send_model, + is_installed=_check_package, + read_func=_read_file, + check_path_func=_path_exists, + list_dir_func=_list_dir): + """ + Checks every feature which changed between CUPS 1.6.3 and CUPS + 2.2.6. + + :param func debug_log: function for debug logging + :param func error_log: function for error logging + :param func warn_log: function for warning logging + :param func send_features: produces CupsMigrationModel if necessary + :param func is_installed: check if the package is installed + :param func read_func: reads a file + :param func check_path_func: checks if the file exists + :param func list_dir_func: list files in a directory + """ + + if not is_installed('cups'): + return + + if ( + not check_path_func('/etc/cups/cupsd.conf') or + not check_path_func('/etc/cups/cups-files.conf') + ): + # seatbelt - it's expected as super rare to have malfunction cupsd :) + raise StopActorExecutionError('Core CUPS configuration files ' + 'are missing. CUPS installation ' + 'is corrupted, terminating the actor.') + + debug_log('Checking if CUPS configuration contains removed features.') + + digest = env = printcap = interface = certkey = include = False + + include_file_list, error_list = include_directive_check(read_func) + + if error_list: + warn_log('Following included files will not be appended to ' + 'cupsd.conf due attached error:' + + ''.join(['\n - {}'.format(err) for err in error_list])) + + if len(include_file_list) > 1: + include = True + + interface = interface_script_check(check_path_func, list_dir_func) + + for config_file in include_file_list: + + if not digest: + digest = digest_directive_check(config_file, read_func) + + if not env: + env = environment_setup_check(config_file, read_func) + + if not printcap: + printcap = print_capabilities_check(config_file, read_func) + + certkey = ssl_directive_check(read_func) + + if any([interface, digest, include, certkey, env, printcap]): + send_features(interface, digest, include, certkey, env, + printcap, include_file_list) diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_digest_directive_check.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_digest_directive_check.py new file mode 100644 index 0000000..c00fabd --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_digest_directive_check.py @@ -0,0 +1,34 @@ +import pytest + +from leapp.libraries.actor.cupsscanner import digest_directive_check + +testdata = ( + ('\n', False), + ('test\n', False), + ('AuthType Basic\n', False), + ('DefaultAuthType Basic\n', False), + ('#AuthType Digest\n', False), + ('#DefaultAuthType BasicDigest\n', False), + ('DefaultAuthType BasicDigest\n', True), + ('DefaultAuthType Digest\n', True), + ('AuthType Digest\n', True), + ('AuthType BasicDigest\n', True), + ('AuthType BasicDigest\nDefaultAuthType Digest\n', True), +) + + +class MockConfig(object): + def __init__(self, content): + self.content = content + + def read(self, path): + return self.content.splitlines(True) + + +@pytest.mark.parametrize("content,expected", testdata) +def test_digest_directive_check(content, expected): + config = MockConfig(content) + + ret = digest_directive_check('does_not_matter', config.read) + + assert ret == expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_directive_exists.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_directive_exists.py new file mode 100644 index 0000000..d1066d0 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_directive_exists.py @@ -0,0 +1,19 @@ +import pytest + +from leapp.libraries.actor.cupsscanner import directive_exists + +testdata = ( + ('PrintcapFormat', 'ble', False), + ('PrintcapFormat', '', False), + ('PrintcapFormat', '#PrintcapFormat', False), + ('PrintcapFormat', 'PrintcapFormat', True), + ('PrintcapFormat', ' PrintcapFormat', True) +) + + +@pytest.mark.parametrize("string, line, expected", testdata) +def test_directive_exists(string, line, expected): + + ret = directive_exists(string, line) + + assert ret == expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_environment_setup_check.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_environment_setup_check.py new file mode 100644 index 0000000..78573eb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_environment_setup_check.py @@ -0,0 +1,34 @@ +import pytest + +from leapp.libraries.actor.cupsscanner import environment_setup_check + +testdata = ( + ('\n', False), + ('Something else\n', False), + ('#PassEnv smth\n', False), + (' #SetEnv smth\n', False), + ('PassEnv smth\n', True), + ('SetEnv smth\n', True), + ('PassEnv\n', False), + ('SetEnv\n', False), + ('PassEnv smth\nSetEnv smth\n', True) +) + + +class MockCUPSD(object): + def __init__(self, content): + self.content = content + + def read(self, path): + if path: + return self.content.splitlines(True) + return None + + +@pytest.mark.parametrize("content, expected", testdata) +def test_environment_setup_check(content, expected): + config = MockCUPSD(content) + + ret = environment_setup_check('does_not_matter', config.read) + + assert ret == expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_find_features.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_find_features.py new file mode 100644 index 0000000..c7798c7 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_find_features.py @@ -0,0 +1,387 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor.cupsscanner import find_features + +message = 'Checking if CUPS configuration contains removed features.' + +testdata = ( + ( + ['ble'], + {}, + {} + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': '', + '/etc/cups/cups-files.conf': '' + }, + { + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'Include smth\n', + '/etc/cups/cups-files.conf': '', + 'smth': '' + }, + { + 'include': True, + 'digest': False, + 'interface': False, + 'env': False, + 'certkey': False, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf', 'smth'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'Include smth\n', + '/etc/cups/cups-files.conf': '', + }, + { + 'debug': message, + 'warn': 'Following included files will not be appended to cupsd.c' + 'onf due attached error:\n - Error during reading file smth: file not found' + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'Include smth\nInclude smb\n', + '/etc/cups/cups-files.conf': '', + 'smth': '', + 'smb': '' + }, + { + 'include': True, + 'digest': False, + 'interface': False, + 'env': False, + 'certkey': False, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf', 'smth', 'smb'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'Include smth\n', + '/etc/cups/cups-files.conf': '', + 'smth': 'AuthType Digest\nPassEnv smth\nPrintcapFormat neco\n' + }, + { + 'include': True, + 'digest': True, + 'interface': False, + 'env': True, + 'certkey': False, + 'printcap': True, + 'included_files': ['/etc/cups/cupsd.conf', 'smth'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': '', + '/etc/cups/cups-files.conf': 'ServerKey smth.key\n', + 'smth.key': '' + }, + { + 'include': False, + 'digest': False, + 'interface': False, + 'env': False, + 'certkey': True, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': '', + '/etc/cups/cups-files.conf': 'ServerCertificate smth.cert\n', + 'smth.cert': '' + }, + { + 'include': False, + 'digest': False, + 'interface': False, + 'env': False, + 'certkey': True, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': '', + '/etc/cups/cups-files.conf': 'ServerKey smth.key\n' + 'ServerCertificate smth.cert\n', + 'smth.key': '', + 'smth.cert': '' + }, + { + 'include': False, + 'digest': False, + 'interface': False, + 'env': False, + 'certkey': True, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'AuthType Digest\n', + '/etc/cups/cups-files.conf': '', + }, + { + 'include': False, + 'digest': True, + 'interface': False, + 'env': False, + 'certkey': False, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'DefaultAuthType BasicDigest\n', + '/etc/cups/cups-files.conf': '', + }, + { + 'include': False, + 'digest': True, + 'interface': False, + 'env': False, + 'certkey': False, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'PassEnv smth\n', + '/etc/cups/cups-files.conf': '', + }, + { + 'include': False, + 'digest': False, + 'interface': False, + 'env': True, + 'certkey': False, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'SetEnv smth\n', + '/etc/cups/cups-files.conf': '', + }, + { + 'include': False, + 'digest': False, + 'interface': False, + 'env': True, + 'certkey': False, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'PrintcapFormat smth\n', + '/etc/cups/cups-files.conf': '', + }, + { + 'include': False, + 'digest': False, + 'interface': False, + 'env': False, + 'certkey': False, + 'printcap': True, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': '', + '/etc/cups/cups-files.conf': '', + '/etc/cups/interfaces': [] + }, + { + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': '', + '/etc/cups/cups-files.conf': '', + '/etc/cups/interfaces': ['smth', 'anything'], + 'smth': '', + 'anything': '' + }, + { + 'include': False, + 'digest': False, + 'interface': True, + 'env': False, + 'certkey': False, + 'printcap': False, + 'included_files': ['/etc/cups/cupsd.conf'], + 'debug': message + } + ), + ( + ['cups'], + { + '/etc/cups/cupsd.conf': 'Include mst\nAuthType Digest\n' + 'PassEnv too\nPrintcapFormat poo\n', + '/etc/cups/cups-files.conf': 'ServerKey my.key\n' + 'ServerCertificate my.cert\n', + '/etc/cups/interfaces': ['smth', 'anything'], + 'smth': '', + 'anything': '', + 'mst': '' + }, + { + 'include': True, + 'digest': True, + 'interface': True, + 'env': True, + 'certkey': True, + 'printcap': True, + 'included_files': ['/etc/cups/cupsd.conf', 'mst'], + 'debug': message + } + ) +) + + +class MockActor(object): + def __init__(self): + self.output = {} + + def send_features(self, interface, digest, include, certkey, env, + printcap, included_files): + self.output['interface'] = interface + self.output['digest'] = digest + self.output['include'] = include + self.output['certkey'] = certkey + self.output['env'] = env + self.output['printcap'] = printcap + self.output['included_files'] = included_files + + +class MockLogger(object): + def __init__(self): + self.debugmsg = '' + self.warnmsg = '' + self.errormsg = '' + + def debug(self, message): + self.debugmsg += message + + def error(self, message): + self.errormsg += message + + def warn(self, message): + self.warnmsg += message + + +class MockFileSystem(object): + def __init__(self, packages, files): + self.installed_packages = packages + self.files = files + + def is_installed(self, pkg): + if pkg in self.installed_packages: + return True + return False + + def read(self, path): + if path in self.files.keys(): + return self.files[path].splitlines(True) + raise IOError('Error during reading file {} - file' + ' not found.'.format(path)) + + def path_exists(self, path): + if path in self.files.keys(): + return True + return False + + def list_dir(self, path): + if path in self.files.keys(): + return self.files[path] + return False + + +def test_find_features_exception(): + logger = MockLogger() + system = MockFileSystem(['cups'], {}) + actor = MockActor() + + with pytest.raises(StopActorExecutionError): + find_features(logger.debug, + logger.warn, + logger.error, + actor.send_features, + system.is_installed, + system.read, + system.path_exists, + system.list_dir) + + +@pytest.mark.parametrize(("packages,files,expected"), testdata) +def test_find_features(packages, files, expected): + logger = MockLogger() + system = MockFileSystem(packages, files) + actor = MockActor() + + find_features(logger.debug, + logger.warn, + logger.error, + actor.send_features, + system.is_installed, + system.read, + system.path_exists, + system.list_dir) + + assert actor.output.get('interface', None) == expected.get('interface', None) + assert actor.output.get('digest', None) == expected.get('digest', None) + assert actor.output.get('include', None) == expected.get('include', None) + assert actor.output.get('certkey', None) == expected.get('certkey', None) + assert actor.output.get('env', None) == expected.get('env', None) + assert actor.output.get('printcap', None) == expected.get('printcap', None) + assert actor.output.get('included_files', None) == expected.get('included_files', None) + assert logger.debugmsg == expected.get('debug', '') + assert logger.warnmsg == expected.get('warn', '') + assert logger.errormsg == expected.get('error', '') diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_get_directive_value_check.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_get_directive_value_check.py new file mode 100644 index 0000000..8b95c39 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_get_directive_value_check.py @@ -0,0 +1,20 @@ +import pytest + +from leapp.libraries.actor.cupsscanner import get_directive_value + +testdata = ( + ('Include', 'Include smth', 'smth'), + ('Include', 'something_else', None), + ('Include', 'Include', ''), + ('Include', '#Include smth', None), + ('Include', ' Include smth', 'smth'), + ('Include', ' Include smth anything', 'smth'), +) + + +@pytest.mark.parametrize('string, line, expected', testdata) +def test_get_directive_value(string, line, expected): + + value = get_directive_value(string, line) + + assert value == expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_include_directive_check.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_include_directive_check.py new file mode 100644 index 0000000..83b849c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_include_directive_check.py @@ -0,0 +1,102 @@ +import pytest + +from leapp.libraries.actor.cupsscanner import include_directive_check + +testdata = ( + ( + { + '/etc/cups/cupsd.conf': '\n' + }, + { + 'included_files': ['/etc/cups/cupsd.conf'], + } + ), + ( + { + '/etc/cups/cupsd.conf': 'Include smth.conf\n', + 'smth.conf': '\n' + }, + { + 'included_files': ['/etc/cups/cupsd.conf', 'smth.conf'], + } + ), + ( + { + '/etc/cups/cupsd.conf': 'Include smth.conf\nInclude smb.conf\n', + 'smth.conf': '\n', + 'smb.conf': '\n' + }, + { + 'included_files': ['/etc/cups/cupsd.conf', 'smth.conf', + 'smb.conf'], + } + ), + ( + { + '/etc/cups/cupsd.conf': 'Include smth.conf\n', + 'smth.conf': 'Include smb.conf\n', + 'smb.conf': '\n' + }, + { + 'included_files': ['/etc/cups/cupsd.conf', 'smth.conf', + 'smb.conf'], + } + ), + ( + { + '/etc/cups/cupsd.conf': 'Include smth.conf\n', + 'smth.conf': 'Include smb.conf\n', + 'smb.conf': 'Include any.conf\n', + 'any.conf': '\n' + }, + { + 'included_files': ['/etc/cups/cupsd.conf', 'smth.conf', + 'smb.conf', 'any.conf'], + } + ), + ( + { + '/etc/cups/cupsd.conf': '#Include smth.conf' + }, + { + 'included_files': ['/etc/cups/cupsd.conf'] + } + ), + ( + { + '/etc/cups/cupsd.conf': 'Include\n' + }, + { + 'included_files': ['/etc/cups/cupsd.conf'], + } + ), + ( + { + '/etc/cups/cupsd.conf': ' Include smth.conf smth_more\n', + 'smth.conf': '\n' + }, + { + 'included_files': ['/etc/cups/cupsd.conf', 'smth.conf'] + } + ) +) + + +class MockFileSystem(object): + def __init__(self, infiles): + self.files = infiles + + def read(self, path): + if path in self.files.keys(): + return self.files[path].splitlines(True) + raise IOError('Error during reading file.') + + +@pytest.mark.parametrize("files,expected", testdata) +def test_include_directive_check(files, expected): + f = MockFileSystem(files) + + included_files, error_list = include_directive_check(read_func=f.read) + + assert included_files == expected.get('included_files', []) + assert error_list == expected.get('error_list', []) diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_interface_script_check.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_interface_script_check.py new file mode 100644 index 0000000..dc4e3fd --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_interface_script_check.py @@ -0,0 +1,35 @@ +import pytest + +from leapp.libraries.actor.cupsscanner import interface_script_check + +testdata = ( + ('bla', [], False), + ('/etc/cups/interfaces', [], False), + ('/etc/cups/interfaces', ['smth'], True), +) + + +class MockFilesystem(object): + def __init__(self, path, files): + self.path = path + self.files = files + + def check_path(self, path): + if self.path == path: + return True + return False + + def list_dir(self, path): + if self.path == path: + return self.files + return [] + + +@pytest.mark.parametrize("path,files,expected", testdata) +def test_interface_script_check(path, files, expected): + filesystem = MockFilesystem(path, files) + + ret = interface_script_check(filesystem.check_path, + filesystem.list_dir) + + assert ret == expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_print_capabilities_check.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_print_capabilities_check.py new file mode 100644 index 0000000..b3495de --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_print_capabilities_check.py @@ -0,0 +1,30 @@ +import pytest + +from leapp.libraries.actor.cupsscanner import print_capabilities_check + +testdata = ( + ('\n', False), + ('Something else\n', False), + ('#PrintcapFormat smth\n', False), + ('PrintcapFormat\n', False), + ('PrintcapFormat smth\n', True) +) + + +class MockCUPSD(object): + def __init__(self, content): + self.content = content + + def read(self, path): + if path: + return self.content.splitlines(True) + return None + + +@pytest.mark.parametrize("content, expected", testdata) +def test_print_capabilities_check(content, expected): + config = MockCUPSD(content) + + ret = print_capabilities_check('does_not_matter', config.read) + + assert ret == expected diff --git a/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_ssl_directive_check.py b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_ssl_directive_check.py new file mode 100644 index 0000000..6dfc808 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/cupsscanner/tests/test_ssl_directive_check.py @@ -0,0 +1,32 @@ +import pytest + +from leapp.libraries.actor.cupsscanner import ssl_directive_check + +testdata = ( + ('\n', False), + ('smth\n', False), + ('#ServerCertificate my.crt\n', False), + ('#ServerKey my.key\n', False), + ('ServerCertificate\n', False), + ('ServerKey\n', False), + ('ServerKey my.key\n', True), + ('ServerCertificate my.crt\n', True), + ('ServerCertificate my.crt\nServerKey my.key\n', True) +) + + +class MockCupsfiles(object): + def __init__(self, content): + self.content = content + + def read(self, path): + return self.content.splitlines(True) + + +@pytest.mark.parametrize("content,expected", testdata) +def test_ssl_directive_check(content, expected): + config = MockCupsfiles(content) + + ret = ssl_directive_check(config.read) + + assert ret == expected diff --git a/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/actor.py b/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/actor.py new file mode 100644 index 0000000..4928710 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import enabledeviceciofreeservice +from leapp.models import SystemdServicesTasks +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class EnableDeviceCioFreeService(Actor): + """ + Enables device_cio_free.service systemd service on s390x + + After an upgrade this service ends up disabled even though it's vendor preset is set to enabled. + The service is used to enable devices which are not explicitly enabled on the kernel command line. + """ + + name = 'enable_device_cio_free_service' + consumes = () + produces = (SystemdServicesTasks,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + enabledeviceciofreeservice.process() diff --git a/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/libraries/enabledeviceciofreeservice.py b/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/libraries/enabledeviceciofreeservice.py new file mode 100644 index 0000000..97e36f1 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/libraries/enabledeviceciofreeservice.py @@ -0,0 +1,8 @@ +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api +from leapp.models import SystemdServicesTasks + + +def process(): + if architecture.matches_architecture(architecture.ARCH_S390X): + api.produce(SystemdServicesTasks(to_enable=['device_cio_free.service'])) diff --git a/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/tests/test_enableddeviceciofreeservice.py b/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/tests/test_enableddeviceciofreeservice.py new file mode 100644 index 0000000..4252759 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/enableddeviceciofreeservices390/tests/test_enableddeviceciofreeservice.py @@ -0,0 +1,32 @@ +import pytest + +from leapp.libraries.actor import enabledeviceciofreeservice +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import SystemdServicesTasks + + +def test_task_produced_on_s390(monkeypatch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_S390X)) + monkeypatch.setattr(api, "produce", produce_mocked()) + + enabledeviceciofreeservice.process() + + assert api.produce.called + assert isinstance(api.produce.model_instances[0], SystemdServicesTasks) + assert api.produce.model_instances[0].to_enable == ['device_cio_free.service'] + + +@pytest.mark.parametrize('arch', [ + architecture.ARCH_X86_64, + architecture.ARCH_ARM64, + architecture.ARCH_PPC64LE, +]) +def test_task_not_produced_on_non_s390(monkeypatch, arch): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=arch)) + monkeypatch.setattr(api, "produce", produce_mocked()) + + enabledeviceciofreeservice.process() + + assert not api.produce.called diff --git a/repos/system_upgrade/el7toel8/actors/enablersyncdservice/actor.py b/repos/system_upgrade/el7toel8/actors/enablersyncdservice/actor.py new file mode 100644 index 0000000..bdf2e63 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/enablersyncdservice/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import enablersyncdservice +from leapp.models import SystemdServicesInfoSource, SystemdServicesTasks +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class EnableDeviceCioFreeService(Actor): + """ + Enables rsyncd.service systemd service if it is enabled on source system + + After an upgrade this service ends up disabled even if it was enabled on + the source system. + """ + + name = 'enable_rsyncd_service' + consumes = (SystemdServicesInfoSource,) + produces = (SystemdServicesTasks,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + enablersyncdservice.process() diff --git a/repos/system_upgrade/el7toel8/actors/enablersyncdservice/libraries/enablersyncdservice.py b/repos/system_upgrade/el7toel8/actors/enablersyncdservice/libraries/enablersyncdservice.py new file mode 100644 index 0000000..216ebca --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/enablersyncdservice/libraries/enablersyncdservice.py @@ -0,0 +1,21 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.models import SystemdServicesInfoSource, SystemdServicesTasks + +SERVICE_NAME = "rsyncd.service" + + +def _service_enabled_source(service_info, name): + service_file = next((s for s in service_info.service_files if s.name == name), None) + return service_file and service_file.state == "enabled" + + +def process(): + service_info_source = next(api.consume(SystemdServicesInfoSource), None) + if not service_info_source: + raise StopActorExecutionError( + "Expected SystemdServicesInfoSource message, but didn't get any" + ) + + if _service_enabled_source(service_info_source, SERVICE_NAME): + api.produce(SystemdServicesTasks(to_enable=[SERVICE_NAME])) diff --git a/repos/system_upgrade/el7toel8/actors/enablersyncdservice/tests/test_enablersyncdservice.py b/repos/system_upgrade/el7toel8/actors/enablersyncdservice/tests/test_enablersyncdservice.py new file mode 100644 index 0000000..34a25af --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/enablersyncdservice/tests/test_enablersyncdservice.py @@ -0,0 +1,24 @@ +import pytest + +from leapp.libraries.actor import enablersyncdservice +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import SystemdServiceFile, SystemdServicesInfoSource, SystemdServicesTasks + + +@pytest.mark.parametrize('service_file, should_produce', [ + (SystemdServiceFile(name='rsyncd.service', state='enabled'), True), + (SystemdServiceFile(name='rsyncd.service', state='disabled'), False), + (SystemdServiceFile(name='not-rsyncd.service', state='enabled'), False), + (SystemdServiceFile(name='not-rsyncd.service', state='disabled'), False), +]) +def test_task_produced(monkeypatch, service_file, should_produce): + service_info = SystemdServicesInfoSource(service_files=[service_file]) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[service_info])) + monkeypatch.setattr(api, "produce", produce_mocked()) + + enablersyncdservice.process() + + assert api.produce.called == should_produce + if should_produce: + assert api.produce.model_instances[0].to_enable == ['rsyncd.service'] diff --git a/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/actor.py b/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/actor.py new file mode 100644 index 0000000..7849edd --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/actor.py @@ -0,0 +1,55 @@ +import os +from xml.etree import ElementTree + +from leapp.actors import Actor +from leapp.libraries.actor import firewalldfactsactor +from leapp.models import FirewalldFacts +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class FirewalldFactsActor(Actor): + """ + Provide data about firewalld + + After collecting data, a message with relevant data will be produced. + """ + + name = 'firewalld_facts_actor' + consumes = () + produces = (FirewalldFacts,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + facts = FirewalldFacts() + + try: + tree = ElementTree.parse('/etc/firewalld/lockdown-whitelist.xml') + root = tree.getroot() + facts.firewall_config_command = firewalldfactsactor.getLockdownFirewallConfigCommand(root) + except IOError: + pass + + try: + tree = ElementTree.parse('/etc/firewalld/direct.xml') + root = tree.getroot() + facts.ebtablesTablesInUse = firewalldfactsactor.getEbtablesTablesInUse(root) + except IOError: + pass + + ipsetTypesInUse = set() + directory = '/etc/firewalld/ipsets' + try: + for filename in os.listdir(directory): + if not filename.endswith('.xml'): + continue + try: + tree = ElementTree.parse(os.path.join(directory, filename)) + root = tree.getroot() + ipsetTypesInUse |= set(firewalldfactsactor.getIpsetTypesInUse(root)) + except IOError: + pass + facts.ipsetTypesInUse = list(ipsetTypesInUse) + except OSError: + pass + + self.produce(facts) diff --git a/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/libraries/firewalldfactsactor.py b/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/libraries/firewalldfactsactor.py new file mode 100644 index 0000000..75fd075 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/libraries/firewalldfactsactor.py @@ -0,0 +1,35 @@ +def getLockdownFirewallConfigCommand(root): + for command in root.iter('command'): + if 'name' in command.attrib and \ + '/usr/bin/firewall-config' in command.attrib['name']: + return command.attrib['name'] + + return '' + + +def getEbtablesTablesInUse(root): + tables = [] + for rule in root.iter('rule'): + if 'ipv' in rule.attrib and rule.attrib['ipv'] == 'eb' and \ + 'table' in rule.attrib and rule.attrib['table'] not in tables: + tables.append(rule.attrib['table']) + + for passthrough in root.iter('passthrough'): + if 'ipv' in passthrough.attrib and passthrough.attrib['ipv'] == 'eb': + rule = passthrough.text.split() + try: + i = rule.index('-t') + if rule[i + 1] not in tables: + tables.append(rule[i + 1]) + except ValueError: + pass + + return tables + + +def getIpsetTypesInUse(root): + types = [] + for ipset in root.iter('ipset'): + if 'type' in ipset.attrib and ipset.attrib['type'] not in types: + types.append(ipset.attrib['type']) + return types diff --git a/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/tests/component_test_firewalldfactsactor.py b/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/tests/component_test_firewalldfactsactor.py new file mode 100644 index 0000000..047f03e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/tests/component_test_firewalldfactsactor.py @@ -0,0 +1,6 @@ +from leapp.models import FirewalldFacts + + +def test_actor_execution(current_actor_context): + current_actor_context.run() + assert current_actor_context.consume(FirewalldFacts) diff --git a/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/tests/unit_test_firewalldfactsactor.py b/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/tests/unit_test_firewalldfactsactor.py new file mode 100644 index 0000000..4239c11 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/firewalldfactsactor/tests/unit_test_firewalldfactsactor.py @@ -0,0 +1,88 @@ +import xml.etree.ElementTree as ElementTree + +from leapp.libraries.actor import firewalldfactsactor + + +def test_firewalldfactsactor_direct(): + root = ElementTree.fromstring( + ''' + + -t broute -I BROUTING 1 -j ACCEPT + + ''') + assert firewalldfactsactor.getEbtablesTablesInUse(root) == ['broute'] + + root = ElementTree.fromstring( + ''' + + -j ACCEPT + + ''') + assert firewalldfactsactor.getEbtablesTablesInUse(root) == ['broute'] + + root = ElementTree.fromstring( + ''' + + -j ACCEPT + -j ACCEPT + -t nat -I PREROUTING 1 -j ACCEPT + + ''' + ) + assert set(firewalldfactsactor.getEbtablesTablesInUse(root)) == set(['broute', 'nat']) + + +def test_firewalldfactsactor_firewallConfigCommand(): + root = ElementTree.fromstring( + ''' + + + + + + + + ''' + ) + assert firewalldfactsactor.getLockdownFirewallConfigCommand(root) == '/usr/bin/python -Es /usr/bin/firewall-config' + + root = ElementTree.fromstring( + ''' + + + + ''') + assert firewalldfactsactor.getLockdownFirewallConfigCommand(root) == '' + + root = ElementTree.fromstring( + ''' + + + + + + + ''') + EXP_RESULT = '/usr/libexec/platform-python -s /usr/bin/firewall-config' + assert firewalldfactsactor.getLockdownFirewallConfigCommand(root) == EXP_RESULT + + +def test_firewalldfactsactor_ipsetTypes(): + root = ElementTree.fromstring( + ''' + + My Ipset + description + 1.2.3.4 + + ''') + assert firewalldfactsactor.getIpsetTypesInUse(root) == ['hash:ip'] + + root = ElementTree.fromstring( + ''' + + My Ipset + description + + ''') + assert firewalldfactsactor.getIpsetTypesInUse(root) == ['hash:net,port'] diff --git a/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/actor.py b/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/actor.py new file mode 100644 index 0000000..2a89fc7 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/actor.py @@ -0,0 +1,39 @@ +import xml.etree.ElementTree as ElementTree + +from leapp.actors import Actor +from leapp.libraries.actor import firewalldupdatelockdownwhitelist +from leapp.models import FirewalldFacts +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class FirewalldUpdateLockdownWhitelist(Actor): + """ + Update the firewalld Lockdown Whitelist. + + RHEL-8 uses a platform specific python interpreter for packaged + applications. For firewall-config, the interpreter path is part of the + lockdown list. In RHEL-7 this was simply /usr/bin/python, but in RHEL-8 + it's /usr/libexec/platform-python. However, if the user made changes to the + lockdown whitelist it won't be replaced by RPM/dnf. As such we must update + the interpreter if the old value is there. + """ + + name = 'firewalld_update_lockdown_whitelist' + consumes = (FirewalldFacts,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + for facts in self.consume(FirewalldFacts): + if facts.firewall_config_command: + tree = ElementTree.parse('/etc/firewalld/lockdown-whitelist.xml') + root = tree.getroot() + + need_write = firewalldupdatelockdownwhitelist.updateFirewallConfigCommand( + root, + facts.firewall_config_command + ) + + if need_write: + tree.write('/etc/firewalld/lockdown-whitelist.xml') + self.log.info('Updated lockdown whitelist') diff --git a/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/libraries/firewalldupdatelockdownwhitelist.py b/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/libraries/firewalldupdatelockdownwhitelist.py new file mode 100644 index 0000000..1241778 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/libraries/firewalldupdatelockdownwhitelist.py @@ -0,0 +1,13 @@ +def updateFirewallConfigCommand(root, old_command): + changed = False + + # Only update the command element that corresponds to firewall-config + new_command = '/usr/libexec/platform-python -s /usr/bin/firewall-config' + for command in root.iter('command'): + if 'name' in command.attrib and \ + old_command == command.attrib['name'] and \ + old_command != new_command: + command.attrib['name'] = new_command + changed = True + + return changed diff --git a/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/tests/unit_test_firewalldupdatelockdownwhitelist.py b/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/tests/unit_test_firewalldupdatelockdownwhitelist.py new file mode 100644 index 0000000..dc0087e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/firewalldupdatelockdownwhitelist/tests/unit_test_firewalldupdatelockdownwhitelist.py @@ -0,0 +1,51 @@ +import xml.etree.ElementTree as ElementTree + +from leapp.libraries.actor import firewalldupdatelockdownwhitelist + + +def test_firewalldupdatelockdownwhitelist_library(): + root = ElementTree.fromstring( + ''' + + + + + + + + ''') + + assert firewalldupdatelockdownwhitelist.updateFirewallConfigCommand( + root, + '/usr/bin/python -Es /usr/bin/firewall-config' + ) + + +def test_firewalldupdatelockdownwhitelist_library_negative(): + root = ElementTree.fromstring( + ''' + + + + ''') + + assert not firewalldupdatelockdownwhitelist.updateFirewallConfigCommand(root, '') + assert not firewalldupdatelockdownwhitelist.updateFirewallConfigCommand( + root, + '/usr/bin/python -Es /usr/bin/firewall-config' + ) + + root = ElementTree.fromstring( + ''' + + + + + + + ''') + + assert not firewalldupdatelockdownwhitelist.updateFirewallConfigCommand( + root, + '/usr/libexec/platform-python -s /usr/bin/firewall-config' + ) diff --git a/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/actor.py b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/actor.py new file mode 100644 index 0000000..5f7aceb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkinstalleddebugkernels +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckInstalledDebugKernels(Actor): + """ + Inhibit IPU (in-place upgrade) when multiple debug kernels are installed. + + Because of an issue in DNF, the transaction can't be validated if there's + more than one package named kernel-debug. Therefore, in this case, we + inhibit the upgrade with a clearer remediation. + """ + + name = 'check_installed_debug_kernels' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + checkinstalleddebugkernels.process() diff --git a/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/libraries/checkinstalleddebugkernels.py b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/libraries/checkinstalleddebugkernels.py new file mode 100644 index 0000000..6586c7f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/libraries/checkinstalleddebugkernels.py @@ -0,0 +1,42 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + + +def get_kernel_rpm_release(rpm): + """ + Get the release of a kernel RPM as an integer. + + :param rpm: An instance of an RPM derived model. + """ + return int(rpm.release.split('.')[0]) + + +def get_kernel_debug_rpms(): + """ + Get all installed kernel-debug packages ordered by release number (ascending). + """ + rpms = next(api.consume(InstalledRedHatSignedRPM), InstalledRedHatSignedRPM()) + return sorted([pkg for pkg in rpms.items if pkg.name == 'kernel-debug'], key=get_kernel_rpm_release) + + +def process(): + pkgs = get_kernel_debug_rpms() + if len(pkgs) > 1: + title = 'Multiple debug kernels installed' + summary = ('DNF cannot produce a valid upgrade transaction when' + ' multiple kernel-debug packages are installed.') + hint = ('Remove all but one kernel-debug packages before running Leapp again.') + all_but_latest_kernel_debug = pkgs[:-1] + packages = ['{n}-{v}-{r}'.format(n=pkg.name, v=pkg.version, r=pkg.release) + for pkg in all_but_latest_kernel_debug] + commands = [['yum', '-y', 'remove'] + packages] + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.KERNEL]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint=hint, commands=commands), + reporting.RelatedResource('package', 'kernel-debug') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/tests/unit_test_checkinstalleddebugkernels.py b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/tests/unit_test_checkinstalleddebugkernels.py new file mode 100644 index 0000000..a0e3a95 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddebugkernels/checkinstalleddebugkernels/tests/unit_test_checkinstalleddebugkernels.py @@ -0,0 +1,35 @@ +import pytest + +from leapp.models import InstalledRedHatSignedRPM, Report, RPM +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + +ballast1 = [ + RPM(name='b1', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='kernel', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='b2', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s') +] +ballast2 = [ + RPM(name='b3', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='kernel', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='b4', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s') +] +debug_kernels = [ + RPM(name='kernel-debug', version='3.10.0', release='957.27.4.el7', + epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='kernel-debug', version='3.10.0', release='957.35.1.el7', + epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='kernel-debug', version='3.10.0', release='957.43.1.el7', + epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s') +] + + +@pytest.mark.parametrize('n', [0, 1, 2, 3]) +def test_process_debug_kernels(current_actor_context, n): + current_actor_context.feed(InstalledRedHatSignedRPM(items=ballast1+debug_kernels[:n]+ballast2)) + current_actor_context.run() + if n < 2: + assert not current_actor_context.consume(Report) + else: + assert current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/actor.py b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/actor.py new file mode 100644 index 0000000..41ebb2d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkinstalleddevelkernels +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckInstalledDevelKernels(Actor): + """ + Inhibit IPU (in-place upgrade) when multiple devel kernels are installed. + + Because of an issue in DNF, the transaction can't be validated if there's + more than one package named kernel-devel. Therefore, in this case, we + inhibit the upgrade with a clearer remediation. + """ + + name = 'check_installed_devel_kernels' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + checkinstalleddevelkernels.process() diff --git a/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/libraries/checkinstalleddevelkernels.py b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/libraries/checkinstalleddevelkernels.py new file mode 100644 index 0000000..bd9a393 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/libraries/checkinstalleddevelkernels.py @@ -0,0 +1,42 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + + +def get_kernel_rpm_release(rpm): + """ + Get the release of a kernel RPM as an integer. + + :param rpm: An instance of an RPM derived model. + """ + return int(rpm.release.split('.')[0]) + + +def get_kernel_devel_rpms(): + """ + Get all installed kernel-devel packages ordered by release number (ascending). + """ + rpms = next(api.consume(InstalledRedHatSignedRPM), InstalledRedHatSignedRPM()) + return sorted([pkg for pkg in rpms.items if pkg.name == 'kernel-devel'], key=get_kernel_rpm_release) + + +def process(): + pkgs = get_kernel_devel_rpms() + if len(pkgs) > 1: + title = 'Multiple devel kernels installed' + summary = ('DNF cannot produce a valid upgrade transaction when' + ' multiple kernel-devel packages are installed.') + hint = ('Remove all but one kernel-devel packages before running Leapp again.') + all_but_latest_kernel_devel = pkgs[:-1] + packages = ['{n}-{v}-{r}'.format(n=pkg.name, v=pkg.version, r=pkg.release) + for pkg in all_but_latest_kernel_devel] + commands = [['yum', '-y', 'remove'] + packages] + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.KERNEL]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint=hint, commands=commands), + reporting.RelatedResource('package', 'kernel-devel') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/tests/unit_test_checkinstalleddevelkernels.py b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/tests/unit_test_checkinstalleddevelkernels.py new file mode 100644 index 0000000..2586f24 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/kernel/checkinstalleddevelkernels/checkinstalleddevelkernels/tests/unit_test_checkinstalleddevelkernels.py @@ -0,0 +1,35 @@ +import pytest + +from leapp.models import InstalledRedHatSignedRPM, Report, RPM +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + +ballast1 = [ + RPM(name='b1', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='kernel', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='b2', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s') +] +ballast2 = [ + RPM(name='b3', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='kernel', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='b4', version='1', release='1', epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s') +] +devel_kernels = [ + RPM(name='kernel-devel', version='3.10.0', release='957.27.4.el7', + epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='kernel-devel', version='3.10.0', release='957.35.1.el7', + epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s'), + RPM(name='kernel-devel', version='3.10.0', release='957.43.1.el7', + epoch='1', packager=RH_PACKAGER, arch='noarch', pgpsig='s') +] + + +@pytest.mark.parametrize('n', [0, 1, 2, 3]) +def test_process_devel_kernels(current_actor_context, n): + current_actor_context.feed(InstalledRedHatSignedRPM(items=ballast1+devel_kernels[:n]+ballast2)) + current_actor_context.run() + if n < 2: + assert not current_actor_context.consume(Report) + else: + assert current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/migratebrltty/actor.py b/repos/system_upgrade/el7toel8/actors/migratebrltty/actor.py new file mode 100644 index 0000000..d97e538 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratebrltty/actor.py @@ -0,0 +1,39 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.actor import migratebrltty +from leapp.models import BrlttyMigrationDecision +from leapp.reporting import create_report, Report +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class MigrateBrltty(Actor): + """ + Migrate brltty configuration files. + """ + + name = 'migrate_brltty' + consumes = (BrlttyMigrationDecision,) + produces = (Report,) + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + for decision in self.consume(BrlttyMigrationDecision): + report_summary = '' + migratebrltty.migrate_file(decision.migrate_file, decision.migrate_bt, decision.migrate_espeak) + if decision.migrate_bt: + report_summary = 'Unsupported aliases for bluetooth devices (\'bth:\' and \'bluez:\') was ' + report_summary += 'renamed to \'bluetooth:\' in {}' + report_summary = report_summary.format(', '.join(decision.migrate_file)) + if decision.migrate_espeak: + if report_summary: + report_summary += '\n' + report_summary += 'eSpeak speech driver was switched to eSpeak-NG in {}' + report_summary = report_summary.format(', '.join(decision.migrate_file)) + if decision.migrate_bt or decision.migrate_espeak: + create_report([ + reporting.Title('brltty configuration files migrated'), + reporting.Summary(report_summary), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.TOOLS, reporting.Groups.ACCESSIBILITY]), + reporting.RelatedResource('package', 'brltty') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/migratebrltty/libraries/migratebrltty.py b/repos/system_upgrade/el7toel8/actors/migratebrltty/libraries/migratebrltty.py new file mode 100644 index 0000000..3c18a55 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratebrltty/libraries/migratebrltty.py @@ -0,0 +1,25 @@ +import re +import shutil + +BackupSuffix = '.bak' + + +def migrate_file(fn, migrate_bt, migrate_espeak): + # nothing to migrate + if not fn or (not migrate_bt and not migrate_espeak): + return + + # make backup + shutil.copy2(fn, fn + BackupSuffix) + + regex_bt = re.compile(r'\b(?:(?:bth)|(?:bluez))((?:[:\-][0-9a-fA-F]{2}){6})\b') + regex_espeak = re.compile(r'^(\s*speech-driver\s+)es\b') + + with open(fn, 'w') as file_out: + with open(fn + BackupSuffix) as file_in: + for line in file_in: + if migrate_bt and regex_bt.search(line): + line = regex_bt.sub(r'bluetooth\1', line) + elif migrate_espeak and regex_espeak.search(line): + line = regex_espeak.sub(r'\1en', line) + file_out.write(line) diff --git a/repos/system_upgrade/el7toel8/actors/migratebrltty/tests/component_test_migratebrltty.py b/repos/system_upgrade/el7toel8/actors/migratebrltty/tests/component_test_migratebrltty.py new file mode 100644 index 0000000..80532da --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratebrltty/tests/component_test_migratebrltty.py @@ -0,0 +1,29 @@ +import pytest +from six import text_type + +from leapp.models import BrlttyMigrationDecision + + +@pytest.mark.parametrize('test_input,expected,migrate_bt,migrate_espeak', [ + ('braille-device bth:AB-cd:ef:01:23:45\n', 'braille-device bluetooth:AB-cd:ef:01:23:45', True, False), + ('braille-device bluez:AB-cd:ef:01:23:45\n', 'braille-device bluetooth:AB-cd:ef:01:23:45', True, False), + ('speech-driver es\n', 'speech-driver en', False, True), + ('braille-device bth:AB-cd:ef:01:23:45\nbraille-device bluez:AB-cd:ef:01:23:45\nspeech-driver es\n', + 'braille-device bluetooth:AB-cd:ef:01:23:45\nbraille-device bluetooth:AB-cd:ef:01:23:45\nspeech-driver es', + True, False), + ('braille-device bth:AB-cd:ef:01:23:45\nbraille-device bluez:AB-cd:ef:01:23:45\nspeech-driver es\n', + 'braille-device bth:AB-cd:ef:01:23:45\nbraille-device bluez:AB-cd:ef:01:23:45\nspeech-driver en', False, True), + ('braille-device bth:AB-cd:ef:01:23:45\nbraille-device bluez:AB-cd:ef:01:23:45\nspeech-driver es\n', + 'braille-device bluetooth:AB-cd:ef:01:23:45\nbraille-device bluetooth:AB-cd:ef:01:23:45\nspeech-driver en', + True, True), +]) +def test_actor_migrate(tmpdir, test_input, expected, migrate_bt, migrate_espeak, current_actor_context): + brltty_conf = text_type(tmpdir.join('brltty.conf')) + with open(brltty_conf, 'w') as file_out: + file_out.write(test_input) + current_actor_context.feed(BrlttyMigrationDecision(migrate_file=brltty_conf, migrate_bt=migrate_bt, + migrate_espeak=migrate_espeak)) + current_actor_context.run() + with open(brltty_conf, 'r') as file_in: + data = file_in.read().strip() + assert expected == data diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/Makefile b/repos/system_upgrade/el7toel8/actors/migratentp/Makefile new file mode 100644 index 0000000..41c04a4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/Makefile @@ -0,0 +1,2 @@ +install-deps: + -yum install -y python-ipaddress diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/actor.py b/repos/system_upgrade/el7toel8/actors/migratentp/actor.py new file mode 100644 index 0000000..effd51d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor.migratentp import migrate_ntp +from leapp.models import NtpMigrationDecision, Report +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class MigrateNtp(Actor): + """ + Migrate ntp and/or ntpdate configuration to chrony. + """ + + name = 'migrate_ntp' + consumes = (NtpMigrationDecision,) + produces = (Report,) + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + for decision in self.consume(NtpMigrationDecision): + migrate_ntp(decision.migrate_services, decision.config_tgz64) diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/libraries/migratentp.py b/repos/system_upgrade/el7toel8/actors/migratentp/libraries/migratentp.py new file mode 100644 index 0000000..306ce09 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/libraries/migratentp.py @@ -0,0 +1,87 @@ +import base64 +import io +import tarfile + +from leapp.libraries.stdlib import api, CalledProcessError, run + + +def extract_tgz64(s): + stream = io.BytesIO(base64.b64decode(s)) + tar = tarfile.open(fileobj=stream, mode='r:gz') + tar.extractall('/') + tar.close() + + +def enable_service(name): + try: + run(['systemctl', 'enable', '{}.service'.format(name)]) + except CalledProcessError: + api.current_logger().error('Could not enable {} service'.format(name)) + + +def write_file(name, content): + with open(name, 'w') as f: + f.write(content) + + +def ntp2chrony(root, ntp_conf, step_tickers): + # need to skip these on pylint to avoid "function already defined" if we move to the top of file + from leapp.libraries.actor import ntp2chrony # pylint: disable=import-outside-toplevel + + try: + ntp_configuration = ntp2chrony.NtpConfiguration(root, ntp_conf, step_tickers) + ntp_configuration.write_chrony_configuration('/etc/chrony.conf', '/etc/chrony.keys', + False, True) + except OSError as e: + api.current_logger().error('ntp2chrony failed: {}'.format(e)) + return False, set() + + # Return ignored lines from ntp.conf, except 'disable monitor' from + # the default ntp.conf + return True, set(ntp_configuration.ignored_lines) - set(['disable monitor']) + + +def migrate_ntp(migrate_services, config_tgz64): + # Map of ntp->chrony services and flag if using configuration + service_map = {'ntpd': ('chronyd', True), + 'ntpdate': ('chronyd', True), + 'ntp-wait': ('chrony-wait', False)} + + # Minimal secure ntp.conf with no sources to migrate ntpdate only + no_sources_directives = ( + '# This file was created to migrate ntpdate configuration to chrony\n' + '# without ntp configuration (ntpd service was disabled)\n' + 'driftfile /var/lib/ntp/drift\n' + 'restrict default ignore nomodify notrap nopeer noquery\n') + + if not migrate_services: + # Nothing to migrate + return + + migrate_configs = [] + for service in migrate_services: + if service not in service_map: + api.current_logger().error('Unknown service {}'.format(service)) + continue + enable_service(service_map[service][0]) + if service_map[service][1]: + migrate_configs.append(service) + + # Unpack archive with configuration files + extract_tgz64(config_tgz64) + + if 'ntpd' in migrate_configs: + ntp_conf = '/etc/ntp.conf' + else: + ntp_conf = '/etc/ntp.conf.nosources' + write_file(ntp_conf, no_sources_directives) + + step_tickers = '/etc/ntp/step-tickers' if 'ntpdate' in migrate_configs else '' + + conf_migrated, ignored_lines = ntp2chrony('/', ntp_conf, step_tickers) + + if conf_migrated: + api.current_logger().info('Configuration files migrated to chrony: {}'.format(' '.join(migrate_configs))) + if ignored_lines: + api.current_logger().warning('Some lines in /etc/ntp.conf were ignored in migration' + ' (check /etc/chrony.conf)') diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/libraries/ntp2chrony.py b/repos/system_upgrade/el7toel8/actors/migratentp/libraries/ntp2chrony.py new file mode 100644 index 0000000..45ef5de --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/libraries/ntp2chrony.py @@ -0,0 +1,684 @@ +#!/usr/bin/python +# +# Convert ntp configuration to chrony +# +# Copyright (C) 2018-2019 Miroslav Lichvar +# +# 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. + + +from __future__ import print_function + +import argparse +import ipaddress +import logging +import os +import re +import subprocess +import sys + +import six + +# python2 compatibility hacks +if six.PY2: + from io import open + reload(sys) # pylint: disable=undefined-variable # noqa: F821 + sys.setdefaultencoding("utf-8") + + +class NtpConfiguration(object): + def __init__(self, root_dir, ntp_conf, step_tickers): + self.root_dir = root_dir if root_dir != "/" else "" + self.ntp_conf_path = ntp_conf + self.step_tickers_path = step_tickers + + # Read and write files using an 8-bit transparent encoding + self.file_encoding = "latin-1" + self.enabled_services = set() + self.step_tickers = [] + self.time_sources = [] + self.fudges = {} + self.restrictions = { + # Built-in defaults + ipaddress.ip_network(u"0.0.0.0/0"): set(), + ipaddress.ip_network(u"::/0"): set(), + } + self.keyfile = "" + self.keys = [] + self.trusted_keys = [] + self.driftfile = "" + self.statistics = [] + self.leapfile = "" + self.tos_options = {} + self.ignored_directives = set() + self.ignored_lines = [] + + # self.detect_enabled_services() + self.parse_step_tickers() + self.parse_ntp_conf() + + def detect_enabled_services(self): + for service in ["ntpdate", "ntpd", "ntp-wait"]: + service_path = os.path.join(self.root_dir, + "etc/systemd/system/multi-user.target.wants/{}.service".format(service)) + if os.path.islink(service_path): + self.enabled_services.add(service) + logging.info("Enabled services found in /etc/systemd/system: %s", + " ".join(self.enabled_services)) + + def parse_step_tickers(self): + if not self.step_tickers_path: + return + + path = os.path.join(self.root_dir, self.step_tickers_path) + if not os.path.isfile(path): + logging.info("Missing %s", path) + return + + with open(path, encoding=self.file_encoding) as f: + for line in f: + line = line[:line.find('#')] + + words = line.split() + + if not words: + continue + + self.step_tickers.extend(words) + + def parse_ntp_conf(self, path=None): + if path is None: + path = os.path.join(self.root_dir, self.ntp_conf_path) + + with open(path, encoding=self.file_encoding) as f: + logging.info("Reading %s", path) + + for line in f: + line = line[:line.find('#')] + + words = line.split() + + if not words: + continue + + if not self.parse_directive(words): + self.ignored_lines.append(line) + + def parse_directive(self, words): + res = True + name = words.pop(0) + if name.startswith("logconfig"): + name = "logconfig" + + if words: + if name in ["server", "peer", "pool"]: + res = self.parse_source(name, words) + elif name == "fudge": + res = self.parse_fudge(words) + elif name == "restrict": + res = self.parse_restrict(words) + elif name == "tos": + res = self.parse_tos(words) + elif name == "includefile": + res = self.parse_includefile(words) + elif name == "keys": + res = self.parse_keys(words) + elif name == "trustedkey": + res = self.parse_trustedkey(words) + elif name == "driftfile": + self.driftfile = words[0] + elif name == "statistics": + self.statistics = words + elif name == "leapfile": + self.leapfile = words[0] + else: + self.ignored_directives.add(name) + res = False + else: + self.ignored_directives.add(name) + res = False + + return res + + def parse_source(self, source_type, words): + ipv4_only = False + ipv6_only = False + source = { + "type": source_type, + "options": [] + } + + if words[0] == "-4": + ipv4_only = True + words.pop(0) + elif words[0] == "-6": + ipv6_only = True + words.pop(0) + + if not words: + return False + + source["address"] = words.pop(0) + + # Check if -4/-6 corresponds to the address and ignore hostnames + if ipv4_only or ipv6_only: + try: + version = ipaddress.ip_address(source["address"]).version + if (ipv4_only and version != 4) or (ipv6_only and version != 6): + return False + except ValueError: + return False + + if source["address"].startswith("127.127."): + if not source["address"].startswith("127.127.1."): + # Ignore non-LOCAL refclocks + return False + + while words: + if len(words) >= 2 and words[0] in ["minpoll", "maxpoll", "version", "key"]: + source["options"].append((words[0], words[1])) + words = words[2:] + elif words[0] in ["burst", "iburst", "noselect", "prefer", "true", "xleave"]: + source["options"].append((words[0],)) + words.pop(0) + else: + return False + + self.time_sources.append(source) + return True + + def parse_fudge(self, words): + address = words.pop(0) + options = {} + + while words: + if len(words) >= 2 and words[0] in ["stratum"]: + if not words[1].isdigit(): + return False + options[words[0]] = int(words[1]) + words = words[2:] + elif len(words) >= 2: + words = words[2:] + else: + return False + + self.fudges[address] = options + return True + + def parse_restrict(self, words): + ipv4_only = False + ipv6_only = False + flags = set() + mask = "" + + if words[0] == "-4": + ipv4_only = True + words.pop(0) + elif words[0] == "-6": + ipv6_only = True + words.pop(0) + + if not words: + return False + + address = words.pop(0) + + while words: + if len(words) >= 2 and words[0] == "mask": + mask = words[1] + words = words[2:] + else: + if words[0] not in ["kod", "nomodify", "notrap", "nopeer", "noquery", + "limited", "ignore", "noserve"]: + return False + flags.add(words[0]) + words.pop(0) + + # Convert to IP network(s), ignoring restrictions with hostnames + networks = [] + if address == "default" and not mask: + if not ipv6_only: + networks.append(ipaddress.ip_network(u"0.0.0.0/0")) + if not ipv4_only: + networks.append(ipaddress.ip_network(u"::/0")) + else: + try: + if mask: + # Count bits in the mask (ipaddress does not support + # expanded IPv6 netmasks) + mask_ip = ipaddress.ip_address(mask) + mask_str = "{0:0{1}b}".format(int(mask_ip), mask_ip.max_prefixlen) + networks.append(ipaddress.ip_network( + u"{}/{}".format(address, len(mask_str.rstrip('0'))))) + else: + networks.append(ipaddress.ip_network(address)) + except ValueError: + return False + + if (ipv4_only and networks[-1].version != 4) or \ + (ipv6_only and networks[-1].version != 6): + return False + + for network in networks: + self.restrictions[network] = flags + + return True + + def parse_tos(self, words): + options = {} + while words: + if len(words) >= 2 and words[0] in ["minsane", "orphan"]: + if not words[1].isdigit(): + return False + options[words[0]] = int(words[1]) + words = words[2:] + elif len(words) >= 2 and words[0] in ["maxdist"]: + # Check if it is a float value + if not words[1].replace('.', '', 1).isdigit(): + return False + options[words[0]] = float(words[1]) + words = words[2:] + else: + return False + + self.tos_options.update(options) + + return True + + def parse_includefile(self, words): + path = os.path.join(self.root_dir, words[0]) + if not os.path.isfile(path): + return False + + self.parse_ntp_conf(path) + return True + + def parse_keys(self, words): + keyfile = words[0] + path = os.path.join(self.root_dir, keyfile) + if not os.path.isfile(path): + logging.info("Missing %s", path) + return False + + with open(path, encoding=self.file_encoding) as f: + logging.info("Reading %s", path) + keys = [] + for line in f: + words = line.split() + if len(words) < 3 or not words[0].isdigit(): + continue + keys.append((int(words[0]), words[1], words[2])) + + self.keyfile = keyfile + self.keys = keys + + return True + + def parse_trustedkey(self, words): + key_ranges = [] + for word in words: + if word.isdigit(): + key_ranges.append((int(word), int(word))) + elif re.match("^[0-9]+-[0-9]+$", word): + first, last = word.split("-") + key_ranges.append((int(first), int(last))) + else: + return False + + self.trusted_keys = key_ranges + return True + + def write_chrony_configuration(self, chrony_conf_path, chrony_keys_path, + dry_run=False, backup=False): + chrony_conf = self.get_chrony_conf(chrony_keys_path) + logging.debug("Generated %s:\n%s", chrony_conf_path, chrony_conf) + + if not dry_run: + self.write_file(chrony_conf_path, 0o644, chrony_conf, backup) + + chrony_keys = self.get_chrony_keys() + if chrony_keys: + logging.debug("Generated %s:\n%s", chrony_keys_path, chrony_keys) + + if not dry_run: + self.write_file(chrony_keys_path, 0o640, chrony_keys, backup) + + def get_processed_time_sources(self): + # Convert {0,1,2,3}.*pool.ntp.org servers to 2.*pool.ntp.org pools + + # Make shallow copies of all sources (only type will be modified) + time_sources = [s.copy() for s in self.time_sources] + + pools = {} + for source in time_sources: + if source["type"] != "server": + continue + m = re.match("^([0123])(\\.\\w+)?\\.pool\\.ntp\\.org$", source["address"]) + if m is None: + continue + number = m.group(1) + zone = m.group(2) + if zone not in pools: + pools[zone] = [] + pools[zone].append((int(number), source)) + + remove_servers = set() + for zone, pool in pools.items(): + # sort and skip all pools not in [0, 3] range + pool.sort() + if [num for num, source in pool] != [0, 1, 2, 3]: + # only exact group of 4 servers can be converted, nothing to do here + continue + # verify that parameters are the same for all servers in the pool + if not all([p[1]["options"] == pool[0][1]["options"] for p in pool]): + break + remove_servers.update([pool[i][1]["address"] for i in [0, 1, 3]]) + pool[2][1]["type"] = "pool" + + processed_sources = [] + for source in time_sources: + if source["type"] == "server" and source["address"] in remove_servers: + continue + processed_sources.append(source) + return processed_sources + + def get_chrony_conf_sources(self): + conf = "" + + if self.step_tickers: + conf += "# Specify NTP servers used for initial correction.\n" + conf += "initstepslew 0.1 {}\n".format(" ".join(self.step_tickers)) + conf += "\n" + + conf += "# Specify time sources.\n" + + for source in self.get_processed_time_sources(): + address = source["address"] + if address.startswith("127.127."): + if address.startswith("127.127.1."): + continue + # No other refclocks are expected from the parser + assert False + else: + conf += "{} {}".format(source["type"], address) + for option in source["options"]: + if option[0] in ["minpoll", "maxpoll", "version", "key", + "iburst", "noselect", "prefer", "xleave"]: + conf += " {}".format(" ".join(option)) + elif option[0] == "burst": + conf += " presend 6" + elif option[0] == "true": + conf += " trust" + else: + # No other options are expected from the parser + assert False + conf += "\n" + conf += "\n" + + return conf + + def get_chrony_conf_allows(self): + allowed_networks = [n for n in self.restrictions + if "ignore" not in self.restrictions[n] and "noserve" not in self.restrictions[n]] + + conf = "" + for network in sorted(allowed_networks, key=lambda n: (n.version, n)): + if network.num_addresses > 1: + conf += "allow {}\n".format(network) + else: + conf += "allow {}\n".format(network.network_address) + + if conf: + conf = "# Allow NTP client access.\n" + conf + conf += "\n" + + return conf + + def get_chrony_conf_cmdallows(self): + + def _is_network_allowed(network): + return ("ignore" not in self.restrictions[network] and "noquery" not in self.restrictions[network] and + network != ipaddress.ip_network(u"127.0.0.1/32") and network != ipaddress.ip_network(u"::1/128")) + + allowed_networks = [n for n in self.restrictions if _is_network_allowed(n)] + + ip_versions = set() + conf = "" + for network in sorted(allowed_networks, key=lambda n: (n.version, n)): + ip_versions.add(network.version) + if network.num_addresses > 1: + conf += "cmdallow {}\n".format(network) + else: + conf += "cmdallow {}\n".format(network.network_address) + + if conf: + conf = "# Allow remote monitoring.\n" + conf + if 4 in ip_versions: + conf += "bindcmdaddress 0.0.0.0\n" + if 6 in ip_versions: + conf += "bindcmdaddress ::\n" + conf += "\n" + + return conf + + def get_chrony_conf(self, chrony_keys_path): + local_stratum = 0 + maxdistance = 0.0 + minsources = 1 + orphan_stratum = 0 + logs = [] + + for source in self.time_sources: + address = source["address"] + if address.startswith("127.127.1."): + if address in self.fudges and "stratum" in self.fudges[address]: + local_stratum = self.fudges[address]["stratum"] + else: + local_stratum = 5 + + if "maxdist" in self.tos_options: + maxdistance = self.tos_options["maxdist"] + if "minsane" in self.tos_options: + minsources = self.tos_options["minsane"] + if "orphan" in self.tos_options: + orphan_stratum = self.tos_options["orphan"] + + if "clockstats" in self.statistics: + logs.append("refclocks") + if "loopstats" in self.statistics: + logs.append("tracking") + if "peerstats" in self.statistics: + logs.append("statistics") + if "rawstats" in self.statistics: + logs.append("measurements") + + conf = "# This file was converted from {}{}.\n".format( + self.ntp_conf_path, + " and " + self.step_tickers_path if self.step_tickers_path else "") + conf += "\n" + + if self.ignored_lines: + conf += "# The following directives were ignored in the conversion:\n" + + for line in self.ignored_lines: + # Remove sensitive information + line = re.sub(r"\s+pw\s+\S+", " pw XXX", line.rstrip()) + conf += "# " + line + "\n" + conf += "\n" + + conf += self.get_chrony_conf_sources() + + conf += "# Record the rate at which the system clock gains/losses time.\n" + if not self.driftfile: + conf += "#" + conf += "driftfile /var/lib/chrony/drift\n" + conf += "\n" + + conf += "# Allow the system clock to be stepped in the first three updates\n" + conf += "# if its offset is larger than 1 second.\n" + conf += "makestep 1.0 3\n" + conf += "\n" + + conf += "# Enable kernel synchronization of the real-time clock (RTC).\n" + conf += "rtcsync\n" + conf += "\n" + + conf += "# Enable hardware timestamping on all interfaces that support it.\n" + conf += "#hwtimestamp *\n" + conf += "\n" + + if maxdistance > 0.0: + conf += "# Specify the maximum distance of sources to be selectable.\n" + conf += "maxdistance {}\n".format(maxdistance) + conf += "\n" + + conf += "# Increase the minimum number of selectable sources required to adjust\n" + conf += "# the system clock.\n" + if minsources > 1: + conf += "minsources {}\n".format(minsources) + else: + conf += "#minsources 2\n" + conf += "\n" + + conf += self.get_chrony_conf_allows() + + conf += self.get_chrony_conf_cmdallows() + + conf += "# Serve time even if not synchronized to a time source.\n" + if 0 < orphan_stratum < 16: + conf += "local stratum {} orphan\n".format(orphan_stratum) + elif 0 < local_stratum < 16: + conf += "local stratum {}\n".format(local_stratum) + else: + conf += "#local stratum 10\n" + conf += "\n" + + conf += "# Specify file containing keys for NTP authentication.\n" + conf += "keyfile {}\n".format(chrony_keys_path) + conf += "\n" + + conf += "# Get TAI-UTC offset and leap seconds from the system tz database.\n" + conf += "leapsectz right/UTC\n" + conf += "\n" + + conf += "# Specify directory for log files.\n" + conf += "logdir /var/log/chrony\n" + conf += "\n" + + conf += "# Select which information is logged.\n" + if logs: + conf += "log {}\n".format(" ".join(logs)) + else: + conf += "#log measurements statistics tracking\n" + + return conf + + def get_chrony_keys(self): + if not self.keyfile: + return "" + + keys = "# This file was converted from {}.\n".format(self.keyfile) + keys += "\n" + + for key in self.keys: + key_id = key[0] + key_type = key[1] + password = key[2] + + if key_type in ["m", "M"]: + key_type = "MD5" + elif key_type not in ["MD5", "SHA1", "SHA256", "SHA384", "SHA512"]: + continue + + prefix = "ASCII" if len(password) <= 20 else "HEX" + + for first, last in self.trusted_keys: + if first <= key_id <= last: + trusted = True + break + else: + trusted = False + + # Disable keys that were not marked as trusted + if not trusted: + keys += "#" + + keys += "{key_id} {key_type} {prefix}:{password}\n".format( + key_id=key_id, key_type=key_type, prefix=prefix, password=password) + + return keys + + def write_file(self, path, mode, content, backup): + path = self.root_dir + path + if backup and os.path.isfile(path): + os.rename(path, path + ".old") + + with open(os.open(path, os.O_CREAT | os.O_WRONLY | os.O_EXCL, mode), "w", + encoding=self.file_encoding) as f: + logging.info("Writing %s", path) + f.write(u"" + content) + + # Fix SELinux context if restorecon is installed + try: + subprocess.call(["restorecon", path]) + except OSError: + pass + + +def main(): + parser = argparse.ArgumentParser(description="Convert ntp configuration to chrony.") + parser.add_argument("-r", "--root", dest="roots", default=["/"], nargs="+", + metavar="DIR", help="specify root directory (default /)") + parser.add_argument("--ntp-conf", action="store", default="/etc/ntp.conf", + metavar="FILE", help="specify ntp config (default /etc/ntp.conf)") + parser.add_argument("--step-tickers", action="store", default="", + metavar="FILE", help="specify ntpdate step-tickers config (no default)") + parser.add_argument("--chrony-conf", action="store", default="/etc/chrony.conf", + metavar="FILE", help="specify chrony config (default /etc/chrony.conf)") + parser.add_argument("--chrony-keys", action="store", default="/etc/chrony.keys", + metavar="FILE", help="specify chrony keyfile (default /etc/chrony.keys)") + parser.add_argument("-b", "--backup", action="store_true", help="backup existing configs before writing") + parser.add_argument("-L", "--ignored-lines", action="store_true", help="print ignored lines") + parser.add_argument("-D", "--ignored-directives", action="store_true", + help="print names of ignored directives") + parser.add_argument("-n", "--dry-run", action="store_true", help="don't make any changes") + parser.add_argument("-v", "--verbose", action="count", default=0, help="increase verbosity") + + args = parser.parse_args() + + logging.basicConfig(format="%(message)s", + level=[logging.ERROR, logging.INFO, logging.DEBUG][min(args.verbose, 2)]) + + for root in args.roots: + conf = NtpConfiguration(root, args.ntp_conf, args.step_tickers) + + if args.ignored_lines: + for line in conf.ignored_lines: + print(line) + + if args.ignored_directives: + for directive in conf.ignored_directives: + print(directive) + + conf.write_chrony_configuration(args.chrony_conf, args.chrony_keys, args.dry_run, args.backup) + + +if __name__ == "__main__": + main() diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/1_chrony.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/1_chrony.conf new file mode 100644 index 0000000..e60ba6f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/1_chrony.conf @@ -0,0 +1,47 @@ +# This file was converted from tests/data/ntpconfs/1_ntp.conf. + +# Specify time sources. +server ntpserver + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access. +allow 0.0.0.0/0 +allow 127.0.0.1 +allow ::/0 + +# Allow remote monitoring. +cmdallow 0.0.0.0/0 +cmdallow ::/0 +bindcmdaddress 0.0.0.0 +bindcmdaddress :: + +# Serve time even if not synchronized to a time source. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +keyfile data/chronyconfs/1_chrony.keys + +# Get TAI-UTC offset and leap seconds from the system tz database. +leapsectz right/UTC + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/2_chrony.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/2_chrony.conf new file mode 100644 index 0000000..577ffcf --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/2_chrony.conf @@ -0,0 +1,46 @@ +# This file was converted from tests/data/ntpconfs/2_ntp.conf. + +# Specify time sources. +server 0.rhel.pool.ntp.org +server 1.rhel.pool.ntp.org +server 2.rhel.pool.ntp.org +server 172.18.242.69 prefer +server 172.18.242.71 prefer + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access. +allow 0.0.0.0/0 +allow 127.0.0.1 +allow ::/0 +allow ::1 + +# Serve time even if not synchronized to a time source. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +keyfile data/chronyconfs/2_chrony.keys + +# Get TAI-UTC offset and leap seconds from the system tz database. +leapsectz right/UTC + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/2_chrony.keys b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/2_chrony.keys new file mode 100644 index 0000000..52c6ac2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/2_chrony.keys @@ -0,0 +1,3 @@ +#42 MD5 HEX:SorryForInconvenience +#22 MD5 ASCII:Catch +#2702 MD5 HEX:LavenderRose diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/3_chrony.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/3_chrony.conf new file mode 100644 index 0000000..232bd88 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/3_chrony.conf @@ -0,0 +1,49 @@ +# This file was converted from tests/data/ntpconfs/3_ntp.conf. + +# Specify time sources. +server 0.rhel.pool.ntp.org +server 1.rhel.pool.ntp.org +server 2.rhel.pool.ntp.org +server 0.rhel.pool.ntp.org +server 1.rhel.pool.ntp.org +server 2.rhel.pool.ntp.org +server 172.18.242.69 prefer +server 172.18.242.71 prefer + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access. +allow 0.0.0.0/0 +allow 127.0.0.1 +allow ::/0 +allow ::1 + +# Serve time even if not synchronized to a time source. +local stratum 10 + +# Specify file containing keys for NTP authentication. +keyfile data/chronyconfs/3_chrony.keys + +# Get TAI-UTC offset and leap seconds from the system tz database. +leapsectz right/UTC + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/3_chrony.keys b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/3_chrony.keys new file mode 100644 index 0000000..26c4c16 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/3_chrony.keys @@ -0,0 +1 @@ +42 MD5 HEX:MarvinTheDepressiveAndroid diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/4_chrony.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/4_chrony.conf new file mode 100644 index 0000000..34c79b9 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/4_chrony.conf @@ -0,0 +1,49 @@ +# This file was converted from tests/data/ntpconfs/4_ntp.conf. + +# Specify time sources. +pool 2.pool.ntp.org +pool 2.rhel.pool.ntp.org +server 42.rhel.pool.ntp.org + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access. +allow 0.0.0.0/0 +allow 127.0.0.1 +allow 2001:db8:1234::1234 +allow 2001:db8:5670::/44 + +# Allow remote monitoring. +cmdallow 192.168.8.5 +cmdallow 192.168.10.0/24 +bindcmdaddress 0.0.0.0 + +# Serve time even if not synchronized to a time source. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +keyfile data/chronyconfs/4_chrony.keys + +# Get TAI-UTC offset and leap seconds from the system tz database. +leapsectz right/UTC + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/5_chrony.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/5_chrony.conf new file mode 100644 index 0000000..25d1caf --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/5_chrony.conf @@ -0,0 +1,48 @@ +# This file was converted from tests/data/ntpconfs/5_ntp.conf. + +# Specify time sources. +pool 2.pool.ntp.org +peer 0.pool.ntp.org + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access. +allow 0.0.0.0/0 +allow 127.0.0.1 +allow ::/0 + +# Allow remote monitoring. +cmdallow 0.0.0.0/0 +cmdallow ::/0 +bindcmdaddress 0.0.0.0 +bindcmdaddress :: + +# Serve time even if not synchronized to a time source. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +keyfile data/chronyconfs/5_chrony.keys + +# Get TAI-UTC offset and leap seconds from the system tz database. +leapsectz right/UTC + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/6_chrony.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/6_chrony.conf new file mode 100644 index 0000000..440ee33 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/6_chrony.conf @@ -0,0 +1,51 @@ +# This file was converted from tests/data/ntpconfs/6_ntp.conf. + +# The following directives were ignored in the conversion: +# server 127.127.8.1 mode 2 minpoll 3 maxpoll 3 noselect +# server 127.127.8.0 mode 5 minpoll 6 maxpoll 6 noselect +# server 127.127.20.0 mode 80 minpoll 3 maxpoll 3 prefer +# server 127.127.28.2 mode 1 + +# Specify time sources. + +# Record the rate at which the system clock gains/losses time. +#driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access. +allow 0.0.0.0/0 +allow ::/0 + +# Allow remote monitoring. +cmdallow 0.0.0.0/0 +cmdallow ::/0 +bindcmdaddress 0.0.0.0 +bindcmdaddress :: + +# Serve time even if not synchronized to a time source. +local stratum 5 + +# Specify file containing keys for NTP authentication. +keyfile data/chronyconfs/6_chrony.keys + +# Get TAI-UTC offset and leap seconds from the system tz database. +leapsectz right/UTC + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/7_chrony.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/7_chrony.conf new file mode 100644 index 0000000..a0aebaa --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/chronyconfs/7_chrony.conf @@ -0,0 +1,50 @@ +# This file was converted from tests/data/ntpconfs/7_ntp.conf. + +# The following directives were ignored in the conversion: +# server 192.168.1.3 nosuchoption + +# Specify time sources. +server 192.168.1.1 minpoll 3 maxpoll 12 iburst presend 6 +server 192.168.1.2 noselect prefer trust xleave + +# Record the rate at which the system clock gains/losses time. +#driftfile /var/lib/chrony/drift + +# Allow the system clock to be stepped in the first three updates +# if its offset is larger than 1 second. +makestep 1.0 3 + +# Enable kernel synchronization of the real-time clock (RTC). +rtcsync + +# Enable hardware timestamping on all interfaces that support it. +#hwtimestamp * + +# Increase the minimum number of selectable sources required to adjust +# the system clock. +#minsources 2 + +# Allow NTP client access. +allow 0.0.0.0/0 +allow ::/0 + +# Allow remote monitoring. +cmdallow 0.0.0.0/0 +cmdallow ::/0 +bindcmdaddress 0.0.0.0 +bindcmdaddress :: + +# Serve time even if not synchronized to a time source. +#local stratum 10 + +# Specify file containing keys for NTP authentication. +keyfile data/chronyconfs/7_chrony.keys + +# Get TAI-UTC offset and leap seconds from the system tz database. +leapsectz right/UTC + +# Specify directory for log files. +logdir /var/log/chrony + +# Select which information is logged. +#log measurements statistics tracking diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntp.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntp.conf new file mode 100644 index 0000000..982ab51 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntp.conf @@ -0,0 +1,45 @@ +################################################################################ +## /etc/ntp.conf +## +## Sample NTP configuration file for basic unit tests. +## It's main purpose is to check ntp config parsing and minimal conversion. +## For real-world like scenarios another set of configs will be used. +## +## +################################################################################ + + +# By default, exchange time with everybody, but don't allow configuration. +restrict -4 default notrap nomodify nopeer noquery +restrict -6 default notrap nomodify nopeer noquery + +# Local users may interrogate the ntp server more closely. +restrict 127.0.0.1 +restrict ::1 + +# Clients from this (example!) subnet have unlimited access, but only if +# cryptographically authenticated. +#restrict 192.168.123.0 mask 255.255.255.0 notrust + +## +## Miscellaneous stuff +## + +driftfile /var/lib/ntp/drift/ntp.drift # path for drift file + +logfile /var/log/ntp # alternate log file +# logconfig =syncstatus + sysevents +# logconfig =all + +# statsdir /var/log/ntpstats/ # directory for statistics files +# filegen peerstats file peerstats type day enable +# filegen loopstats file loopstats type day enable +# filegen clockstats file clockstats type day enable + +# +# Authentication stuff +# +keys data/ntp.keys # path for keys file +trustedkey 42 # define trusted keys +requestkey 22 # key (7) for accessing server variables +controlkey 22 # key (6) for accessing server variables diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntp.keys b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntp.keys new file mode 100644 index 0000000..4eec33d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntp.keys @@ -0,0 +1,3 @@ +22 M Catch +42 M SorryForInconvenience +2702 M LavenderRose diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/1_ntp.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/1_ntp.conf new file mode 100644 index 0000000..2216178 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/1_ntp.conf @@ -0,0 +1,4 @@ +restrict 127.0.0.1 +restrict default kod nomodify notrap +driftfile /var/lib/ntp/drift +server ntpserver diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/2_ntp.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/2_ntp.conf new file mode 100644 index 0000000..3879396 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/2_ntp.conf @@ -0,0 +1,54 @@ +# For more information about this file, see the man pages +# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). + +driftfile /var/lib/ntp/drift + +# Permit time synchronization with our time source, but do not +# permit the source to query or modify the service on this system. +restrict default kod nomodify notrap nopeer noquery +restrict -6 default kod nomodify notrap nopeer noquery + +# Permit all access over the loopback interface. This could +# be tightened as well, but to do so would effect some of +# the administrative functions. +restrict 127.0.0.1 +restrict -6 ::1 + +# Hosts on local network are less restricted. +#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap + +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +server 0.rhel.pool.ntp.org +server 1.rhel.pool.ntp.org +server 2.rhel.pool.ntp.org + +#broadcast 192.168.1.255 autokey # broadcast server +#broadcastclient # broadcast client +#broadcast 224.0.1.1 autokey # multicast server +#multicastclient 224.0.1.1 # multicast client +#manycastserver 239.255.254.254 # manycast server +#manycastclient 239.255.254.254 autokey # manycast client + +# Undisciplined Local Clock. This is a fake driver intended for backup +# and when no outside source of synchronized time is available. +#server 127.127.1.0 # local clock +#fudge 127.127.1.0 stratum 10 + +# Key file containing the keys and key identifiers used when operating +# with symmetric key cryptography. +keys data/ntpconfs/2_ntp.keys + +# Specify the key identifiers which are trusted. +#trustedkey 4 8 42 + +# Specify the key identifier to use with the ntpdc utility. +#requestkey 8 + +# Specify the key identifier to use with the ntpq utility. +#controlkey 8 + +# Enable writing of statistics records. +#statistics clockstats cryptostats loopstats peerstats +server 172.18.242.69 prefer +server 172.18.242.71 prefer diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/2_ntp.keys b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/2_ntp.keys new file mode 100644 index 0000000..ad9058b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/2_ntp.keys @@ -0,0 +1,3 @@ +42 M SorryForInconvenience +22 M Catch +2702 M LavenderRose diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.conf new file mode 100755 index 0000000..3c9bbcc --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.conf @@ -0,0 +1,59 @@ +# For more information about this file, see the man pages +# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). + +driftfile /var/lib/ntp/drift + +# Permit time synchronization with our time source, but do not +# permit the source to query or modify the service on this system. +restrict default kod nomodify notrap nopeer noquery +restrict -6 default kod nomodify notrap nopeer noquery + +# Permit all access over the loopback interface. This could +# be tightened as well, but to do so would effect some of +# the administrative functions. +restrict 127.0.0.1 +restrict -6 ::1 + +# Hosts on local network are less restricted. +#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap + +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +server 0.rhel.pool.ntp.org +server 1.rhel.pool.ntp.org +server 2.rhel.pool.ntp.org + +#broadcast 192.168.1.255 autokey # broadcast server +#broadcastclient # broadcast client +#broadcast 224.0.1.1 autokey # multicast server +#multicastclient 224.0.1.1 # multicast client +#manycastserver 239.255.254.254 # manycast server +#manycastclient 239.255.254.254 autokey # manycast client + +# Undisciplined Local Clock. This is a fake driver intended for backup +# and when no outside source of synchronized time is available. +#server 127.127.1.0 # local clock +#fudge 127.127.1.0 stratum 10 + +# Enable public key cryptography. +#crypto + +includefile data/ntpconfs/3_ntp.includefile + +# Key file containing the keys and key identifiers used when operating +# with symmetric key cryptography. +# keys tests/data/ntpconfs/3_ntp.keys + +# Specify the key identifiers which are trusted. +# trustedkey 42 + +# Specify the key identifier to use with the ntpdc utility. +#requestkey 8 + +# Specify the key identifier to use with the ntpq utility. +#controlkey 8 + +# Enable writing of statistics records. +#statistics clockstats cryptostats loopstats peerstats +server 172.18.242.69 prefer +server 172.18.242.71 prefer diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.includefile b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.includefile new file mode 100644 index 0000000..07c57f6 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.includefile @@ -0,0 +1,50 @@ +# Permit time synchronization with our time source, but do not +# permit the source to query or modify the service on this system. +restrict default kod nomodify notrap nopeer noquery +restrict -6 default kod nomodify notrap nopeer noquery + +# Permit all access over the loopback interface. This could +# be tightened as well, but to do so would effect some of +# the administrative functions. +restrict 127.0.0.1 +restrict -6 ::1 + +# Hosts on local network are less restricted. +#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap + +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +server 0.rhel.pool.ntp.org +server 1.rhel.pool.ntp.org +server 2.rhel.pool.ntp.org + +#broadcast 192.168.1.255 key 42 # broadcast server +#broadcastclient # broadcast client +#broadcast 224.0.1.1 key 42 # multicast server +#multicastclient 224.0.1.1 # multicast client +#manycastserver 239.255.254.254 # manycast server +#manycastclient 239.255.254.254 key 42 # manycast client + +# Undisciplined Local Clock. This is a fake driver intended for backup +# and when no outside source of synchronized time is available. +server 127.127.1.0 # local clock +fudge 127.127.1.0 stratum 10 + +# Drift file. Put this in a directory which the daemon can write to. +# No symbolic links allowed, either, since the daemon updates the file +# by creating a temporary in the same directory and then rename()'ing +# it to the file. +driftfile /var/lib/ntp/drift + +# Key file containing the keys and key identifiers used when operating +# with symmetric key cryptography. +keys data/ntpconfs/3_ntp.keys + +# Specify the key identifiers which are trusted. +trustedkey 42 + +# Specify the key identifier to use with the ntpdc utility. +#requestkey 8 + +# Specify the key identifier to use with the ntpq utility. +#controlkey 8 diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.keys b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.keys new file mode 100644 index 0000000..4db44e2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/3_ntp.keys @@ -0,0 +1 @@ +42 M MarvinTheDepressiveAndroid diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/4_ntp.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/4_ntp.conf new file mode 100644 index 0000000..9fed82f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/4_ntp.conf @@ -0,0 +1,20 @@ +restrict 127.0.0.1 +restrict default kod nomodify notrap noserve noquery +restrict 192.168.8.5 noserve +restrict 192.168.10.0 mask 255.255.255.0 noserve +restrict 0.0.0.0 mask 0.0.0.0 noquery +restrict 2001:db8:1234::1234 noquery +restrict 2001:db8:5670:: mask ffff:ffff:fff0:: noquery +driftfile /var/lib/ntp/drift + +# Use public servers from the pool.ntp.org project. +# Please consider joining the pool (http://www.pool.ntp.org/join.html). +server 0.pool.ntp.org +server 1.pool.ntp.org +server 2.pool.ntp.org +server 3.pool.ntp.org +server 0.rhel.pool.ntp.org +server 1.rhel.pool.ntp.org +server 2.rhel.pool.ntp.org +server 3.rhel.pool.ntp.org +server 42.rhel.pool.ntp.org diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/5_ntp.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/5_ntp.conf new file mode 100644 index 0000000..dc9d47e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/5_ntp.conf @@ -0,0 +1,9 @@ +restrict 127.0.0.1 +restrict default kod nomodify notrap +driftfile /var/lib/ntp/drift + +server 0.pool.ntp.org +server 1.pool.ntp.org +server 2.pool.ntp.org +server 3.pool.ntp.org +peer 0.pool.ntp.org diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/6_ntp.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/6_ntp.conf new file mode 100644 index 0000000..8ce28d7 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/6_ntp.conf @@ -0,0 +1,8 @@ +server 127.127.1.0 minpoll 4 maxpoll 4 +fudge 127.127.1.0 stratum 5 +server 127.127.8.1 mode 2 minpoll 3 maxpoll 3 noselect +server 127.127.8.0 mode 5 minpoll 6 maxpoll 6 noselect +fudge 127.127.8.0 time1 0.03 +server 127.127.20.0 mode 80 minpoll 3 maxpoll 3 prefer +fudge 127.127.20.0 flag1 1 time2 0.5 +server 127.127.28.2 mode 1 diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/7_ntp.conf b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/7_ntp.conf new file mode 100644 index 0000000..5ecd877 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/ntpconfs/7_ntp.conf @@ -0,0 +1,3 @@ +server 192.168.1.1 minpoll 3 maxpoll 12 iburst burst +server 192.168.1.2 noselect prefer true xleave +server 192.168.1.3 nosuchoption diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/step_tickers b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/step_tickers new file mode 100644 index 0000000..df9498e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/data/step_tickers @@ -0,0 +1,3 @@ +0.sample.pool.ntp.org +1.sample.pool.ntp.org +2.sample.pool.ntp.org diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/test_converter_migratentp.py b/repos/system_upgrade/el7toel8/actors/migratentp/tests/test_converter_migratentp.py new file mode 100644 index 0000000..8974888 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/test_converter_migratentp.py @@ -0,0 +1,88 @@ +import os + +import pytest + +from leapp.libraries.actor import ntp2chrony + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + +NTP_CONF = os.path.join(CUR_DIR, "data/ntp.conf") +STEP_TICKERS = os.path.join(CUR_DIR, "data/step_tickers") + +# TODO [Artem] the following consts should use abs path as well. +# reader of [[:digit:]]chrony.conf files does not support wildcards, so we +# have to change the working directory here for now. +NTP_MATCH_DIR = "data/ntpconfs/" +CHRONY_MATCH_DIR = "data/chronyconfs/" + + +@pytest.fixture +def adjust_cwd(): + previous_cwd = os.getcwd() + os.chdir(CUR_DIR) + yield + os.chdir(previous_cwd) + + +class TestConverter(object): + def test_basic(self): + config = ntp2chrony.NtpConfiguration(CUR_DIR, NTP_CONF, step_tickers=STEP_TICKERS) + present = [config.restrictions, config.driftfile, config.trusted_keys, config.keys, + config.step_tickers, config.restrictions] + for section in present: + assert section + chrony_conf = config.get_chrony_conf('/etc/chrony.keys') + # additional verification section by section for each param in present? + + # verify step_tickers -> initstepslew + initstepslew_line = next((l for l in chrony_conf.split('\n') + if l.startswith('initstepslew')), None) + assert initstepslew_line and initstepslew_line.endswith(' '.join(config.step_tickers)) + chrony_keys = config.get_chrony_keys() + # verify keys generation + for num, _, key in config.keys: + expected = ('%(num)s MD5 %(key)s' % + {'key': 'HEX:' if len(key) > 20 else 'ASCII:' + key, 'num': num}) + # keys not from trusted keys are commented out by default + if not any(num in range(x, y + 1) for (x, y) in config.trusted_keys): + expected = '#' + expected + assert expected in chrony_keys + + +class TestConfigConversion(object): + def _do_match(self, expected_file, actual): + expected_lines = [] + actual_lines = [] + with open(expected_file) as f: + expected_lines = [l.strip() for l in f.readlines() + if l.strip() and not l.strip().startswith('#')] + actual_lines = [l.strip() for l in actual.split('\n') + if l.strip() and not l.strip().startswith('#')] + assert expected_lines == actual_lines + + def _check_existance(self, fname, default=''): + if os.path.exists(fname): + return fname + return default + + def test_match(self, adjust_cwd): + + for f in [fe for fe in os.listdir(NTP_MATCH_DIR) if fe.endswith('conf')]: + # get recorded actual result + num = f.split('.')[0].split('_')[0] + ntp_conf = os.path.join(NTP_MATCH_DIR, f) + step_tickers = self._check_existance( + os.path.join(NTP_MATCH_DIR, '%s_step_tickers' % num)) + config = ntp2chrony.NtpConfiguration('', + ntp_conf, + step_tickers=step_tickers) + potential_chrony_keys = os.path.join(CHRONY_MATCH_DIR, "%s_chrony.keys" % num) + actual_data = config.get_chrony_conf(chrony_keys_path=potential_chrony_keys) + expected_fname = os.path.join(CHRONY_MATCH_DIR, "%s_chrony.conf" % num) + # make sure recorded and generated configs match + self._do_match(expected_fname, actual_data) + actual_keys = config.get_chrony_keys() + expected_keys_file = self._check_existance(potential_chrony_keys) + # if keys are recorded or generated make sure they match + if actual_keys and expected_keys_file != '': + self._do_match(expected_keys_file, actual_keys) diff --git a/repos/system_upgrade/el7toel8/actors/migratentp/tests/unit_test_migratentp.py b/repos/system_upgrade/el7toel8/actors/migratentp/tests/unit_test_migratentp.py new file mode 100644 index 0000000..5350029 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratentp/tests/unit_test_migratentp.py @@ -0,0 +1,83 @@ +from leapp import reporting +from leapp.libraries.actor import migratentp +from leapp.libraries.common.testutils import create_report_mocked + + +class extract_tgz64_mocked(object): + def __init__(self): + self.called = 0 + self.s = None + + def __call__(self, s): + self.called += 1 + self.s = s + + +class enable_service_mocked(object): + def __init__(self): + self.called = 0 + self.names = [] + + def __call__(self, name): + self.called += 1 + self.names.append(name) + + +class write_file_mocked(object): + def __init__(self): + self.called = 0 + self.name = None + self.content = None + + def __call__(self, name, content): + self.called += 1 + self.name = name + self.content = content + + +class ntp2chrony_mocked(object): + def __init__(self, lines): + self.called = 0 + self.ignored_lines = lines + self.args = None + + def __call__(self, *args): + self.called += 1 + self.args = args + return True, self.ignored_lines * ['a line'] + + +def test_migration(monkeypatch): + for ntp_services, chrony_services, ignored_lines in [ + ([], [], 0), + (['ntpd'], ['chronyd'], 0), + (['ntpdate'], ['chronyd'], 1), + (['ntp-wait'], ['chrony-wait'], 0), + (['ntpd', 'ntpdate', 'ntp-wait'], ['chronyd', 'chronyd', 'chrony-wait'], 1), + ]: + monkeypatch.setattr(migratentp, 'extract_tgz64', extract_tgz64_mocked()) + monkeypatch.setattr(migratentp, 'enable_service', enable_service_mocked()) + monkeypatch.setattr(migratentp, 'write_file', write_file_mocked()) + monkeypatch.setattr(migratentp, 'ntp2chrony', ntp2chrony_mocked(ignored_lines)) + + migratentp.migrate_ntp(ntp_services, 'abcdef') + + if ntp_services: + assert migratentp.extract_tgz64.called == 1 + assert migratentp.extract_tgz64.s == 'abcdef' + assert migratentp.enable_service.called == len(chrony_services) + assert migratentp.enable_service.names == chrony_services + assert migratentp.write_file.called == (0 if 'ntpd' in ntp_services else 1) + if migratentp.write_file.called: + assert migratentp.write_file.name == '/etc/ntp.conf.nosources' + assert 'without ntp configuration' in migratentp.write_file.content + assert migratentp.ntp2chrony.called == 1 + assert migratentp.ntp2chrony.args == ( + '/', + '/etc/ntp.conf' if 'ntpd' in ntp_services else '/etc/ntp.conf.nosources', + '/etc/ntp/step-tickers' if 'ntpdate' in ntp_services else '') + else: + assert migratentp.extract_tgz64.called == 0 + assert migratentp.enable_service.called == 0 + assert migratentp.write_file.called == 0 + assert migratentp.ntp2chrony.called == 0 diff --git a/repos/system_upgrade/el7toel8/actors/migratesendmail/Makefile b/repos/system_upgrade/el7toel8/actors/migratesendmail/Makefile new file mode 100644 index 0000000..41c04a4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratesendmail/Makefile @@ -0,0 +1,2 @@ +install-deps: + -yum install -y python-ipaddress diff --git a/repos/system_upgrade/el7toel8/actors/migratesendmail/actor.py b/repos/system_upgrade/el7toel8/actors/migratesendmail/actor.py new file mode 100644 index 0000000..f709b58 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratesendmail/actor.py @@ -0,0 +1,54 @@ +import os + +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.actor import migratesendmail +from leapp.libraries.stdlib import api +from leapp.models import SendmailMigrationDecision +from leapp.reporting import create_report, Report +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class MigrateSendmail(Actor): + """ + Migrate sendmail configuration files. + """ + + name = 'migrate_sendmail' + consumes = (SendmailMigrationDecision,) + produces = (Report,) + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + decision = next(self.consume(SendmailMigrationDecision), None) + if not decision or not decision.migrate_files: + return + + not_migrated = [] + for f in decision.migrate_files: + if not os.path.exists(f): + api.current_logger().error('Cound not migrate file {}, because it does not exist.'.format(f)) + not_migrated.append(f) + else: + migratesendmail.migrate_file(f) + + list_separator_fmt = '\n - ' + title = 'sendmail configuration files migrated' + summary = 'Uncompressed IPv6 addresses in: {}{}'.format(list_separator_fmt, + list_separator_fmt.join(decision.migrate_files)) + severity = reporting.Severity.INFO + + if not_migrated: + title = 'sendmail configuration files not migrated' + summary = ('Could not migrate the configuration files, which might be caused ' + 'by removal of sendmail package during the upgrade. ' + 'Following files could not be migrated:{}{}').format(list_separator_fmt, + list_separator_fmt.join(not_migrated)) + severity = reporting.Severity.MEDIUM + + create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(severity), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.EMAIL]) + ]) diff --git a/repos/system_upgrade/el7toel8/actors/migratesendmail/libraries/migratesendmail.py b/repos/system_upgrade/el7toel8/actors/migratesendmail/libraries/migratesendmail.py new file mode 100644 index 0000000..b2665f8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratesendmail/libraries/migratesendmail.py @@ -0,0 +1,41 @@ +import ipaddress +import os +import re +import shutil + +from six import text_type + +BackupSuffix = '.bak' + +# false positives blacklist +rfp = re.compile(r'(^\s*RIPv6:::1\b)|(@\s+\[IPv6:::1\]\s+>)') + +rs = re.compile(r'IPv6:[0-9a-fA-F:]*::[0-9a-fA-F:]*') + + +def uncompress_ipv6(ipv6): + addr = text_type(ipv6.replace('IPv6:', '')) + try: + addr = 'IPv6:' + ipaddress.ip_address(addr).exploded + except ValueError: + addr = ipv6 + return re.sub(r':0([^:])', r':\1', re.sub(r'0+', r'0', addr)) + + +def check_false_positives(f, l): + return f in ['sendmail.cf', 'submit.cf'] and rfp.search(l) is not None + + +def sub_ipv6(m): + return uncompress_ipv6(m.group(0)) + + +def migrate_file(fn): + # make backup + shutil.copy2(fn, fn + BackupSuffix) + with open(fn, 'w') as file_out: + with open(fn + BackupSuffix) as file_in: + for line in file_in: + if rs.search(line) and not check_false_positives(os.path.basename(fn), line): + line = rs.sub(sub_ipv6, line) + file_out.write(line) diff --git a/repos/system_upgrade/el7toel8/actors/migratesendmail/tests/component_test_migratesendmail.py b/repos/system_upgrade/el7toel8/actors/migratesendmail/tests/component_test_migratesendmail.py new file mode 100644 index 0000000..834841e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/migratesendmail/tests/component_test_migratesendmail.py @@ -0,0 +1,17 @@ +import os + +from six import text_type + +from leapp.models import SendmailMigrationDecision +from leapp.reporting import Report + + +def test_actor_migration(tmpdir, current_actor_context): + test_cfg_file = text_type(tmpdir.join('sendmail.cf')) + with open(test_cfg_file, 'w') as file_out: + file_out.write("IPv6:::1") + current_actor_context.feed(SendmailMigrationDecision(migrate_files=[test_cfg_file])) + current_actor_context.run() + with open(test_cfg_file, 'r') as file_in: + data = file_in.read() + assert data == 'IPv6:0:0:0:0:0:0:0:1' diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfcheck/actor.py b/repos/system_upgrade/el7toel8/actors/multipathconfcheck/actor.py new file mode 100644 index 0000000..633ab54 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfcheck/actor.py @@ -0,0 +1,34 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfcheck +from leapp.models import MultipathConfFacts +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class MultipathConfCheck(Actor): + """ + Checks whether the multipath configuration can be updated to RHEL-8 and + plan necessary tasks. + + Specifically, it checks if the path_checker/checker option is set to + something other than tur in the defaults section. If so, non-trivial + changes may be required in the multipath.conf file, and it is not + possible to auto-update it - in such a case inhibit upgrade. + + In addition create a task to ensure that configuration files are copied + into the target container (they are necessary for correct creation of the + upgrade initramfs. + """ + + name = 'multipath_conf_check' + consumes = (MultipathConfFacts,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + facts = next(self.consume(MultipathConfFacts), None) + if facts is None: + self.log.debug('Skipping execution. No MultipathConfFacts has ' + 'been produced') + return + multipathconfcheck.check_configs(facts) diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfcheck/libraries/multipathconfcheck.py b/repos/system_upgrade/el7toel8/actors/multipathconfcheck/libraries/multipathconfcheck.py new file mode 100644 index 0000000..bd4ac76 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfcheck/libraries/multipathconfcheck.py @@ -0,0 +1,126 @@ +from leapp import reporting +from leapp.reporting import create_report + + +def _merge_configs(configs): + options = {'default_path_checker': None, 'detect_prio': None, + 'detect_path_checker': None, 'reassign_maps': None, + 'retain_attached_hw_handler': None} + for config in configs: + if config.default_path_checker is not None: + options['default_path_checker'] = (config.default_path_checker, + config.pathname) + + if config.reassign_maps is not None: + options['reassign_maps'] = (config.reassign_maps, config.pathname) + + if config.default_detect_checker is not None: + options['detect_path_checker'] = (config.default_detect_checker, + config.pathname) + + if config.default_detect_prio is not None: + options['detect_prio'] = (config.default_detect_prio, + config.pathname) + + if config.default_retain_hwhandler is not None: + options['retain_attached_hw_handler'] = (config.default_retain_hwhandler, config.pathname) + return options + + +def _check_default_path_checker(options): + if not options['default_path_checker']: + return + value, pathname = options['default_path_checker'] + if value == 'tur': + return + create_report([ + reporting.Title( + 'Unsupported device-mapper-multipath configuration' + ), + reporting.Summary( + 'device-mapper-multipath has changed the default path_checker ' + 'from "directio" to "tur" in RHEL-8. Further, changing the ' + 'default path_checker can cause issues with built-in device ' + 'configurations in RHEL-8. Please remove the "path_checker" ' + 'option from the defaults section of {}, and add it to the ' + 'device configuration of any devices that need it.'. + format(pathname) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.RelatedResource('package', 'device-mapper-multipath'), + reporting.RelatedResource('file', pathname), + reporting.Remediation( + hint='Please remove the "path_checker {}" option from the ' + 'defaults section of {}, and add it to the device configuration ' + 'of any devices that need it.'.format(value, pathname) + ) + ]) + + +def _create_paths_str(paths): + if len(paths) < 2: + return paths[0] + return '{} and {}'.format(', '.join(paths[0:-1]), paths[-1]) + + +def _check_default_detection(options): + bad = [] + for keyword in ('detect_path_checker', 'detect_prio', + 'retain_attached_hw_handler'): + if options[keyword] and not options[keyword][0] and \ + options[keyword][1] not in bad: + bad.append(options[keyword][1]) + if not bad: + return + paths = _create_paths_str(bad) + create_report([ + reporting.Title( + 'device-mapper-multipath now defaults to detecting settings' + ), + reporting.Summary( + 'In RHEL-8, the default value for the "detect_path_checker", ' + '"detect_prio" and "retain_attached_hw_handler" options has ' + 'changed to "yes". Further, changing these default values can ' + 'cause issues with the built-in device configurations in RHEL-8. ' + 'They will be commented out in the defaults section of all ' + 'multipath config files. This is unlikely to cause any issues ' + 'with existing configurations. If it does, please move these ' + 'options from the defaults sections of {} to the device ' + 'configuration sections of any devices that need them.'. + format(paths) + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource('package', 'device-mapper-multipath') + ]) + + +def _check_reassign_maps(options): + if not options['reassign_maps']: + return + value, pathname = options['reassign_maps'] + if not value: + return + create_report([ + reporting.Title( + 'device-mapper-multipath now disables reassign_maps by default' + ), + reporting.Summary( + 'In RHEL-8, the default value for "reassign_maps" has been ' + 'changed to "no", and it is not recommended to enable it in any ' + 'configuration going forward. This option will be commented out ' + 'in {}.'.format(pathname) + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource('package', 'device-mapper-multipath') + ]) + + +def check_configs(facts): + options = _merge_configs(facts.configs) + _check_default_path_checker(options) + _check_default_detection(options) + _check_reassign_maps(options) diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfcheck/tests/test_actor_multipathconfcheck.py b/repos/system_upgrade/el7toel8/actors/multipathconfcheck/tests/test_actor_multipathconfcheck.py new file mode 100644 index 0000000..b5ea1ae --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfcheck/tests/test_actor_multipathconfcheck.py @@ -0,0 +1,200 @@ +from leapp.models import MultipathConfFacts, MultipathConfig, MultipathConfigOption +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def _assert_default_checker_report(report, pathname): + assert report['title'] == \ + 'Unsupported device-mapper-multipath configuration' + assert report['severity'] == 'high' + assert is_inhibitor(report) + assert pathname in report['summary'] + + +def _assert_default_detect_report(report, pathname): + assert report['title'] == \ + 'device-mapper-multipath now defaults to detecting settings' + assert report['severity'] == 'medium' + assert pathname in report['summary'] + + +def _assert_reassign_maps(report, pathname): + assert report['title'] == \ + 'device-mapper-multipath now disables reassign_maps by default' + assert report['severity'] == 'medium' + assert pathname in report['summary'] + + +def test_config_all_bad(current_actor_context): + config = MultipathConfig( + pathname='all_bad.conf', default_path_checker='directio', + reassign_maps=True, default_detect_checker=False, + default_detect_prio=False, default_retain_hwhandler=False) + facts = MultipathConfFacts(configs=[config]) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 3 + _assert_default_checker_report(reports[0].report, 'all_bad.conf') + _assert_default_detect_report(reports[1].report, 'all_bad.conf') + _assert_reassign_maps(reports[2].report, 'all_bad.conf') + + +def test_config_all_good(current_actor_context): + config = MultipathConfig( + pathname='all_good.conf', default_path_checker='tur', + reassign_maps=False, default_detect_checker=True, + default_detect_prio=True, default_retain_hwhandler=True) + facts = MultipathConfFacts(configs=[config]) + + current_actor_context.feed(facts) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_config_unimportant(current_actor_context): + option = MultipathConfigOption(name='path_checker', value='rdac') + config = MultipathConfig( + pathname='unimportant.conf', hw_str_match_exists=True, + ignore_new_boot_devs_exists=True, new_bindings_in_boot_exists=True, + unpriv_sgio_exists=True, detect_path_checker_exists=True, + overrides_hwhandler_exists=True, overrides_pg_timeout_exists=True, + queue_if_no_path_exists=True, all_devs_section_exists=True, + all_devs_options=[option]) + facts = MultipathConfFacts(configs=[config]) + + current_actor_context.feed(facts) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_bad_then_good(current_actor_context): + bad_config = MultipathConfig( + pathname='all_bad.conf', default_path_checker='directio', + reassign_maps=True, default_detect_checker=False, + default_detect_prio=False, default_retain_hwhandler=False) + good_config = MultipathConfig( + pathname='all_good.conf', default_path_checker='tur', + reassign_maps=False, default_detect_checker=True, + default_detect_prio=True, default_retain_hwhandler=True) + facts = MultipathConfFacts(configs=[bad_config, good_config]) + + current_actor_context.feed(facts) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_good_then_bad(current_actor_context): + good_config = MultipathConfig( + pathname='all_good.conf', default_path_checker='tur', + reassign_maps=False, default_detect_checker=True, + default_detect_prio=True, default_retain_hwhandler=True) + bad_config = MultipathConfig( + pathname='all_bad.conf', default_path_checker='directio', + reassign_maps=True, default_detect_checker=False, + default_detect_prio=False, default_retain_hwhandler=False) + facts = MultipathConfFacts(configs=[good_config, bad_config]) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 3 + _assert_default_checker_report(reports[0].report, 'all_bad.conf') + _assert_default_detect_report(reports[1].report, 'all_bad.conf') + _assert_reassign_maps(reports[2].report, 'all_bad.conf') + + +def test_bad_then_nothing(current_actor_context): + bad_config = MultipathConfig( + pathname='all_bad.conf', default_path_checker='directio', + reassign_maps=True, default_detect_checker=False, + default_detect_prio=False, default_retain_hwhandler=False) + none_config = MultipathConfig(pathname='none.conf') + facts = MultipathConfFacts(configs=[bad_config, none_config]) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 3 + _assert_default_checker_report(reports[0].report, 'all_bad.conf') + _assert_default_detect_report(reports[1].report, 'all_bad.conf') + _assert_reassign_maps(reports[2].report, 'all_bad.conf') + + +def test_nothing_then_bad(current_actor_context): + bad_config = MultipathConfig( + pathname='all_bad.conf', default_path_checker='directio', + reassign_maps=True, default_detect_checker=False, + default_detect_prio=False, default_retain_hwhandler=False) + none_config = MultipathConfig(pathname='none.conf') + facts = MultipathConfFacts(configs=[none_config, bad_config]) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 3 + _assert_default_checker_report(reports[0].report, 'all_bad.conf') + _assert_default_detect_report(reports[1].report, 'all_bad.conf') + _assert_reassign_maps(reports[2].report, 'all_bad.conf') + + +def test_only_bad_checker(current_actor_context): + bad_checker_config = MultipathConfig( + pathname='bad_checker.conf', default_path_checker='rdac', + default_retain_hwhandler=True) + facts = MultipathConfFacts(configs=[bad_checker_config]) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_default_checker_report(reports[0].report, 'bad_checker.conf') + + +def test_only_bad_detect(current_actor_context): + bad_detect_config = MultipathConfig( + pathname='bad_detect.conf', default_detect_prio=True, + default_detect_checker=False) + facts = MultipathConfFacts(configs=[bad_detect_config]) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_default_detect_report(reports[0].report, 'bad_detect.conf') + + +def test_only_bad_reassign(current_actor_context): + bad_reassign_config = MultipathConfig( + pathname='bad_reassign.conf', reassign_maps=True) + facts = MultipathConfFacts(configs=[bad_reassign_config]) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_reassign_maps(reports[0].report, 'bad_reassign.conf') + + +def test_different_files(current_actor_context): + bad_detect_checker_config = MultipathConfig( + pathname='bad_detect_checker.conf', default_detect_checker=False) + bad_detect_prio_config = MultipathConfig( + pathname='bad_detect_prio.conf', default_detect_prio=False) + bad_retain_hwhandler_config = MultipathConfig( + pathname='bad_retain_hwhandler.conf', + default_retain_hwhandler=False) + facts = MultipathConfFacts( + configs=[bad_detect_checker_config, bad_detect_prio_config, + bad_retain_hwhandler_config]) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_default_detect_report( + reports[0].report, + 'bad_detect_checker.conf, bad_detect_prio.conf and ' + 'bad_retain_hwhandler.conf') diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/actor.py b/repos/system_upgrade/el7toel8/actors/multipathconfread/actor.py new file mode 100644 index 0000000..da85414 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/actor.py @@ -0,0 +1,33 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfread +from leapp.models import InstalledRedHatSignedRPM, MultipathConfFacts, TargetUserSpaceUpgradeTasks +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class MultipathConfRead(Actor): + """ + Read multipath configuration files and extract the necessary information + + Related files: + - /etc/multipath.conf + - /etc/multipath/ - any files inside the directory + - /etc/xdrdevices.conf + + As well, create task (msg) to copy all needed multipath files into + the target container as the files are needed to create proper initramfs. + This covers the files mentioned above. + """ + + name = 'multipath_conf_read' + consumes = (InstalledRedHatSignedRPM,) + produces = (MultipathConfFacts, TargetUserSpaceUpgradeTasks) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + if multipathconfread.is_processable(): + res = multipathconfread.get_multipath_conf_facts() + if res: + self.produce(res) + # Create task to copy multipath config files Iff facts + # are generated + multipathconfread.produce_copy_to_target_task() diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/libraries/multipathconfread.py b/repos/system_upgrade/el7toel8/actors/multipathconfread/libraries/multipathconfread.py new file mode 100644 index 0000000..de0215d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/libraries/multipathconfread.py @@ -0,0 +1,242 @@ +import errno +import os + +from leapp.libraries.common import multipathutil +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import ( + CopyFile, + InstalledRedHatSignedRPM, + MultipathConfFacts, + MultipathConfig, + MultipathConfigOption, + TargetUserSpaceUpgradeTasks +) + + +def _change_existing_option(curr_options, opt_name, opt_value): + for option in curr_options: + if option.name == opt_name: + option.value = opt_value # latest value is used + return True + return False + + +def _add_options(curr_options, new_options): + ignore = ['hardware_handler', 'pg_timeout', 'product', 'unpriv_sgio', + 'product_blacklist', 'revision', 'vendor'] + for opt_name, opt_value in new_options: + if opt_name in ignore: + continue + if opt_name == 'detect_path_checker': + opt_name = 'detect_checker' + if not _change_existing_option(curr_options, opt_name, opt_value): + curr_options.append(MultipathConfigOption(name=opt_name, + value=opt_value)) + + +def _remove_qinp(value): + items = value.split() + if items == [] or not items[0].isdigit(): + return value + nr_features = int(items[0]) + if nr_features != len(items) - 1: + return value + try: + items.remove('queue_if_no_path') + except ValueError: + return value + items[0] = str(nr_features - 1) + return ' '.join(items) + + +def _fix_qinp_options(options): + have_npr = False + need_npr = False + for option in options: + if option.name == 'features' and 'queue_if_no_path' in option.value: + option.value = _remove_qinp(option.value) + need_npr = True + if option.name == 'no_path_retry': + have_npr = True + if need_npr and not have_npr: + options.append(MultipathConfigOption(name='no_path_retry', + value='queue')) + + +def _options_match(overrides, all_devs): + if overrides == 'detect_path_checker' and all_devs == 'detect_checker': + return True + if overrides in ('path_checker', 'checker') and \ + all_devs in ('path_checker', 'checker'): + return True + if overrides == all_devs: + return True + return False + + +def _filter_options(all_dev_options, overrides_options): + for name, value in overrides_options: + if name == 'features' and 'queue_if_no_path' in value: + overrides_options.append(('no_path_retry', 'queue')) + break + for name, _value in overrides_options: + for option in all_dev_options: + if _options_match(name, option.name): + all_dev_options.remove(option) + break + + +def _parse_config(path): + contents = multipathutil.read_config(path) + if contents is None: + return None + conf = MultipathConfig(pathname=path) + conf.all_devs_options = [] + section = None + in_subsection = False + device_options = [] + overrides_options = [] + in_all_devs = False + for line in contents.split('\n'): + try: + data = multipathutil.LineData(line, section, in_subsection) + except ValueError: + continue + if data.type == data.TYPE_BLANK: + continue + if data.type == data.TYPE_SECTION_END: + if in_subsection: + in_subsection = False + if in_all_devs: + _add_options(conf.all_devs_options, device_options) + in_all_devs = False + device_options = [] + elif section: + section = None + continue + if data.type == data.TYPE_SECTION_START: + if not section: + section = data.section + elif not in_subsection: + in_subsection = True + continue + if data.type != data.TYPE_OPTION: + continue + if section == 'defaults': + if data.option in ('path_checker', 'checker'): + conf.default_path_checker = data.value + elif data.option == 'config_dir': + conf.config_dir = data.value + elif data.option == 'retain_attached_hw_handler': + conf.default_retain_hwhandler = data.is_enabled() + elif data.option == 'detect_prio': + conf.default_detect_prio = data.is_enabled() + elif data.option == 'detect_path_checker': + conf.default_detect_checker = data.is_enabled() + elif data.option == 'reassign_maps': + conf.reassign_maps = data.is_enabled() + elif data.option == 'hw_str_match': + conf.hw_str_match_exists = True + elif data.option == 'ignore_new_boot_devs': + conf.ignore_new_boot_devs_exists = True + elif data.option == 'new_bindings_in_boot': + conf.new_bindings_in_boot_exists = True + if section == 'devices' and in_subsection: + if data.option == 'all_devs' and data.is_enabled(): + conf.all_devs_section_exists = True + in_all_devs = True + else: + device_options.append((data.option, data.value)) + if section == 'overrides': + if data.option == 'hardware_handler': + conf.overrides_hwhandler_exists = True + elif data.option == 'pg_timeout': + conf.overrides_pg_timeout_exists = True + else: + overrides_options.append((data.option, data.value)) + if data.option == 'unpriv_sgio': + conf.unpriv_sgio_exists = True + if data.option == 'detect_path_checker': + conf.detect_path_checker_exists = True + if data.option == 'features' and 'queue_if_no_path' in data.value: + conf.queue_if_no_path_exists = True + + if in_subsection and in_all_devs: + _add_options(conf.all_devs_options, device_options) + _fix_qinp_options(conf.all_devs_options) + _filter_options(conf.all_devs_options, overrides_options) + return conf + + +def _parse_config_dir(config_dir): + res = [] + try: + for config_file in sorted(os.listdir(config_dir)): + path = os.path.join(config_dir, config_file) + if not path.endswith('.conf'): + continue + conf = _parse_config(path) + if conf: + res.append(conf) + except OSError as e: + if e.errno == errno.ENOENT: + api.current_logger().debug('Multipath conf directory ' + + '"{}" doesn\'t exist'.format(config_dir)) + else: + api.current_logger().warning('Failed to read multipath config ' + + 'directory ' + + '"{}": {}'.format(config_dir, e)) + return res + + +def is_processable(): + res = has_package(InstalledRedHatSignedRPM, 'device-mapper-multipath') + if not res: + api.current_logger().debug('device-mapper-multipath is not installed.') + return res + + +def get_multipath_conf_facts(config_file='/etc/multipath.conf'): + res_configs = [] + conf = _parse_config(config_file) + if not conf: + return None + res_configs.append(conf) + if conf.config_dir: + res_configs.extend(_parse_config_dir(conf.config_dir)) + else: + res_configs.extend(_parse_config_dir('/etc/multipath/conf.d')) + return MultipathConfFacts(configs=res_configs) + + +def produce_copy_to_target_task(): + """ + Produce task to copy files into the target userspace + + The multipath configuration files are needed when the upgrade init ramdisk + is generated to ensure we are able to boot into the upgrade environment + and start the upgrade process itself. By this msg it's told that these + files/dirs will be available when the upgrade init ramdisk is generated. + + See TargetUserSpaceUpgradeTasks and UpgradeInitramfsTasks for more info. + """ + # TODO(pstodulk): move the function to the multipathconfcheck actor + # and get rid of the hardcoded stuff. + # - The current behaviour looks from the user POV same as before this + # * commit. I am going to keep the proper fix for additional PR as we do + # * not want to make the current PR even more complex than now and the solution + # * is not so trivial. + # - As well, I am missing some information around xDR devices, which are + # * possibly not handled correctly (maybe missing some executables?..) + # * Update: practically we do not have enough info about xDR drivers, but + # * discussed with Ben Marzinski, as the multipath dracut module includes + # * the xDR utils stuff, we should handle it in the same way. + # * See xdrgetuid, xdrgetinfo (these two utils are now missing in our initramfs) + copy_files = [] + for fname in ['/etc/multipath.conf', '/etc/multipath', '/etc/xdrdevices.conf']: + if os.path.exists(fname): + copy_files.append(CopyFile(src=fname)) + + if copy_files: + api.produce(TargetUserSpaceUpgradeTasks(copy_files=copy_files)) diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/all_the_things.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/all_the_things.conf new file mode 100644 index 0000000..48ade1c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/all_the_things.conf @@ -0,0 +1,1052 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "yes" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "directio" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes + retain_attached_hw_handler no + detect_prio no + detect_path_checker no + hw_str_match no + force_sync no + deferred_remove no + ignore_new_boot_devs no + skip_kpartx no + config_dir "files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 + new_bindings_in_boot no + remove_retries 0 + disable_changed_wwids no + unpriv_sgio no + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device { + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { + devnode "sda" + wwid "123456789" + device { + vendor "IBM" + product "S/390x" + } +} + +devices { + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "1 queue_if_no_path" + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_path_checker yes + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "3 queue_if_no_path pg_init_retries 50" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } + device { + fast_io_fail_tmo 5 + all_devs yes + no_path_retry fail + detect_path_checker yes + } + device { + features "1 queue_if_no_path" + path_checker "tur" + all_devs yes + } +} +multipaths { + multipath { + wwid "123456789" + alias "foo" + } +} + +overrides { + checker "rdac" + detect_path_checker no + hardware_handler "1 alua" + pg_timeout no + fast_io_fail_tmo 10 + unpriv_sgio no +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/already_updated.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/already_updated.conf new file mode 100644 index 0000000..81a6944 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/already_updated.conf @@ -0,0 +1,1069 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 +# reassign_maps "yes" # Commented out by Leapp + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" +# path_checker "directio" # Commented out by Leapp + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes +# retain_attached_hw_handler no # Commented out by Leapp +# detect_prio no # Commented out by Leapp +# detect_path_checker no # Commented out by Leapp +# hw_str_match no # Commented out by Leapp + force_sync no + deferred_remove no +# ignore_new_boot_devs no # Commented out by Leapp + skip_kpartx no + config_dir "files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 +# new_bindings_in_boot no # Commented out by Leapp + remove_retries 0 + disable_changed_wwids no +# unpriv_sgio no # Commented out by Leapp + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device { + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { + devnode "sda" + wwid "123456789" + device { + vendor "IBM" + product "S/390x" + } +} + +devices { + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "0" # Line modified by Leapp + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_checker yes # Line modified by Leapp + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "2 pg_init_retries 50" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } +# device { # Section commented out by Leapp +# fast_io_fail_tmo 5 +# all_devs yes +# no_path_retry fail +# detect_checker yes # Line modified by Leapp +# } +# device { # Section commented out by Leapp +# features "1 queue_if_no_path" +# path_checker "tur" +# all_devs yes +# } +} +multipaths { + multipath { + wwid "123456789" + alias "foo" + } +} + +overrides { + no_path_retry fail # Line added by Leapp + features 0 # Line added by Leapp + checker "rdac" + detect_checker no # Line modified by Leapp +# hardware_handler "1 alua" # Commented out by Leapp +# pg_timeout no # Commented out by Leapp + fast_io_fail_tmo 10 +# unpriv_sgio no # Commented out by Leapp +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/conf.d/all_devs.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/conf.d/all_devs.conf new file mode 100644 index 0000000..fa52de4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/conf.d/all_devs.conf @@ -0,0 +1,136 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "NVME" + product ".*" + path_grouping_policy multibus + + } + device { + all_devs yes + path_checker tur + pg_timeout no + detect_path_checker yes + } + + device { + features "3 queue_if_no_path pg_init_retries 50" + path_selector "service-time 0" + all_devs yes + unpriv_sgio no + } + + device { + hardware_handler "1 alua" + vendor "test_vendor" + product "test_product" + revision 1 + product_blacklist "test.*" + all_devs yes + fast_io_fail_tmo 5 + path_checker rdac + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + features "1 queue_if_no_path" + } + +} + + + +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +blacklist { + devnode "sdb" +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/conf.d/empty.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/conf.d/empty.conf new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/default_rhel7.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/default_rhel7.conf new file mode 100644 index 0000000..de91e5d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/default_rhel7.conf @@ -0,0 +1,1021 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "yes" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "directio" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes + retain_attached_hw_handler no + detect_prio no + detect_path_checker no + hw_str_match no + force_sync no + deferred_remove no + ignore_new_boot_devs no + skip_kpartx no + config_dir "files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 + new_bindings_in_boot no + remove_retries 0 + disable_changed_wwids no + unpriv_sgio no + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device { + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { +} +devices { + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "1 queue_if_no_path" + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_path_checker yes + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "3 queue_if_no_path pg_init_retries 50" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } +} +multipaths { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/default_rhel8.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/default_rhel8.conf new file mode 100644 index 0000000..62f889d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/default_rhel8.conf @@ -0,0 +1,1049 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "tur" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" +} +blacklist { + devnode "^(ram|zram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]" + devnode "^(td|hd|vd)[a-z]" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } +} +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[45]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } +} +overrides { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_all_devs.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_all_devs.conf new file mode 100644 index 0000000..4a34b7b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_all_devs.conf @@ -0,0 +1,5 @@ +devices { + device { + all_devs yes + } +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_checker.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_checker.conf new file mode 100644 index 0000000..0b3462e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_checker.conf @@ -0,0 +1,1049 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + checker "rdac" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" +} +blacklist { + devnode "^(ram|zram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]" + devnode "^(td|hd|vd)[a-z]" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } +} +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[45]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } +} +overrides { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_detect.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_detect.conf new file mode 100644 index 0000000..b68733c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_detect.conf @@ -0,0 +1,3 @@ +defaults { + detect_prio 0 +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_exists.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_exists.conf new file mode 100644 index 0000000..ac84ba8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_exists.conf @@ -0,0 +1,32 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "Foo" + product "Bar" + features "1 queue_if_no_path" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + } +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_reassign.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_reassign.conf new file mode 100644 index 0000000..cbd4399 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/just_reassign.conf @@ -0,0 +1,93 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes + reassign_maps "yes" +} +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/ugly1.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/ugly1.conf new file mode 100644 index 0000000..87c8dcf --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/ugly1.conf @@ -0,0 +1,1055 @@ +defaults THIS SHOULDN'T BE HERE + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "yes" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "directio" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes + retain_attached_hw_handler no + detect_prio no + detect_path_checker no + hw_str_match no + force_sync no + deferred_remove no + ignore_new_boot_devs no + skip_kpartx no + config_dir "files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 + new_bindings_in_boot no + remove_retries 0 + disable_changed_wwids no + unpriv_sgio no + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { + devnode "sda" + wwid "123456789" + device { + vendor "IBM" + product "S/390x" + } +} + +devices { BAD DATA + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" EXTRA DATA + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "1 queue_if_no_path" + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_path_checker yes + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "3 queue_if_no_path pg_init_retries 50" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } + device { + fast_io_fail_tmo 5 + dev_loss_tmo 60 + all_devs yes + no_path_retry fail + detect_path_checker yes + } + device { + path_selector "service-time 0" JUNK IN LINE + features "1 queue_if_no_path" + path_checker "tur" + all_devs yes + } +} +multipaths { + multipath { + wwid "123456789" + alias "foo" + } +} + +overrides + checker "rdac" + detect_path_checker no + hardware_handler "1 alua" + pg_timeout no + fast_io_fail_tmo 10 + unpriv_sgio no + features "3 queue_if_no_path pg_init_retries 50" +# Missing closing brace diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/ugly2.conf b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/ugly2.conf new file mode 100644 index 0000000..d9b5038 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/files/ugly2.conf @@ -0,0 +1,123 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "NVME" + product ".*" + path_grouping_policy multibus + + } + device { + all_devs yes + path_checker tur + pg_timeout no + detect_path_checker yes + } + + device { + features "3 queue_if_no_path pg_init_retries 50" + path_selector "service-time 0" + all_devs yes + unpriv_sgio no + } + + device { + hardware_handler "1 alua" + vendor "test_vendor" + product "test_product" + revision 1 + product_blacklist "test.*" + all_devs yes + fast_io_fail_tmo 5 + path_checker rdac +# no closing braces + +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/test_library_multipathconfread.py b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/test_library_multipathconfread.py new file mode 100644 index 0000000..7399aa4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfread/tests/test_library_multipathconfread.py @@ -0,0 +1,199 @@ +import os + +import pytest + +from leapp.libraries.actor import multipathconfread +from leapp.models import MultipathConfFacts, MultipathConfig, MultipathConfigOption + +# TODO [Artem] We shouldn't chdir in tests +TEST_DIR = os.path.dirname(os.path.abspath(__file__)) + + +@pytest.fixture +def adjust_cwd(): + previous_cwd = os.getcwd() + os.chdir(TEST_DIR) + yield + os.chdir(previous_cwd) + + +CUR_DIR = "" + + +def build_config(val): + all_devs_options_val = [] + for name_val, value_val in val[16]: + option = MultipathConfigOption(name=name_val, value=value_val) + all_devs_options_val.append(option) + return MultipathConfig( + pathname=val[0], + default_path_checker=val[1], + config_dir=val[2], + default_retain_hwhandler=val[3], + default_detect_prio=val[4], + default_detect_checker=val[5], + reassign_maps=val[6], + hw_str_match_exists=val[7], + ignore_new_boot_devs_exists=val[8], + new_bindings_in_boot_exists=val[9], + unpriv_sgio_exists=val[10], + detect_path_checker_exists=val[11], + overrides_hwhandler_exists=val[12], + overrides_pg_timeout_exists=val[13], + queue_if_no_path_exists=val[14], + all_devs_section_exists=val[15], + all_devs_options=all_devs_options_val) + + +default_rhel7_conf = build_config( + [os.path.join(CUR_DIR, 'files/default_rhel7.conf'), 'directio', os.path.join(CUR_DIR, 'files/conf.d'), False, + False, False, True, True, True, True, True, True, False, False, True, False, [], ]) + +all_devs_conf = build_config( + [os.path.join(CUR_DIR, 'files/conf.d/all_devs.conf'), None, None, None, None, None, None, False, False, False, + True, True, False, False, True, True, + [('path_checker', 'rdac'), ('detect_checker', 'yes'), ('features', '2 pg_init_retries 50'), + ('path_selector', 'service-time 0'), ('fast_io_fail_tmo', '5'), ('no_path_retry', 'queue'), ], ]) + +empty_conf = build_config( + [os.path.join(CUR_DIR, 'files/conf.d/empty.conf'), None, None, None, None, None, None, False, False, False, False, + False, False, False, False, False, [], ]) + +default_rhel8_conf = build_config( + [os.path.join(CUR_DIR, 'files/default_rhel8.conf'), 'tur', '/etc/multipath/conf.d', True, True, None, False, False, + False, False, False, False, False, False, False, False, [], ]) + +all_the_things_conf = build_config( + [os.path.join(CUR_DIR, 'files/all_the_things.conf'), 'directio', os.path.join(CUR_DIR, 'files/conf.d'), False, + False, False, True, True, True, True, True, True, True, True, True, True, + [('no_path_retry', 'fail'), ('features', '0')], ]) + +already_updated_conf = build_config( + [os.path.join(CUR_DIR, 'files/already_updated.conf'), None, os.path.join(CUR_DIR, 'files/conf.d'), None, None, + None, None, False, False, False, False, False, False, False, False, False, [], ]) + +ugly1_conf = build_config( + [os.path.join(CUR_DIR, 'files/ugly1.conf'), 'directio', os.path.join(CUR_DIR, 'files/conf.d'), False, False, False, + True, True, True, True, True, True, True, True, True, True, + [('dev_loss_tmo', '60'), ('path_selector', 'service-time 0')], ]) + +# same results as all_devs_conf +ugly2_conf = build_config( + [os.path.join(CUR_DIR, 'files/ugly2.conf'), None, None, None, None, None, None, False, False, False, True, True, + False, False, True, True, + [('path_checker', 'rdac'), ('detect_checker', 'yes'), ('features', '2 pg_init_retries 50'), + ('path_selector', 'service-time 0'), ('fast_io_fail_tmo', '5'), ('no_path_retry', 'queue'), ], ]) + +just_checker_conf = build_config( + [os.path.join(CUR_DIR, 'files/just_checker.conf'), 'rdac', '/etc/multipath/conf.d', True, True, None, False, False, + False, False, False, False, False, False, False, False, [], ]) + +just_detect_conf = build_config( + [os.path.join(CUR_DIR, 'files/just_detect.conf'), None, None, None, False, None, None, False, False, False, False, + False, False, False, False, False, [], ]) + +just_reassign_conf = build_config( + [os.path.join(CUR_DIR, 'files/just_reassign.conf'), None, None, None, None, None, True, False, False, False, False, + False, False, False, False, False, [], ]) + +just_exists_conf = build_config( + [os.path.join(CUR_DIR, 'files/just_exists.conf'), None, None, None, None, None, None, False, False, False, False, + False, False, False, True, False, [], ]) + +just_all_devs_conf = build_config( + [os.path.join(CUR_DIR, 'files/just_all_devs.conf'), None, None, None, None, None, None, False, False, False, False, + False, False, False, False, True, [], ]) + + +def assert_config(config, expected): + assert config.pathname == expected.pathname + assert config.default_path_checker == expected.default_path_checker + assert config.config_dir == expected.config_dir + assert config.default_retain_hwhandler == expected.default_retain_hwhandler + assert config.default_detect_prio == expected.default_detect_prio + assert config.default_detect_checker == expected.default_detect_checker + assert config.reassign_maps == expected.reassign_maps + assert config.hw_str_match_exists == expected.hw_str_match_exists + assert config.ignore_new_boot_devs_exists == expected.ignore_new_boot_devs_exists + assert config.new_bindings_in_boot_exists == expected.new_bindings_in_boot_exists + assert config.unpriv_sgio_exists == expected.unpriv_sgio_exists + assert config.detect_path_checker_exists == expected.detect_path_checker_exists + assert config.overrides_hwhandler_exists == expected.overrides_hwhandler_exists + assert config.overrides_pg_timeout_exists == expected.overrides_pg_timeout_exists + assert config.queue_if_no_path_exists == expected.queue_if_no_path_exists + assert config.all_devs_section_exists == expected.all_devs_section_exists + assert len(config.all_devs_options) == len(expected.all_devs_options) + for i in range(len(config.all_devs_options)): + conf_opt = config.all_devs_options[i] + expt_opt = expected.all_devs_options[i] + assert conf_opt.name == expt_opt.name + assert conf_opt.value == expt_opt.value + + +def test_config_dir(adjust_cwd): + expected_configs = (default_rhel7_conf, all_devs_conf, empty_conf) + facts = multipathconfread.get_multipath_conf_facts(config_file=os.path.join(CUR_DIR, 'files/default_rhel7.conf')) + assert facts + assert len(facts.configs) == 3 + for i in range(len(facts.configs)): + assert_config(facts.configs[i], expected_configs[i]) + + +def test_already_rhel8(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/default_rhel8.conf')) + assert config + assert_config(config, default_rhel8_conf) + + +def test_all_the_things(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/all_the_things.conf')) + assert config + assert_config(config, all_the_things_conf) + + +def test_already_updated(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/already_updated.conf')) + assert config + assert_config(config, already_updated_conf) + + +def tests_ugly1(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/ugly1.conf')) + assert config + assert_config(config, ugly1_conf) + + +def tests_ugly2(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/ugly2.conf')) + assert config + assert_config(config, ugly2_conf) + + +def tests_just_checker(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/just_checker.conf')) + assert config + assert_config(config, just_checker_conf) + + +def tests_just_detect(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/just_detect.conf')) + assert config + assert_config(config, just_detect_conf) + + +def tests_just_reassign(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/just_reassign.conf')) + assert config + assert_config(config, just_reassign_conf) + + +def tests_just_exists(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/just_exists.conf')) + assert config + assert_config(config, just_exists_conf) + + +def tests_just_all_devs(adjust_cwd): + config = multipathconfread._parse_config(os.path.join(CUR_DIR, 'files/just_all_devs.conf')) + assert config + assert_config(config, just_all_devs_conf) diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/actor.py b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/actor.py new file mode 100644 index 0000000..221285e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfupdate +from leapp.models import MultipathConfFacts +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class MultipathConfUpdate(Actor): + """ + Modifies multipath configuration files on the target RHEL-8 system so that + they will run properly. This is done in three ways + 1. commenting out lines for options that no longer exist, or whose value + is no longer current in RHEL-8 + 2. Migrating any options in an devices section with all_devs to an + overrides sections + 3. Rename options that have changed names + """ + + name = 'multipath_conf_update' + consumes = (MultipathConfFacts,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + facts = next(self.consume(MultipathConfFacts), None) + if facts is None: + self.log.debug('Skipping execution. No MultipathConfFacts has ' + 'been produced') + return + multipathconfupdate.update_configs(facts) diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/libraries/multipathconfupdate.py b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/libraries/multipathconfupdate.py new file mode 100644 index 0000000..56f06f3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/libraries/multipathconfupdate.py @@ -0,0 +1,250 @@ +import re + +from leapp.libraries.common import multipathutil + +_bool_options = {'retain_attached_hw_handler': True, 'detect_prio': True, + 'detect_path_checker': True, 'reassign_maps': False} + +_exist_options = ('hw_str_match', 'ignore_new_boot_devs', + 'new_bindings_in_boot', 'unpriv_sgio') + +_ovr_options = ('hardware_handler', 'pg_timeout') + + +class _QueueIfNoPathInfo(object): + def __init__(self, line, value): + self.line = line + self.value = value + self.has_no_path_retry = False + + +def _nothing_to_do(config): + if config.default_path_checker and config.default_path_checker != 'tur': + return False + + config_checks = ( + (config.default_retain_hwhandler, False), + (config.default_detect_prio, False), + (config.default_detect_checker, False), + (config.reassign_maps, True), + (config.hw_str_match_exists, True), + (config.ignore_new_boot_devs_exists, True), + (config.new_bindings_in_boot_exists, True), + (config.unpriv_sgio_exists, True), + (config.detect_path_checker_exists, True), + (config.overrides_hwhandler_exists, True), + (config.overrides_pg_timeout_exists, True), + (config.queue_if_no_path_exists, True), + (config.all_devs_section_exists, True) + ) + for option, value in config_checks: + if option is value: + return False + + return config.all_devs_options == [] + + +def _comment_out_line(line): + return '# ' + line + ' # Commented out by Leapp' + + +def _comment_out_ranges(lines, ranges): + for start, end in ranges: + line = lines[start] + lines[start] = '# ' + line + ' # Section commented out by Leapp' + for i in range(start + 1, end): + line = lines[i] + if line == '': + lines[i] = '#' + elif line[0] != '#': + lines[i] = '# ' + line + + +def _setup_value(value): + if re.search(r'\s', value): + return '"' + value + '"' + return value + + +def _add_overrides(lines, options): + lines.append('overrides { # Section added by Leapp') + for option in options: + lines.append('\t{} {}'.format(option.name, _setup_value(option.value))) + lines.append('}') + lines.append('') + + +def _update_overrides(lines, ovr_line, options): + new_lines = [] + start = None + for i, line in enumerate(lines): + if line is ovr_line: + start = i + 1 + break + if not start: + return + for option in options: + new_lines.append('\t{} {} # Line added by Leapp'. + format(option.name, _setup_value(option.value))) + lines[start:start] = new_lines # insert new_lines + + +def _convert_checker_line(line): + return line.replace('detect_path_checker', 'detect_checker') + \ + ' # Line modified by Leapp' + + +def _modify_features_line(line, value): + items = value.split() + if items == [] or not items[0].isdigit(): + return _comment_out_line(line) + nr_features = int(items[0]) + if nr_features != len(items) - 1: + return _comment_out_line(line) + r = re.match('^(.*)features', line) + if not r: + return _comment_out_line(line) + line_start = r.group(1) + try: + items.remove('queue_if_no_path') + except ValueError: + return _comment_out_line(line) + items[0] = str(nr_features - 1) + return line_start + 'features "' + ' '.join(items) + \ + '" # Line modified by Leapp' + + +def _add_npr(lines, line, i): + r = re.match('^(.*)features', line) + if not r: + return + line_start = r.group(1) + lines.insert(i, + line_start + 'no_path_retry queue # Line added by Leapp') + + +def _remove_qinp(lines, qinp_infos): + infos_iter = iter(qinp_infos) + info = next(infos_iter, None) + if not info: + return + i = 0 + while i < len(lines): + if lines[i] is info.line: + lines[i] = _modify_features_line(info.line, info.value) + if not info.has_no_path_retry: + _add_npr(lines, info.line, i + 1) + info = next(infos_iter, None) + if not info: + return + i += 1 + + +def _valid_npr(value): + if value.isdigit() and int(value) >= 0: + return True + if value in ('fail', 'queue'): + return True + return False + + +def _update_config(config): + if _nothing_to_do(config): + return None + contents = multipathutil.read_config(config.pathname) + if contents is None: + return None + lines = contents.split('\n') + section = None + in_subsection = False + in_all_devs = False + subsection_start = None + all_devs_ranges = [] + overrides_line = None + qinp_info = None + has_no_path_retry = False + qinp_infos = [] + for i, line in enumerate(lines): + try: + data = multipathutil.LineData(line, section, in_subsection) + except ValueError: + continue + if data.type == data.TYPE_SECTION_END: + if qinp_info and not in_all_devs: + qinp_info.has_no_path_retry = has_no_path_retry + qinp_infos.append(qinp_info) + qinp_info = None + has_no_path_retry = False + if in_subsection: + in_subsection = False + if in_all_devs: + all_devs_ranges.append((subsection_start, i + 1)) + in_all_devs = False + subsection_start = None + elif section is not None: + section = None + elif data.type == data.TYPE_SECTION_START: + if section is None: + section = data.section + if section == 'overrides': + overrides_line = line + elif not in_subsection: + in_subsection = True + subsection_start = i + if data.type != data.TYPE_OPTION: + continue + if section == 'defaults': + if (data.option in ('path_checker', 'checker')) and data.value != 'tur': + lines[i] = _comment_out_line(line) + continue + if data.option in _bool_options and \ + _bool_options[data.option] != data.is_enabled(): + lines[i] = _comment_out_line(line) + continue + elif section == 'overrides' and data.option in _ovr_options: + lines[i] = _comment_out_line(line) + continue + elif section == 'devices' and in_subsection and \ + data.option == 'all_devs' and data.is_enabled(): + in_all_devs = True + continue + if data.option in _exist_options: + lines[i] = _comment_out_line(line) + elif data.option == 'detect_path_checker': + lines[i] = _convert_checker_line(line) + elif data.option == 'no_path_retry' and _valid_npr(data.value): + has_no_path_retry = True + elif data.option == 'features' and 'queue_if_no_path' in data.value: + qinp_info = _QueueIfNoPathInfo(line, data.value) + + if in_subsection: + lines.append('\t} # line added by Leapp') + if in_all_devs: + all_devs_ranges.append((subsection_start, len(lines))) + elif qinp_info: + qinp_info.has_no_path_retry = has_no_path_retry + qinp_infos.append(qinp_info) + qinp_info = None + if section is not None: + lines.append('} # line added by Leapp') + lines.append('') + if qinp_info: + qinp_info.has_no_path_retry = has_no_path_retry + qinp_infos.append(qinp_info) + _comment_out_ranges(lines, all_devs_ranges) + if qinp_infos: + _remove_qinp(lines, qinp_infos) + if config.all_devs_options != []: + if overrides_line: + _update_overrides(lines, overrides_line, config.all_devs_options) + else: + _add_overrides(lines, config.all_devs_options) + contents = '\n'.join(lines) + return contents + + +def update_configs(facts): + for config in facts.configs: + contents = _update_config(config) + if contents: + multipathutil.write_config(config.pathname, contents) diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/all_devs.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/all_devs.conf new file mode 100644 index 0000000..645b319 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/all_devs.conf @@ -0,0 +1,146 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "NVME" + product ".*" + path_grouping_policy multibus + + } +# device { # Section commented out by Leapp +# all_devs yes +# path_checker tur +# pg_timeout no +# detect_checker yes # Line modified by Leapp +# } + +# device { # Section commented out by Leapp +# features "3 queue_if_no_path pg_init_retries 50" +# path_selector "service-time 0" +# all_devs yes +# unpriv_sgio no # Commented out by Leapp +# } + +# device { # Section commented out by Leapp +# hardware_handler "1 alua" +# vendor "test_vendor" +# product "test_product" +# revision 1 +# product_blacklist "test.*" +# all_devs yes +# fast_io_fail_tmo 5 +# path_checker rdac +# } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + } + +} + + + +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +blacklist { + devnode "sdb" +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} + +overrides { # Section added by Leapp + path_checker rdac + detect_checker yes + features "2 pg_init_retries 50" + path_selector "service-time 0" + fast_io_fail_tmo 5 + no_path_retry queue +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/all_the_things.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/all_the_things.conf new file mode 100644 index 0000000..ee54d93 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/all_the_things.conf @@ -0,0 +1,1069 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 +# reassign_maps "yes" # Commented out by Leapp + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" +# path_checker "directio" # Commented out by Leapp + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes +# retain_attached_hw_handler no # Commented out by Leapp +# detect_prio no # Commented out by Leapp +# detect_path_checker no # Commented out by Leapp +# hw_str_match no # Commented out by Leapp + force_sync no + deferred_remove no +# ignore_new_boot_devs no # Commented out by Leapp + skip_kpartx no + config_dir "tests/files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 +# new_bindings_in_boot no # Commented out by Leapp + remove_retries 0 + disable_changed_wwids no +# unpriv_sgio no # Commented out by Leapp + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device { + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { + devnode "sda" + wwid "123456789" + device { + vendor "IBM" + product "S/390x" + } +} + +devices { + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "0" # Line modified by Leapp + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_checker yes # Line modified by Leapp + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "2 pg_init_retries 50" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } +# device { # Section commented out by Leapp +# fast_io_fail_tmo 5 +# all_devs yes +# no_path_retry fail +# detect_checker yes # Line modified by Leapp +# } +# device { # Section commented out by Leapp +# features "1 queue_if_no_path" +# path_checker "tur" +# all_devs yes +# } +} +multipaths { + multipath { + wwid "123456789" + alias "foo" + } +} + +overrides { + no_path_retry fail # Line added by Leapp + features 0 # Line added by Leapp + checker "rdac" + detect_checker no # Line modified by Leapp +# hardware_handler "1 alua" # Commented out by Leapp +# pg_timeout no # Commented out by Leapp + fast_io_fail_tmo 10 +# unpriv_sgio no # Commented out by Leapp +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/default_rhel7.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/default_rhel7.conf new file mode 100644 index 0000000..fb694f1 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/default_rhel7.conf @@ -0,0 +1,1036 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 +# reassign_maps "yes" # Commented out by Leapp + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" +# path_checker "directio" # Commented out by Leapp + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes +# retain_attached_hw_handler no # Commented out by Leapp +# detect_prio no # Commented out by Leapp +# detect_path_checker no # Commented out by Leapp +# hw_str_match no # Commented out by Leapp + force_sync no + deferred_remove no +# ignore_new_boot_devs no # Commented out by Leapp + skip_kpartx no + config_dir "tests/files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 +# new_bindings_in_boot no # Commented out by Leapp + remove_retries 0 + disable_changed_wwids no +# unpriv_sgio no # Commented out by Leapp + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device { + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { +} +devices { + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "0" # Line modified by Leapp + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_checker yes # Line modified by Leapp + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "2 pg_init_retries 50" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } +} +multipaths { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_all_devs.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_all_devs.conf new file mode 100644 index 0000000..a456ef4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_all_devs.conf @@ -0,0 +1,5 @@ +devices { +# device { # Section commented out by Leapp +# all_devs yes +# } +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_checker.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_checker.conf new file mode 100644 index 0000000..615d496 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_checker.conf @@ -0,0 +1,1049 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" +# checker "rdac" # Commented out by Leapp + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" +} +blacklist { + devnode "^(ram|zram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]" + devnode "^(td|hd|vd)[a-z]" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } +} +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[45]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } +} +overrides { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_detect.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_detect.conf new file mode 100644 index 0000000..c2824c3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_detect.conf @@ -0,0 +1,3 @@ +defaults { +# detect_prio 0 # Commented out by Leapp +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_exists.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_exists.conf new file mode 100644 index 0000000..778abbe --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_exists.conf @@ -0,0 +1,33 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "Foo" + product "Bar" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + } +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_reassign.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_reassign.conf new file mode 100644 index 0000000..2094269 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/just_reassign.conf @@ -0,0 +1,93 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes +# reassign_maps "yes" # Commented out by Leapp +} +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/ugly1.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/ugly1.conf new file mode 100644 index 0000000..2170221 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/ugly1.conf @@ -0,0 +1,1075 @@ +defaults THIS SHOULDN'T BE HERE + verbosity 2 + polling_interval 5 + max_polling_interval 20 +# reassign_maps "yes" # Commented out by Leapp + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" +# path_checker "directio" # Commented out by Leapp + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes +# retain_attached_hw_handler no # Commented out by Leapp +# detect_prio no # Commented out by Leapp +# detect_path_checker no # Commented out by Leapp +# hw_str_match no # Commented out by Leapp + force_sync no + deferred_remove no +# ignore_new_boot_devs no # Commented out by Leapp + skip_kpartx no + config_dir "tests/files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 +# new_bindings_in_boot no # Commented out by Leapp + remove_retries 0 + disable_changed_wwids no +# unpriv_sgio no # Commented out by Leapp + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { + devnode "sda" + wwid "123456789" + device { + vendor "IBM" + product "S/390x" + } +} + +devices { BAD DATA + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" EXTRA DATA + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "0" # Line modified by Leapp + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_checker yes # Line modified by Leapp + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "2 pg_init_retries 50" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } +# device { # Section commented out by Leapp +# fast_io_fail_tmo 5 +# dev_loss_tmo 60 +# all_devs yes +# no_path_retry fail +# detect_checker yes # Line modified by Leapp +# } +# device { # Section commented out by Leapp +# path_selector "service-time 0" JUNK IN LINE +# features "1 queue_if_no_path" +# path_checker "tur" +# all_devs yes +# } +} +multipaths { + multipath { + wwid "123456789" + alias "foo" + } +} + +overrides + dev_loss_tmo 60 # Line added by Leapp + path_selector "service-time 0" # Line added by Leapp + checker "rdac" + detect_checker no # Line modified by Leapp +# hardware_handler "1 alua" # Commented out by Leapp +# pg_timeout no # Commented out by Leapp + fast_io_fail_tmo 10 +# unpriv_sgio no # Commented out by Leapp + features "2 pg_init_retries 50" # Line modified by Leapp + no_path_retry queue # Line added by Leapp +# Missing closing brace + +} # line added by Leapp diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/ugly2.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/ugly2.conf new file mode 100644 index 0000000..3508a46 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/after/ugly2.conf @@ -0,0 +1,135 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "NVME" + product ".*" + path_grouping_policy multibus + + } +# device { # Section commented out by Leapp +# all_devs yes +# path_checker tur +# pg_timeout no +# detect_checker yes # Line modified by Leapp +# } + +# device { # Section commented out by Leapp +# features "3 queue_if_no_path pg_init_retries 50" +# path_selector "service-time 0" +# all_devs yes +# unpriv_sgio no # Commented out by Leapp +# } + +# device { # Section commented out by Leapp +# hardware_handler "1 alua" +# vendor "test_vendor" +# product "test_product" +# revision 1 +# product_blacklist "test.*" +# all_devs yes +# fast_io_fail_tmo 5 +# path_checker rdac +# no closing braces +# +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} +# +# } # line added by Leapp +} # line added by Leapp + +overrides { # Section added by Leapp + path_checker rdac + detect_checker yes + features "2 pg_init_retries 50" + path_selector "service-time 0" + fast_io_fail_tmo 5 + no_path_retry queue +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/all_devs.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/all_devs.conf new file mode 100644 index 0000000..fa52de4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/all_devs.conf @@ -0,0 +1,136 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "NVME" + product ".*" + path_grouping_policy multibus + + } + device { + all_devs yes + path_checker tur + pg_timeout no + detect_path_checker yes + } + + device { + features "3 queue_if_no_path pg_init_retries 50" + path_selector "service-time 0" + all_devs yes + unpriv_sgio no + } + + device { + hardware_handler "1 alua" + vendor "test_vendor" + product "test_product" + revision 1 + product_blacklist "test.*" + all_devs yes + fast_io_fail_tmo 5 + path_checker rdac + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + features "1 queue_if_no_path" + } + +} + + + +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +blacklist { + devnode "sdb" +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/all_the_things.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/all_the_things.conf new file mode 100644 index 0000000..cb710e4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/all_the_things.conf @@ -0,0 +1,1052 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "yes" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "directio" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes + retain_attached_hw_handler no + detect_prio no + detect_path_checker no + hw_str_match no + force_sync no + deferred_remove no + ignore_new_boot_devs no + skip_kpartx no + config_dir "tests/files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 + new_bindings_in_boot no + remove_retries 0 + disable_changed_wwids no + unpriv_sgio no + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device { + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { + devnode "sda" + wwid "123456789" + device { + vendor "IBM" + product "S/390x" + } +} + +devices { + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "1 queue_if_no_path" + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_path_checker yes + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "3 queue_if_no_path pg_init_retries 50" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } + device { + fast_io_fail_tmo 5 + all_devs yes + no_path_retry fail + detect_path_checker yes + } + device { + features "1 queue_if_no_path" + path_checker "tur" + all_devs yes + } +} +multipaths { + multipath { + wwid "123456789" + alias "foo" + } +} + +overrides { + checker "rdac" + detect_path_checker no + hardware_handler "1 alua" + pg_timeout no + fast_io_fail_tmo 10 + unpriv_sgio no +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/already_updated.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/already_updated.conf new file mode 100644 index 0000000..ee54d93 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/already_updated.conf @@ -0,0 +1,1069 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 +# reassign_maps "yes" # Commented out by Leapp + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" +# path_checker "directio" # Commented out by Leapp + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes +# retain_attached_hw_handler no # Commented out by Leapp +# detect_prio no # Commented out by Leapp +# detect_path_checker no # Commented out by Leapp +# hw_str_match no # Commented out by Leapp + force_sync no + deferred_remove no +# ignore_new_boot_devs no # Commented out by Leapp + skip_kpartx no + config_dir "tests/files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 +# new_bindings_in_boot no # Commented out by Leapp + remove_retries 0 + disable_changed_wwids no +# unpriv_sgio no # Commented out by Leapp + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device { + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { + devnode "sda" + wwid "123456789" + device { + vendor "IBM" + product "S/390x" + } +} + +devices { + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "0" # Line modified by Leapp + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "0" # Line modified by Leapp + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_checker yes # Line modified by Leapp + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" # Line modified by Leapp + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "2 pg_init_retries 50" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" # Line modified by Leapp + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" # Line modified by Leapp + no_path_retry queue # Line added by Leapp + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } +# device { # Section commented out by Leapp +# fast_io_fail_tmo 5 +# all_devs yes +# no_path_retry fail +# detect_checker yes # Line modified by Leapp +# } +# device { # Section commented out by Leapp +# features "1 queue_if_no_path" +# path_checker "tur" +# all_devs yes +# } +} +multipaths { + multipath { + wwid "123456789" + alias "foo" + } +} + +overrides { + no_path_retry fail # Line added by Leapp + features 0 # Line added by Leapp + checker "rdac" + detect_checker no # Line modified by Leapp +# hardware_handler "1 alua" # Commented out by Leapp +# pg_timeout no # Commented out by Leapp + fast_io_fail_tmo 10 +# unpriv_sgio no # Commented out by Leapp +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/default_rhel7.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/default_rhel7.conf new file mode 100644 index 0000000..6afc7ed --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/default_rhel7.conf @@ -0,0 +1,1021 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "yes" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "directio" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes + retain_attached_hw_handler no + detect_prio no + detect_path_checker no + hw_str_match no + force_sync no + deferred_remove no + ignore_new_boot_devs no + skip_kpartx no + config_dir "tests/files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 + new_bindings_in_boot no + remove_retries 0 + disable_changed_wwids no + unpriv_sgio no + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device { + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { +} +devices { + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "1 queue_if_no_path" + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_path_checker yes + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "3 queue_if_no_path pg_init_retries 50" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } +} +multipaths { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/default_rhel8.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/default_rhel8.conf new file mode 100644 index 0000000..62f889d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/default_rhel8.conf @@ -0,0 +1,1049 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "tur" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" +} +blacklist { + devnode "^(ram|zram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]" + devnode "^(td|hd|vd)[a-z]" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } +} +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[45]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } +} +overrides { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/empty.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/empty.conf new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_all_devs.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_all_devs.conf new file mode 100644 index 0000000..4a34b7b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_all_devs.conf @@ -0,0 +1,5 @@ +devices { + device { + all_devs yes + } +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_checker.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_checker.conf new file mode 100644 index 0000000..0b3462e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_checker.conf @@ -0,0 +1,1049 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + checker "rdac" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" +} +blacklist { + devnode "^(ram|zram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]" + devnode "^(td|hd|vd)[a-z]" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } +} +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[45]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } +} +overrides { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_detect.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_detect.conf new file mode 100644 index 0000000..b68733c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_detect.conf @@ -0,0 +1,3 @@ +defaults { + detect_prio 0 +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_exists.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_exists.conf new file mode 100644 index 0000000..ac84ba8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_exists.conf @@ -0,0 +1,32 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "Foo" + product "Bar" + features "1 queue_if_no_path" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + } +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_reassign.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_reassign.conf new file mode 100644 index 0000000..cbd4399 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/just_reassign.conf @@ -0,0 +1,93 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes + reassign_maps "yes" +} +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/ugly1.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/ugly1.conf new file mode 100644 index 0000000..ac0d12b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/ugly1.conf @@ -0,0 +1,1055 @@ +defaults THIS SHOULDN'T BE HERE + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "yes" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "directio" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds 1048576 + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file /etc/multipath/wwids + prkeys_file /etc/multipath/prkeys + log_checker_err always + find_multipaths yes + retain_attached_hw_handler no + detect_prio no + detect_path_checker no + hw_str_match no + force_sync no + deferred_remove no + ignore_new_boot_devs no + skip_kpartx no + config_dir "tests/files/conf.d" + delay_watch_checks no + delay_wait_checks no + retrigger_tries 3 + retrigger_delay 10 + missing_uev_wait_timeout 30 + new_bindings_in_boot no + remove_retries 0 + disable_changed_wwids no + unpriv_sgio no + ghost_delay no + all_tg_pt no + marginal_path_err_sample_time no + marginal_path_err_rate_threshold no + marginal_path_err_recheck_gap_time no + marginal_path_double_failed_time no +} +blacklist { + devnode "sdb" + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^dcssblk[0-9]*" + device + vendor "DGC" + product "LUNZ" + } + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390.*" + } + device { + vendor "DELL" + product "Universal Xport" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } +} +blacklist_exceptions { + devnode "sda" + wwid "123456789" + device { + vendor "IBM" + product "S/390x" + } +} + +devices { BAD DATA + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "APPLE*" + product "Xserve RAID " + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + path_selector "service-time 0" + path_checker "tur" + features "0" + hardware_handler "1 alua" EXTRA DATA + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1.0.*" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + features "1 queue_if_no_path" + hardware_handler "1 hp_sw" + prio "hp_sw" + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "(COMPAQ|HP)" + product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2[02]12fc|MSA2012i" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "MSA (1|2)040 SA(N|S)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 12 + rr_min_io 100 + } + device { + vendor "HP" + product "LOGICAL VOLUME.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 12 + } + device { + vendor "HP" + product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 18 + rr_min_io 100 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 6 + } + device { + vendor "DGC" + product ".*" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + features "1 queue_if_no_path" + hardware_handler "1 emc" + prio "emc" + failback immediate + rr_weight "uniform" + no_path_retry 60 + retain_attached_hw_handler yes + detect_prio yes + detect_path_checker yes + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + no_path_retry 5 + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 10 + } + device { + vendor "(HITACHI|HP)" + product "OPEN-.*" + path_grouping_policy "multibus" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "HITACHI" + product "DF.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "hds" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "1 queue_if_no_path" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 300 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1745|^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^3542" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105800" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2105F20" + path_grouping_policy "group_by_serial" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390.*" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "IBM" + product "^IPR.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 100 + } + device { + vendor "IBM" + product "2810XIV" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback 15 + rr_weight "uniform" + rr_min_io 15 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303 NVDISK" + path_grouping_policy "failover" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry 60 + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "3 queue_if_no_path pg_init_retries 50" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names no + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + failback immediate + rr_weight "uniform" + no_path_retry 30 + rr_min_io 128 + } + device { + vendor "IBM" + product "Nseries.*" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "1 queue_if_no_path" + hardware_handler "0" + prio "ontap" + failback immediate + rr_weight "uniform" + rr_min_io 128 + } + device { + vendor "Pillar" + product "Axiom.*" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[13]00" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SGI" + product "TP9[45]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SGI" + product "IS.*" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 15 + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + } + device { + vendor "STK" + product "OPENstorage D280" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "SUN" + product "(StorEdge 3510|T4)" + path_grouping_policy "multibus" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "SUN" + product "STK6580_6780" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + } + device { + vendor "EUROLOGC" + product "FC2502" + path_grouping_policy "group_by_prio" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + rr_weight "uniform" + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "0" + prio "const" + rr_weight "uniform" + rr_min_io 100 + } + device { + vendor "SUN" + product "CSM200_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "SUN" + product "SUN_6180" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + rr_min_io 1000 + rr_min_io_rq 1 + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry 30 + retain_attached_hw_handler yes + detect_prio yes + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "0" + hardware_handler "1 rdac" + prio "rdac" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "Intel" + product "Multi-Flex" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "1 alua" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + rr_weight "uniform" + no_path_retry "queue" + } + device { + vendor "NFINIDAT" + product "InfiniBox.*" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + flush_on_last_del "yes" + dev_loss_tmo 30 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + path_checker "tur" + features "1 queue_if_no_path" + hardware_handler "1 alua" + prio "alua" + failback immediate + dev_loss_tmo "infinity" + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "directio" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 15 + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "multibus" + path_selector "queue-length 0" + path_checker "tur" + features "0" + hardware_handler "0" + prio "const" + failback immediate + fast_io_fail_tmo 10 + dev_loss_tmo 60 + user_friendly_names no + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + path_checker "tur" + features "0" + hardware_handler "0" + prio "alua" + failback immediate + dev_loss_tmo 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + prio "const" + } + device { + vendor "NVME" + product ".*" + path_grouping_policy "multibus" + uid_attribute "ID_WWN" + path_checker "none" + detect_prio yes + } + device { + vendor "IBM" + product "^2145" + path_selector "service-time 0" + } + device { + fast_io_fail_tmo 5 + dev_loss_tmo 60 + all_devs yes + no_path_retry fail + detect_path_checker yes + } + device { + path_selector "service-time 0" JUNK IN LINE + features "1 queue_if_no_path" + path_checker "tur" + all_devs yes + } +} +multipaths { + multipath { + wwid "123456789" + alias "foo" + } +} + +overrides + checker "rdac" + detect_path_checker no + hardware_handler "1 alua" + pg_timeout no + fast_io_fail_tmo 10 + unpriv_sgio no + features "3 queue_if_no_path pg_init_retries 50" +# Missing closing brace diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/ugly2.conf b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/ugly2.conf new file mode 100644 index 0000000..d9b5038 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/files/before/ugly2.conf @@ -0,0 +1,123 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# +# For a complete list of the default configuration values, run either +# multipath -t +# or +# multipathd show config +# +# For a list of configuration options with descriptions, see the multipath.conf +# man page + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes + find_multipaths yes +} + +devices { + device { + vendor "NVME" + product ".*" + path_grouping_policy multibus + + } + device { + all_devs yes + path_checker tur + pg_timeout no + detect_path_checker yes + } + + device { + features "3 queue_if_no_path pg_init_retries 50" + path_selector "service-time 0" + all_devs yes + unpriv_sgio no + } + + device { + hardware_handler "1 alua" + vendor "test_vendor" + product "test_product" + revision 1 + product_blacklist "test.*" + all_devs yes + fast_io_fail_tmo 5 + path_checker rdac +# no closing braces + +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# polling_interval 10 +# path_selector "round-robin 0" +# path_grouping_policy multibus +# uid_attribute ID_SERIAL +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/test_library_multipathconfupdate.py b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/test_library_multipathconfupdate.py new file mode 100644 index 0000000..d76eb66 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/multipathconfupdate/tests/test_library_multipathconfupdate.py @@ -0,0 +1,116 @@ +import os + +from leapp.libraries.actor import multipathconfupdate +from leapp.libraries.common import multipathutil +from leapp.models import MultipathConfig, MultipathConfigOption + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def build_config(val): + all_devs_options_val = [] + for name_val, value_val in val[16]: + option = MultipathConfigOption(name=name_val, value=value_val) + all_devs_options_val.append(option) + return MultipathConfig( + pathname=val[0], + default_path_checker=val[1], + config_dir=val[2], + default_retain_hwhandler=val[3], + default_detect_prio=val[4], + default_detect_checker=val[5], + reassign_maps=val[6], + hw_str_match_exists=val[7], + ignore_new_boot_devs_exists=val[8], + new_bindings_in_boot_exists=val[9], + unpriv_sgio_exists=val[10], + detect_path_checker_exists=val[11], + overrides_hwhandler_exists=val[12], + overrides_pg_timeout_exists=val[13], + queue_if_no_path_exists=val[14], + all_devs_section_exists=val[15], + all_devs_options=all_devs_options_val) + + +default_rhel7_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/default_rhel7.conf'), 'directio', os.path.join(CUR_DIR, 'files/conf.d'), + False, False, False, True, True, True, True, True, True, False, False, True, False, [], ]) + +all_devs_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/all_devs.conf'), None, None, None, None, None, None, False, False, False, + True, True, False, False, True, True, + [('path_checker', 'rdac'), ('detect_checker', 'yes'), ('features', '2 pg_init_retries 50'), + ('path_selector', 'service-time 0'), ('fast_io_fail_tmo', '5'), ('no_path_retry', 'queue'), ], ]) + +empty_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/empty.conf'), None, None, None, None, None, None, False, False, False, False, + False, False, False, False, False, [], ]) + +default_rhel8_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/default_rhel8.conf'), 'tur', '/etc/multipath/conf.d', True, True, None, False, + False, False, False, False, False, False, False, False, False, [], ]) + +all_the_things_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/all_the_things.conf'), 'directio', os.path.join(CUR_DIR, 'files/conf.d'), + False, False, False, True, True, True, True, True, True, True, True, True, True, + [('no_path_retry', 'fail'), ('features', '0')], ]) + +already_updated_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/already_updated.conf'), None, os.path.join(CUR_DIR, 'files/conf.d'), None, + None, None, None, False, False, False, False, False, False, False, False, False, [], ]) + +ugly1_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/ugly1.conf'), 'directio', os.path.join(CUR_DIR, 'files/conf.d'), False, False, + False, True, True, True, True, True, True, True, True, True, True, + [('dev_loss_tmo', '60'), ('path_selector', 'service-time 0')], ]) + +# same results as all_devs_conf +ugly2_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/ugly2.conf'), None, None, None, None, None, None, False, False, False, True, + True, False, False, True, True, + [('path_checker', 'rdac'), ('detect_checker', 'yes'), ('features', '2 pg_init_retries 50'), + ('path_selector', 'service-time 0'), ('fast_io_fail_tmo', '5'), ('no_path_retry', 'queue'), ], ]) + +just_checker_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/just_checker.conf'), 'rdac', '/etc/multipath/conf.d', True, True, None, False, + False, False, False, False, False, False, False, False, False, [], ]) + +just_detect_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/just_detect.conf'), None, None, None, False, None, None, False, False, False, + False, False, False, False, False, False, [], ]) + +just_reassign_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/just_reassign.conf'), None, None, None, None, None, True, False, False, False, + False, False, False, False, False, False, [], ]) + +just_exists_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/just_exists.conf'), None, None, None, None, None, None, False, False, False, + False, False, False, False, True, False, [], ]) + +just_all_devs_conf = build_config( + [os.path.join(CUR_DIR, 'files/before/just_all_devs.conf'), None, None, None, None, None, None, False, False, False, + False, False, False, False, False, True, [], ]) + + +def test_configs(): + tests = [(default_rhel7_conf, os.path.join(CUR_DIR, 'files/after/default_rhel7.conf'),), + (all_devs_conf, os.path.join(CUR_DIR, 'files/after/all_devs.conf')), (empty_conf, None), + (default_rhel8_conf, None), + (all_the_things_conf, os.path.join(CUR_DIR, 'files/after/all_the_things.conf'),), + (already_updated_conf, None), (ugly1_conf, os.path.join(CUR_DIR, 'files/after/ugly1.conf')), + (ugly2_conf, os.path.join(CUR_DIR, 'files/after/ugly2.conf')), + (just_checker_conf, os.path.join(CUR_DIR, 'files/after/just_checker.conf'),), + (just_detect_conf, os.path.join(CUR_DIR, 'files/after/just_detect.conf'),), + (just_reassign_conf, os.path.join(CUR_DIR, 'files/after/just_reassign.conf'),), + (just_exists_conf, os.path.join(CUR_DIR, 'files/after/just_exists.conf'),), + (just_all_devs_conf, os.path.join(CUR_DIR, 'files/after/just_all_devs.conf'),), ] + for config, expected_config in tests: + config_lines = multipathconfupdate._update_config(config) + if config_lines is None: + assert expected_config is None + continue + expected_lines = multipathutil.read_config(expected_config) + assert expected_lines is not None + assert len(config_lines) == len(expected_lines) + for config_line, expected_line in zip(config_lines, expected_lines): + assert config_line == expected_line diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/actor.py b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/actor.py new file mode 100644 index 0000000..cadd878 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/actor.py @@ -0,0 +1,28 @@ +from leapp.actors import Actor +from leapp.libraries.actor.networkmanagerreadconfig import check_nm_dhcp, parse_nm_config, read_nm_config +from leapp.models import NetworkManagerConfig +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class NetworkManagerReadConfig(Actor): + """ + Provides data about NetworkManager configuration. + + After collecting data from NetworkManager tool, a message with relevant data will be produced. + """ + + name = 'network_manager_read_config' + consumes = () + produces = (NetworkManagerConfig,) + tags = (IPUWorkflowTag, FactsPhaseTag,) + + def process(self): + nm_config = NetworkManagerConfig() + + cfg = read_nm_config() + parser = parse_nm_config(cfg) + + if parser: + check_nm_dhcp(nm_cfg=nm_config, parser=parser) + + self.produce(nm_config) diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/libraries/networkmanagerreadconfig.py b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/libraries/networkmanagerreadconfig.py new file mode 100644 index 0000000..108c6f4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/libraries/networkmanagerreadconfig.py @@ -0,0 +1,38 @@ +from six.moves.configparser import ParsingError + +from leapp.libraries.common import utils +from leapp.libraries.stdlib import api, CalledProcessError, run + + +def read_nm_config(file_path=None): + if file_path: + try: + with open(file_path, 'r') as f: + r = f.read() + return r + except IOError as e: + api.current_logger().warning('Error reading NetworkManager configuration from {}: {}'.format(file_path, e)) + return None + else: + try: + # Use 'NM --print-config' to read the configurationo so + # that the main configuration file and other files in + # various directories get merged in the right way. + r = run(['NetworkManager', '--print-config'], split=False)['stdout'] + return r + except (OSError, CalledProcessError) as e: + api.current_logger().warning('Error reading NetworkManager configuration: {}'.format(e)) + return None + + +def parse_nm_config(cfg): + try: + return utils.parse_config(cfg) + except (ParsingError, TypeError) as e: + api.current_logger().warning('Error parsing NetworkManager configuration: {}'.format(e)) + return None + + +def check_nm_dhcp(nm_cfg, parser): + if parser.has_option('main', 'dhcp'): + nm_cfg.dhcp = parser.get("main", "dhcp") diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_file_error b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_file_error new file mode 100644 index 0000000..c79dd25 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_file_error @@ -0,0 +1,16 @@ +# NetworkManager configuration: /etc/NetworkManager/NetworkManager.conf (lib: 20-connectivity-fedora.conf) + +[maiw@n] +# plugasd2ins=ifcfg-rh +# rc-mana!@#g!$#Der=symlink +# auth-po@!#Dlkit=true +dh!DQcp=dhclient!@# + +[con@!#dnectivity] +uri=http://@!$dfedoraproject.org/static/hotspot.txt +respo!@#nse=OK +inte!@#rvaal=300 + +[loggin#!@g] +# backend=journal +# audit=false diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_with_dhcp b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_with_dhcp new file mode 100644 index 0000000..260b1ea --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_with_dhcp @@ -0,0 +1,16 @@ +# NetworkManager configuration: /etc/NetworkManager/NetworkManager.conf (lib: 20-connectivity-fedora.conf) + +[main] +# plugins=ifcfg-rh +# rc-manager=symlink +# auth-polkit=true +dhcp=dhclient + +[connectivity] +uri=http://fedoraproject.org/static/hotspot.txt +response=OK +interval=300 + +[logging] +# backend=journal +# audit=false diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_without_dhcp b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_without_dhcp new file mode 100644 index 0000000..091d626 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/files/nm_cfg_without_dhcp @@ -0,0 +1,16 @@ +# NetworkManager configuration: /etc/NetworkManager/NetworkManager.conf (lib: 20-connectivity-fedora.conf) + +[main] +# plugins=ifcfg-rh +# rc-manager=symlink +# auth-polkit=true +# dhcp=dhclient + +[connectivity] +uri=http://fedoraproject.org/static/hotspot.txt +response=OK +interval=300 + +[logging] +# backend=journal +# audit=false diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/unit_test_networkmanagerreadconfig.py b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/unit_test_networkmanagerreadconfig.py new file mode 100644 index 0000000..206537d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerreadconfig/tests/unit_test_networkmanagerreadconfig.py @@ -0,0 +1,32 @@ +import os + +from leapp.libraries.actor import networkmanagerreadconfig + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def test_nm_with_dhcp(): + config = networkmanagerreadconfig.read_nm_config(file_path=os.path.join(CUR_DIR, 'files/nm_cfg_with_dhcp')) + parser = networkmanagerreadconfig.parse_nm_config(config) + + assert config + assert parser + assert parser.has_option('main', 'dhcp') + + +def test_nm_without_dhcp(): + config = networkmanagerreadconfig.read_nm_config(file_path=os.path.join(CUR_DIR, 'files/nm_cfg_without_dhcp')) + parser = networkmanagerreadconfig.parse_nm_config(config) + + assert config + assert parser + assert not parser.has_option('main', 'dhcp') + + +def test_nm_with_error(): + config = networkmanagerreadconfig.read_nm_config(file_path=os.path.join(CUR_DIR, 'files/nm_cfg_file_error')) + parser = networkmanagerreadconfig.parse_nm_config(config) + + assert config + assert parser + assert not parser.has_section('main') diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconfig/actor.py b/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconfig/actor.py new file mode 100644 index 0000000..8560829 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconfig/actor.py @@ -0,0 +1,36 @@ +from leapp.actors import Actor +from leapp.models import NetworkManagerConfig +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + +snippet_path = '/usr/lib/NetworkManager/conf.d/10-dhcp-dhclient.conf' +snippet_data = ("# Generated by leapp when upgrading from RHEL7 to RHEL8\n" + "[main]\n" + "dhcp=dhclient\n") + + +class NetworkManagerUpdateConfig(Actor): + """ + Updates NetworkManager configuration for Red Hat Enterprise Linux 8. + + On Red Hat Enterprise Linux 7 NetworkManager uses the "dhclient" DHCP backend by default, while + the default is "internal" on Red Hat Enterprise Linux 8. We want to keep "dhclient" enabled on + upgrade, unless the user explicitly chose another backend in the configuration. To do so, we + drop a configuration snippet in /usr/lib. + """ + + name = 'network_manager_update_config' + consumes = (NetworkManagerConfig,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + for nm_config in self.consume(NetworkManagerConfig): + self.log.info('Consuming dhcp={}'.format(nm_config.dhcp)) + if nm_config.dhcp == '': + try: + with open(snippet_path, 'w') as f: + f.write(snippet_data) + self.log.info('Written the following to {}:\n{}\n'.format(snippet_path, snippet_data)) + except IOError as e: + self.log.warning('Write error: {}'.format(e)) + break diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconnections/actor.py b/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconnections/actor.py new file mode 100644 index 0000000..69ca0f0 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconnections/actor.py @@ -0,0 +1,34 @@ +from leapp.actors import Actor +from leapp.libraries.stdlib import CalledProcessError, run +from leapp.models import NetworkManagerConfig +from leapp.tags import FirstBootPhaseTag, IPUWorkflowTag + + +class NetworkManagerUpdateConnections(Actor): + """ + Update NetworkManager connections. + + When using dhcp=dhclient on Red Hat Enterprise Linux 7, a non-hexadecimal client-id (a string) + is sent on the wire as is (i.e. the first character is the 'type' as per RFC 2132 section + 9.14). On Red Hat Enterprise Linux 8, a zero byte is prepended to string-only client-ids. To + preserve behavior on upgrade, we convert client-ids to the hexadecimal form. + """ + + name = 'network_manager_update_connections' + consumes = (NetworkManagerConfig,) + produces = () + tags = (FirstBootPhaseTag, IPUWorkflowTag) + + def process(self): + for nm_config in self.consume(NetworkManagerConfig): + if nm_config.dhcp not in ('', 'dhclient'): + self.log.info('DHCP client is "{}", nothing to do'.format(nm_config.dhcp)) + return + + try: + r = run(['/usr/bin/python3', 'tools/nm-update-client-ids.py'])['stdout'] + self.log.info('Updated client-ids: {}'.format(r)) + except (OSError, CalledProcessError) as e: + self.log.warning('Error calling nm-update-client-ids script: {}'.format(e)) + + break diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconnections/tools/nm-update-client-ids.py b/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconnections/tools/nm-update-client-ids.py new file mode 100755 index 0000000..1c8d70c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerupdateconnections/tools/nm-update-client-ids.py @@ -0,0 +1,50 @@ +from __future__ import print_function + +import sys + +import gi + +gi.require_version('NM', '1.0') +from gi.repository import NM # noqa: E402; pylint: disable=wrong-import-position + + +def is_hexstring(s): + arr = s.split(':') + for a in arr: + if len(a) != 1 and len(a) != 2: + return False + try: + int(a, 16) + except ValueError: + return False + return True + + +client = NM.Client.new(None) +if not client: + print('Cannot create NM client instance') + sys.exit(0) + +processed = 0 +changed = 0 +errors = 0 + +for c in client.get_connections(): + s_ip4 = c.get_setting_ip4_config() + processed += 1 + if s_ip4 is not None: + client_id = s_ip4.get_dhcp_client_id() + if client_id is not None: + if not is_hexstring(client_id): + new_client_id = ':'.join(hex(ord(x))[2:] for x in client_id) + s_ip4.set_property(NM.SETTING_IP4_CONFIG_DHCP_CLIENT_ID, new_client_id) + success = c.commit_changes(True, None) + if success: + changed += 1 + else: + errors += 1 + print('Connection {}: \'{}\' -> \'{}\' ({})'.format(c.get_uuid(), + client_id, new_client_id, + 'OK' if success else 'FAIL')) + +print("{} processed, {} changed, {} errors".format(processed, changed, errors)) diff --git a/repos/system_upgrade/el7toel8/actors/networkmanagerupdateservice/actor.py b/repos/system_upgrade/el7toel8/actors/networkmanagerupdateservice/actor.py new file mode 100644 index 0000000..cb581df --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/networkmanagerupdateservice/actor.py @@ -0,0 +1,56 @@ +from leapp.actors import Actor +from leapp.libraries.stdlib import CalledProcessError, run +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class NetworkManagerUpdateService(Actor): + """ + Updates NetworkManager services status. + + On Red Hat Enterprise Linux 7 if the NetworkManager service was disabled and + NetworkManager-wait-online enabled, the former would not be started. This changed on Red Hat + Enterprise Linux 8, where NM-w-o 'Requires' NM and so NM can be started even if disabled. Upon + upgrade, to keep the previous behavior we must disable NM-w-o when NM is disabled. + + See also: + https://bugzilla.redhat.com/show_bug.cgi?id=1520865 + """ + + name = 'network_manager_update_service' + consumes = () + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + nm_enabled = self.unit_enabled('NetworkManager.service') + nmwo_enabled = self.unit_enabled('NetworkManager-wait-online.service') + self.log_services_state('initial', nm_enabled, nmwo_enabled) + + if not nm_enabled and nmwo_enabled: + self.log.info('Disabling NetworkManager-wait-online.service') + + try: + run(['systemctl', 'disable', 'NetworkManager-wait-online.service']) + except (OSError, CalledProcessError) as e: + self.log.warning('Error disabling NetworkManager-wait-online.service: {}'.format(e)) + return + + nm_enabled = self.unit_enabled('NetworkManager.service') + nmwo_enabled = self.unit_enabled('NetworkManager-wait-online.service') + self.log_services_state('after upgrade', nm_enabled, nmwo_enabled) + + def log_services_state(self, detail, nm, nmwo): + self.log.info('Services state ({}):'.format(detail)) + self.log.info(' - NetworkManager : {}'.format('enabled' if nm else 'disabled')) + self.log.info(' - NetworkManager-wait-online: {}'.format('enabled' if nmwo else 'disabled')) + + def unit_enabled(self, name): + try: + ret = run(['systemctl', 'is-enabled', name], split=True)['stdout'] + if ret: + enabled = ret[0] == 'enabled' + else: + enabled = False + except (OSError, CalledProcessError): + enabled = False + return enabled diff --git a/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/actor.py b/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/actor.py new file mode 100644 index 0000000..22f372b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import opensshalgorithmscheck +from leapp.models import OpenSshConfig, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class OpenSshAlgorithmsCheck(Actor): + """ + OpenSSH configuration does not contain any unsupported cryptographic algorithms. + + Check the values of Ciphers and MACs in OpenSSH server config file and warn + about removed algorithms which might cause the server to fail to start. + """ + name = 'open_ssh_algorithms' + consumes = (OpenSshConfig,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + opensshalgorithmscheck.process(self.consume(OpenSshConfig)) diff --git a/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/libraries/opensshalgorithmscheck.py b/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/libraries/opensshalgorithmscheck.py new file mode 100644 index 0000000..13cd3b0 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/libraries/opensshalgorithmscheck.py @@ -0,0 +1,82 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api + + +def process(openssh_messages): + removed_ciphers = [ + "blowfish-cbc", + "cast128-cbc", + "arcfour", + "arcfour128", + "arcfour256", + ] + removed_macs = [ + "hmac-ripemd160", + ] + found_ciphers = [] + found_macs = [] + + config = next(openssh_messages, None) + if list(openssh_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSshConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssh configuration', details={'details': 'No OpenSshConfig facts found.'} + ) + + for cipher in removed_ciphers: + if config.ciphers and cipher in config.ciphers: + found_ciphers.append(cipher) + for mac in removed_macs: + if config.macs and mac in config.macs: + found_macs.append(mac) + + resources = [ + reporting.RelatedResource('package', 'openssh-server'), + reporting.RelatedResource('file', '/etc/ssh/sshd_config') + ] + if found_ciphers: + reporting.create_report([ + reporting.Title('OpenSSH configured to use removed ciphers'), + reporting.Summary( + 'OpenSSH is configured to use removed ciphers {}. ' + 'These ciphers were removed from OpenSSH and if ' + 'present the sshd daemon will not start in RHEL 8' + ''.format(','.join(found_ciphers)) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + reporting.Remediation( + hint='Remove the following ciphers from sshd_config: ' + '{}'.format(','.join(found_ciphers)) + ), + reporting.Groups([reporting.Groups.INHIBITOR]) + ] + resources) + + if found_macs: + reporting.create_report([ + reporting.Title('OpenSSH configured to use removed mac'), + reporting.Summary( + 'OpenSSH is configured to use removed mac {}. ' + 'This MAC was removed from OpenSSH and if present ' + 'the sshd daemon will not start in RHEL 8' + ''.format(','.join(found_macs)) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + reporting.Remediation( + hint='Remove the following MACs from sshd_config: {}'.format(','.join(found_macs)) + ), + reporting.Groups([reporting.Groups.INHIBITOR]) + ] + resources) diff --git a/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/tests/unit_test_opensshalgorithmscheck.py b/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/tests/unit_test_opensshalgorithmscheck.py new file mode 100644 index 0000000..f606583 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshalgorithmscheck/tests/unit_test_opensshalgorithmscheck.py @@ -0,0 +1,35 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import opensshalgorithmscheck +from leapp.models import OpenSshConfig, OpenSshPermitRootLogin, Report +from leapp.snactor.fixture import current_actor_context + + +def test_no_config(current_actor_context): + with pytest.raises(StopActorExecutionError): + opensshalgorithmscheck.process(iter([])) + + +osprl = OpenSshPermitRootLogin(value='no') + + +@pytest.mark.parametrize('ciphers,expected_report', [ + (None, False), + ('aes128-ctr', False), + ('aes128-ctr,aes192-ctr,aes256-ctr', False), + ('arcfour', True), + ('arcfour,arcfour128,arcfour256', True), + ('arcfour,aes128-ctr', True), + ('aes128-ctr,arcfour', True)]) +def test_ciphers(current_actor_context, ciphers, expected_report): + current_actor_context.feed(OpenSshConfig( + permit_root_login=[osprl], + deprecated_directives=[], + ciphers=ciphers + )) + current_actor_context.run() + if expected_report: + assert current_actor_context.consume(Report) + else: + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/actor.py b/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/actor.py new file mode 100644 index 0000000..69f9ee7 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor.opensshdeprecateddirectivescheck import inhibit_if_deprecated_directives_used +from leapp.models import OpenSshConfig, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class OpenSshDeprecatedDirectivesCheck(Actor): + """ + Check for any deprecated directives in the OpenSSH configuration. + + Checks the directives used in the OpenSSH configuration for ones that have + been deprecated and their usage in newer versions would result in the sshd + service failing to start after the upgrade. + """ + + name = 'open_ssh_deprecated_directives_check' + consumes = (OpenSshConfig,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + ssh_config = next(self.consume(OpenSshConfig)) + inhibit_if_deprecated_directives_used(ssh_config) diff --git a/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/libraries/opensshdeprecateddirectivescheck.py b/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/libraries/opensshdeprecateddirectivescheck.py new file mode 100644 index 0000000..db88f86 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/libraries/opensshdeprecateddirectivescheck.py @@ -0,0 +1,30 @@ +from leapp import reporting + +LIST_SEPARATOR_FMT = '\n - ' + + +def inhibit_if_deprecated_directives_used(ssh_config_msg): + """ Inhibits the upgrade if any deprecated directives were found in the sshd configuration. """ + + if ssh_config_msg.deprecated_directives: + # Prepare the output of the deprecated directives for the user + deprecated_directives_report_text = '' + for deprecated_directive in ssh_config_msg.deprecated_directives: + deprecated_directives_report_text += '{0}{1}'.format(LIST_SEPARATOR_FMT, deprecated_directive) + + sshd_config_path = '/etc/ssh/sshd_config' + reporting.create_report([ + reporting.Title('A deprecated directive in the sshd configuration'), + reporting.Summary( + 'The following deprecated directives were found in the sshd configuration file {0}:{1}' + .format(sshd_config_path, deprecated_directives_report_text) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.RelatedResource('file', sshd_config_path), + reporting.Remediation( + hint='Remove the deprecated directives from the sshd configuration.', + commands=[["sed", "-i", "/^\\s*ShowPatchLevel.*$/Id", sshd_config_path]] + ) + ]) diff --git a/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/tests/test_opensshdeprecateddirectivescheck.py b/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/tests/test_opensshdeprecateddirectivescheck.py new file mode 100644 index 0000000..8bb3fc3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshdeprecateddirectivescheck/tests/test_opensshdeprecateddirectivescheck.py @@ -0,0 +1,51 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.opensshdeprecateddirectivescheck import inhibit_if_deprecated_directives_used +from leapp.libraries.common.testutils import create_report_mocked, logger_mocked +from leapp.models import OpenSshConfig +from leapp.utils.report import is_inhibitor + + +def test_inhibit_if_deprecated_directives_used(monkeypatch): + """Tests whether the upgrade is inhibited when deprecated directives are used in config.""" + created_report = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', created_report) + + ssh_config = OpenSshConfig( + permit_root_login=[], + deprecated_directives=['ShowPatchLevel'] + ) + + inhibit_if_deprecated_directives_used(ssh_config) + + fail_description = 'Report entry was not created when deprecated directive found in the ssh config.' + assert created_report.called == 1, fail_description + + fail_description = 'Report doesn\'t have information about deprecated directive in the title.' + assert 'deprecated directive' in created_report.report_fields['title'].lower(), fail_description + + fail_description = 'Report doesn\'t contain the (mocked) deprecated directive present in the config.' + # The report should have the directive in a preserved form (same as found in configuration) + assert 'ShowPatchLevel' in created_report.report_fields['summary'], fail_description + + assert created_report.report_fields['severity'] == 'high', 'Report has incorrect severity.' + + fail_description = 'Report should have the inhibition flag set when deprecated directive is present.' + assert is_inhibitor(created_report.report_fields), fail_description + + assert created_report.report_fields['detail']['remediations'], 'Report should carry some remediation information.' + + +def test_inhibit_if_deprecated_directives_used_no_deprecated_directives(monkeypatch): + """Tests whether the upgrade is not inhibited when no deprecated directives are used in config.""" + created_report = create_report_mocked() + monkeypatch.setattr(reporting, 'create_report', created_report) + + ssh_config = OpenSshConfig( + permit_root_login=[], + deprecated_directives=[] + ) + + inhibit_if_deprecated_directives_used(ssh_config) + assert created_report.called == 0, 'No report should be created if no deprecated directive present in the config.' diff --git a/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/actor.py b/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/actor.py new file mode 100644 index 0000000..1c9bdeb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor import opensshprotocolcheck +from leapp.models import OpenSshConfig, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class OpenSshProtocolCheck(Actor): + """ + Protocol configuration option was removed. + + Check the value of Protocol in OpenSSH server config file + and warn about its deprecation if it is set. This option was removed + in RHEL 7.4, but it might still be hanging around. + """ + + name = 'open_ssh_protocol' + consumes = (OpenSshConfig, ) + produces = (Report, ) + tags = (ChecksPhaseTag, IPUWorkflowTag, ) + + def process(self): + opensshprotocolcheck.process(self.consume(OpenSshConfig)) diff --git a/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/libraries/opensshprotocolcheck.py b/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/libraries/opensshprotocolcheck.py new file mode 100644 index 0000000..936c3dd --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/libraries/opensshprotocolcheck.py @@ -0,0 +1,31 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api + + +def process(openssh_messages): + config = next(openssh_messages, None) + if list(openssh_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSshConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssh configuration', details={'details': 'No OpenSshConfig facts found.'} + ) + + if config.protocol: + reporting.create_report([ + reporting.Title('OpenSSH configured with removed configuration Protocol'), + reporting.Summary( + 'OpenSSH is configured with removed configuration ' + 'option Protocol. If this used to be for enabling ' + 'SSHv1, this is no longer supported in RHEL 8. ' + 'Otherwise this option can be simply removed.' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + ]) diff --git a/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/tests/unit_test_opensshprotocolcheck.py b/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/tests/unit_test_opensshprotocolcheck.py new file mode 100644 index 0000000..f996288 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshprotocolcheck/tests/unit_test_opensshprotocolcheck.py @@ -0,0 +1,28 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import opensshprotocolcheck +from leapp.models import OpenSshConfig, OpenSshPermitRootLogin, Report +from leapp.snactor.fixture import current_actor_context + + +def test_no_config(current_actor_context): + with pytest.raises(StopActorExecutionError): + opensshprotocolcheck.process(iter([])) + + +osprl = OpenSshPermitRootLogin(value='no') + + +@pytest.mark.parametrize('protocol', [None, '1', '2', '1,2', '2,1', '7']) +def test_protocol(current_actor_context, protocol): + current_actor_context.feed(OpenSshConfig( + permit_root_login=[osprl], + protocol=protocol, + deprecated_directives=[] + )) + current_actor_context.run() + if protocol: + assert current_actor_context.consume(Report) + else: + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/actor.py b/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/actor.py new file mode 100644 index 0000000..1a46c08 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import opensshuseprivilegeseparationcheck +from leapp.models import OpenSshConfig, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class OpenSshUsePrivilegeSeparationCheck(Actor): + """ + UsePrivilegeSeparation configuration option was removed. + + Check the value of UsePrivilegeSeparation in OpenSSH server config file + and warn about its deprecation if it is set to non-default value. + """ + name = 'open_ssh_use_privilege_separation' + consumes = (OpenSshConfig, ) + produces = (Report, ) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + opensshuseprivilegeseparationcheck.process(self.consume(OpenSshConfig)) diff --git a/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/libraries/opensshuseprivilegeseparationcheck.py b/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/libraries/opensshuseprivilegeseparationcheck.py new file mode 100644 index 0000000..db82a39 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/libraries/opensshuseprivilegeseparationcheck.py @@ -0,0 +1,31 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api + + +def process(openssh_messages): + config = next(openssh_messages, None) + if list(openssh_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSshConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssh configuration', details={'details': 'No OpenSshConfig facts found.'} + ) + + if config.use_privilege_separation is not None and \ + config.use_privilege_separation != "sandbox": + reporting.create_report([ + reporting.Title('OpenSSH configured not to use privilege separation sandbox'), + reporting.Summary( + 'OpenSSH is configured to disable privilege ' + 'separation sandbox, which is decreasing security ' + 'and is no longer supported in RHEL 8' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + ]) diff --git a/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/tests/unit_test_opensshuseprivilegeseparationcheck.py b/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/tests/unit_test_opensshuseprivilegeseparationcheck.py new file mode 100644 index 0000000..8a35c7a --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/opensshuseprivilegeseparationcheck/tests/unit_test_opensshuseprivilegeseparationcheck.py @@ -0,0 +1,41 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import opensshuseprivilegeseparationcheck +from leapp.models import OpenSshConfig, OpenSshPermitRootLogin, Report +from leapp.snactor.fixture import current_actor_context + + +def test_no_config(current_actor_context): + with pytest.raises(StopActorExecutionError): + opensshuseprivilegeseparationcheck.process(iter([])) + + +osprl = OpenSshPermitRootLogin(value='no') + + +@pytest.mark.parametrize('values,expected_report', [ + ([''], False), + (['sandbox'], False), + (['yes'], True), + (['no'], True), + (['sandbox', 'yes'], False), + (['yes', 'sandbox'], True)]) +def test_separation(current_actor_context, values, expected_report): + for value in values: + if value: + current_actor_context.feed(OpenSshConfig( + permit_root_login=[osprl], + use_privilege_separation=value, + deprecated_directives=[] + )) + else: + current_actor_context.feed(OpenSshConfig( + permit_root_login=[osprl], + deprecated_directives=[] + )) + current_actor_context.run() + if expected_report: + assert current_actor_context.consume(Report) + else: + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/pammodulesscanner/actor.py b/repos/system_upgrade/el7toel8/actors/pammodulesscanner/actor.py new file mode 100644 index 0000000..4243cd3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/pammodulesscanner/actor.py @@ -0,0 +1,43 @@ +import os + +from leapp.actors import Actor +from leapp.libraries.common.pam import PAM +from leapp.libraries.stdlib import api +from leapp.models import PamConfiguration, PamService +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class PamModulesScanner(Actor): + """ + Scan the pam directory for services and modules used in them + + This produces a PAMConfiguration message containing the whole + list of configured PAM services and what modules they contain. + """ + + name = 'pam_modules_scanner' + consumes = () + produces = (PamConfiguration, ) + tags = (FactsPhaseTag, IPUWorkflowTag, ) + + def process(self): + conf = [] + path = "/etc/pam.d/" + for f in os.listdir(path): + pam_file = os.path.join(path, f) + # Ignore symlinks (usually handled by authconfig) + if not os.path.isfile(pam_file) or os.path.islink(pam_file): + continue + + # Use the existing PAM library to parse the files, but unpack it to our model + try: + content = PAM.read_file(pam_file) + modules = PAM(content) + service = PamService(service=f, modules=modules.modules) + conf.append(service) + except OSError as err: + # if leapp can not read that file it will probably not be important + api.current_logger().warning('Failed to read file {}: {}'.format(pam_file, err.strerror)) + + pam = PamConfiguration(services=conf) + self.produce(pam) diff --git a/repos/system_upgrade/el7toel8/actors/postgresqlcheck/actor.py b/repos/system_upgrade/el7toel8/actors/postgresqlcheck/actor.py new file mode 100644 index 0000000..2935d53 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/postgresqlcheck/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor.postgresqlcheck import report_installed_packages +from leapp.models import InstalledRedHatSignedRPM, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class PostgresqlCheck(Actor): + """ + Actor checking for presence of PostgreSQL installation. + + Provides user with information related to upgrading systems + with PostgreSQL installed. + """ + name = 'postgresql_check' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + report_installed_packages() diff --git a/repos/system_upgrade/el7toel8/actors/postgresqlcheck/libraries/postgresqlcheck.py b/repos/system_upgrade/el7toel8/actors/postgresqlcheck/libraries/postgresqlcheck.py new file mode 100644 index 0000000..1c32cc8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/postgresqlcheck/libraries/postgresqlcheck.py @@ -0,0 +1,88 @@ +from leapp import reporting +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + +# Summary for postgresql-server report +report_server_inst_summary = ( + 'PostgreSQL server component will be upgraded. Since RHEL-8 includes' + ' PostgreSQL server 10 by default, which is incompatible with 9.2' + ' included in RHEL-7, it is necessary to proceed with additional steps' + ' for the complete upgrade of the PostgreSQL data.' +) + +report_server_inst_hint = ( + 'Back up your data before proceeding with the upgrade' + ' and follow steps in the documentation section "Migrating to a RHEL 8 version of PostgreSQL"' + ' after the upgrade.' +) + +# Link URL for postgresql-server report +report_server_inst_link_url = 'https://red.ht/rhel-8-migrate-postgresql-server' + +# List of dropped extensions from postgresql-contrib package +report_contrib_inst_dropext = ['dummy_seclabel', 'test_parser', 'tsearch2'] + +# Summary for postgresql-contrib report +report_contrib_inst_summary = ( + 'Please note that some extensions have been dropped from the' + ' postgresql-contrib package and might not be available after' + ' the upgrade:{}' + .format(''.join(['\n - {}'.format(i) for i in report_contrib_inst_dropext])) +) + + +def _report_server_installed(): + """ + Create report on postgresql-server package installation detection. + + Should remind user about present PostgreSQL server package + installation, warn them about necessary additional steps, and + redirect them to online documentation for the upgrade process. + """ + reporting.create_report([ + reporting.Title('PostgreSQL (postgresql-server) has been detected on your system'), + reporting.Summary(report_server_inst_summary), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.ExternalLink(title='Migrating to a RHEL 8 version of PostgreSQL', + url=report_server_inst_link_url), + reporting.RelatedResource('package', 'postgresql-server'), + reporting.Remediation(hint=report_server_inst_hint), + ]) + + +def _report_contrib_installed(): + """ + Create report on postgresql-contrib package installation detection. + + Should remind user about present PostgreSQL contrib package + installation and provide them with a list of extensions no longer + shipped with this package. + """ + reporting.create_report([ + reporting.Title('PostgreSQL (postgresql-contrib) has been detected on your system'), + reporting.Summary(report_contrib_inst_summary), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource('package', 'postgresql-contrib') + ]) + + +def report_installed_packages(_context=api): + """ + Create reports according to detected PostgreSQL packages. + + Create the report if the postgresql-server rpm (RH signed) is installed. + Additionally, create another report if the postgresql-contrib rpm + is installed. + """ + has_server = has_package(InstalledRedHatSignedRPM, 'postgresql-server', context=_context) + has_contrib = has_package(InstalledRedHatSignedRPM, 'postgresql-contrib', context=_context) + + if has_server: + # postgresql-server + _report_server_installed() + if has_contrib: + # postgresql-contrib + _report_contrib_installed() diff --git a/repos/system_upgrade/el7toel8/actors/postgresqlcheck/tests/test_postgresqlcheck.py b/repos/system_upgrade/el7toel8/actors/postgresqlcheck/tests/test_postgresqlcheck.py new file mode 100644 index 0000000..658d3e4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/postgresqlcheck/tests/test_postgresqlcheck.py @@ -0,0 +1,73 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.postgresqlcheck import report_installed_packages +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, RPM + + +def _generate_rpm_with_name(name): + """ + Generate new RPM model item with given name. + + Parameters: + name (str): rpm name + + Returns: + rpm (RPM): new RPM object with name parameter set + """ + return RPM(name=name, + version='0.1', + release='1.sm01', + epoch='1', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51', + packager='Red Hat, Inc. ', + arch='noarch') + + +@pytest.mark.parametrize('has_server,has_contrib', [ + (True, True), # both server, contrib + (True, False), # only server + (False, False), # neither +]) +def test_actor_execution(monkeypatch, has_server, has_contrib): + """ + Parametrized helper function for test_actor_* functions. + + First generate list of RPM models based on set arguments. Then, run + the actor fed with our RPM list. Finally, assert Reports + according to set arguments. + + Parameters: + has_server (bool): postgresql-server installed + has_contrib (bool): postgresql-contrib installed + """ + + # Couple of random packages + rpms = [_generate_rpm_with_name('sed'), + _generate_rpm_with_name('htop')] + + if has_server: + # Add postgresql-server + rpms += [_generate_rpm_with_name('postgresql-server')] + if has_contrib: + # Add postgresql-contrib + rpms += [_generate_rpm_with_name('postgresql-contrib')] + + curr_actor_mocked = CurrentActorMocked(msgs=[InstalledRedHatSignedRPM(items=rpms)]) + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + # Executed actor fed with out fake RPMs + report_installed_packages(_context=api) + + if has_server and has_contrib: + # Assert for postgresql-server and postgresql-contrib packages installed + assert reporting.create_report.called == 2 + elif has_server: + # Assert only for postgresql-server package installed + assert reporting.create_report.called == 1 + else: + # Assert for no postgresql packages installed + assert not reporting.create_report.called diff --git a/repos/system_upgrade/el7toel8/actors/powertop/actor.py b/repos/system_upgrade/el7toel8/actors/powertop/actor.py new file mode 100644 index 0000000..66af92f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/powertop/actor.py @@ -0,0 +1,35 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class PowerTop(Actor): + """ + Check if PowerTOP is installed. If yes, write information about non-compatible changes. + """ + + name = 'powertop' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, 'powertop'): + create_report([ + reporting.Title('PowerTOP compatibility options removed in the next major version'), + reporting.Summary( + 'The -d (dump) option which has been kept for RHEL backward compatibility has been ' + 'dropped.\n' + 'The -h option which has been used for RHEL backward compatibility is no longer ' + 'alias for --html, but it\'s now an alias for --help to follow the upstream.\n' + 'The -u option which has been used for RHEL backward compatibility as an alias for ' + '--help has been dropped.\n' + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([reporting.Groups.TOOLS, reporting.Groups.MONITORING]), + reporting.Remediation(hint='Please remove the dropped options from your scripts.'), + reporting.RelatedResource('package', 'powertop') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/powertop/tests/component_test_powertop.py b/repos/system_upgrade/el7toel8/actors/powertop/tests/component_test_powertop.py new file mode 100644 index 0000000..9ae5968 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/powertop/tests/component_test_powertop.py @@ -0,0 +1,33 @@ +from leapp.models import InstalledRedHatSignedRPM, RPM +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def create_modulesfacts(installed_rpm): + return InstalledRedHatSignedRPM(items=installed_rpm) + + +def test_actor_with_powertop_package(current_actor_context): + with_powertop = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='powertop', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=with_powertop)) + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_without_powertop_package(current_actor_context): + without_powertop = [ + RPM(name='grep', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51'), + RPM(name='sed', version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51')] + + current_actor_context.feed(create_modulesfacts(installed_rpm=without_powertop)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/pythoninformuser/actor.py b/repos/system_upgrade/el7toel8/actors/pythoninformuser/actor.py new file mode 100644 index 0000000..b720475 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/pythoninformuser/actor.py @@ -0,0 +1,33 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class PythonInformUser(Actor): + name = "python_inform_user" + description = "This actor informs the user of differences in Python version and support in RHEL 8." + consumes = () + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + url = "https://red.ht/rhel-8-python" + title = "Difference in Python versions and support in RHEL 8" + summary = ("In RHEL 8, there is no 'python' command." + " Python 3 (backward incompatible) is the primary Python version" + " and Python 2 is available with limited support and limited set of packages." + " If you no longer require Python 2 packages following the upgrade, please remove them." + " Read more here: {}".format(url)) + create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.PYTHON]), + reporting.Audience('developer'), + reporting.ExternalLink(url, title), + reporting.Remediation(hint='Please run "alternatives --set python /usr/bin/python3" after upgrade'), + reporting.RelatedResource('package', 'python'), + reporting.RelatedResource('package', 'python2'), + reporting.RelatedResource('package', 'python3') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/quaggadaemons/actor.py b/repos/system_upgrade/el7toel8/actors/quaggadaemons/actor.py new file mode 100644 index 0000000..72fb631 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggadaemons/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor.quaggadaemons import process_daemons +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM, QuaggaToFrrFacts +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class QuaggaDaemons(Actor): + """ + Active quagga daemons check. + + Checking for daemons that are currently running in the system. + These should be enabled in /etc/frr/daemons later in the process. + The tools will check for config files later on since these should stay in the system. + """ + + name = 'quagga_daemons' + consumes = (InstalledRedHatSignedRPM,) + produces = (QuaggaToFrrFacts,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, 'quagga'): + self.produce(process_daemons()) diff --git a/repos/system_upgrade/el7toel8/actors/quaggadaemons/libraries/quaggadaemons.py b/repos/system_upgrade/el7toel8/actors/quaggadaemons/libraries/quaggadaemons.py new file mode 100644 index 0000000..6340efc --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggadaemons/libraries/quaggadaemons.py @@ -0,0 +1,37 @@ +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import QuaggaToFrrFacts + +QUAGGA_DAEMONS = [ + 'babeld', + 'bgpd', + 'isisd', + 'ospf6d', + 'ospfd', + 'ripd', + 'ripngd', + 'zebra' +] + + +def _check_service(name, state): + try: + run(['systemctl', 'is-{}'.format(state), name]) + api.current_logger().debug('%s is %s', name, state) + except CalledProcessError: + api.current_logger().debug('%s is not %s', name, state) + return False + + return True + + +def process_daemons(): + active_daemons = [daemon for daemon in QUAGGA_DAEMONS if _check_service(daemon, 'active')] + enabled_daemons = [daemon for daemon in QUAGGA_DAEMONS if _check_service(daemon, 'enabled')] + + if active_daemons: + api.current_logger().debug('active quaggadaemons: %s', ', '.join(active_daemons)) + + if enabled_daemons: + api.current_logger().debug('enabled quaggadaemons: %s', ', '.join(enabled_daemons)) + + return QuaggaToFrrFacts(active_daemons=active_daemons, enabled_daemons=enabled_daemons) diff --git a/repos/system_upgrade/el7toel8/actors/quaggadaemons/tests/test_unit_quaggadaemons.py b/repos/system_upgrade/el7toel8/actors/quaggadaemons/tests/test_unit_quaggadaemons.py new file mode 100644 index 0000000..a25faea --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggadaemons/tests/test_unit_quaggadaemons.py @@ -0,0 +1,21 @@ +from leapp.libraries.actor import quaggadaemons +from leapp.models import QuaggaToFrrFacts + +# daemons for mocked _check_service function +TEST_DAEMONS = ['bgpd', 'ospfd', 'zebra'] + + +def mock_check_service(name, state): + if name in TEST_DAEMONS: + return True + + return False + + +def test_process_daemons(): + quaggadaemons._check_service = mock_check_service + + facts = quaggadaemons.process_daemons() + assert isinstance(facts, QuaggaToFrrFacts) + assert facts.active_daemons == TEST_DAEMONS + assert facts.enabled_daemons == TEST_DAEMONS diff --git a/repos/system_upgrade/el7toel8/actors/quaggareport/actor.py b/repos/system_upgrade/el7toel8/actors/quaggareport/actor.py new file mode 100644 index 0000000..faa55eb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggareport/actor.py @@ -0,0 +1,47 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import QuaggaToFrrFacts, Report +from leapp.reporting import create_report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +COMMON_REPORT_TAGS = [ + reporting.Groups.NETWORK, + reporting.Groups.SERVICES +] + + +class QuaggaReport(Actor): + """ + Checking for babeld on RHEL-7. + + This actor is supposed to report that babeld was used on RHEL-7 + and it is no longer available in RHEL-8. + """ + + name = 'quagga_report' + consumes = (QuaggaToFrrFacts, ) + produces = (Report, ) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + try: + quagga_facts = next(self.consume(QuaggaToFrrFacts)) + except StopIteration: + return + if 'babeld' in quagga_facts.active_daemons or 'babeld' in quagga_facts.enabled_daemons: + create_report([ + reporting.Title('Babeld is not available in FRR'), + reporting.ExternalLink( + url='https://red.ht/rhel-8-configuring-routing-protocols', + title='Setting routing protocols in RHEL8'), + reporting.Summary( + 'babeld daemon which was a part of quagga implementation in RHEL7 ' + 'is not available in RHEL8 in FRR due to licensing issues.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(COMMON_REPORT_TAGS), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation(hint='Please use RIP, OSPF or EIGRP instead of Babel') + ]) + else: + self.log.debug('babeld not used, moving on.') diff --git a/repos/system_upgrade/el7toel8/actors/quaggareport/tests/test_quaggareport.py b/repos/system_upgrade/el7toel8/actors/quaggareport/tests/test_quaggareport.py new file mode 100644 index 0000000..4bf7f64 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggareport/tests/test_quaggareport.py @@ -0,0 +1,40 @@ +import pytest + +from leapp.models import QuaggaToFrrFacts +from leapp.snactor.fixture import ActorContext + + +# TODO We can't use caplog here as logs from other processes is +# hard to capture and caplog not see it. +@pytest.mark.parametrize( + ("quagga_facts", "active_daemons", "has_report", "msg_in_log"), + [ + (True, ["babeld"], True, None), + (True, ["something_else"], False, "babeld not used, moving on"), + (False, [], False, None), + ], +) +def test_quaggareport( + monkeypatch, + current_actor_context, + quagga_facts, + active_daemons, + has_report, + msg_in_log, +): + """Test quaggareport. + + :type current_actor_context:ActorContext + """ + if quagga_facts: + current_actor_context.feed( + QuaggaToFrrFacts( + active_daemons=active_daemons, + enabled_daemons=["bgpd", "ospfd", "zebra"], + ) + ) + current_actor_context.run() + if has_report: + assert current_actor_context.messages()[0]["type"] == "Report" + if msg_in_log: + assert not current_actor_context.messages() diff --git a/repos/system_upgrade/el7toel8/actors/quaggatofrr/actor.py b/repos/system_upgrade/el7toel8/actors/quaggatofrr/actor.py new file mode 100644 index 0000000..5623cd4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggatofrr/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor.quaggatofrr import process_facts +from leapp.models import QuaggaToFrrFacts +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class QuaggaToFrr(Actor): + """ + Edit frr configuration on the new system. + + Take gathered info about quagga from RHEL 7 and apply these to frr in RHEL 8. + """ + + name = 'quagga_to_frr' + consumes = (QuaggaToFrrFacts, ) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + quagga_facts = next(self.consume(QuaggaToFrrFacts), None) + + if quagga_facts: + process_facts(quagga_facts) diff --git a/repos/system_upgrade/el7toel8/actors/quaggatofrr/libraries/quaggatofrr.py b/repos/system_upgrade/el7toel8/actors/quaggatofrr/libraries/quaggatofrr.py new file mode 100644 index 0000000..07bccf9 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggatofrr/libraries/quaggatofrr.py @@ -0,0 +1,101 @@ +import os +import re +import shutil + +from leapp.libraries.common.config import version +from leapp.libraries.stdlib import api, CalledProcessError, run + +DAEMON_FILE = '/etc/frr/daemons' +# if this file still exists after the removal of quagga, it has been modified +CONFIG_FILE = '/etc/sysconfig/quagga.rpmsave' +QUAGGA_CONF_FILES = '/etc/quagga/' +FRR_CONF_FILES = '/etc/frr/' +BGPD_CONF_FILE = '/etc/frr/bgpd.conf' + +regex = re.compile(r'\w+(?= 8.4"): + if os.path.isfile(BGPD_CONF_FILE): + with open(BGPD_CONF_FILE, 'r') as f: + data = f.read() + data = re.sub("ip extcommunity-list", "bgp extcommunity-list", data, flags=re.MULTILINE) + with open(BGPD_CONF_FILE, 'w') as f: + f.write(data) + + +def process_facts(quagga_facts): + _change_config(quagga_facts) + _copy_config_files(QUAGGA_CONF_FILES, FRR_CONF_FILES) + _fix_commands() + _enable_frr(quagga_facts) diff --git a/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/bgpd.conf b/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/bgpd.conf new file mode 100644 index 0000000..d37d27d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/bgpd.conf @@ -0,0 +1,33 @@ +hostname BGP_Seed +password test +! +router bgp 65000 + bgp router-id 127.0.0.1 + network 10.0.0.0/24 + neighbor 127.0.0.1 remote-as 65001 + neighbor 127.0.0.1 route-map RMAPpsklenar in + neighbor 127.0.0.1 route-map RMAPpsklenar out +! +! ACCEPT ECOMMUNITY +ip extcommunity-list standard xuser permit rt 65001:80 +! +route-map RMAPbrno permit 20 + match extcommunity psklenar + set local-preference 80 +! +log file /var/log/quagga/bgpd.log debugging +! +!route-map SetAttr permit 10 +! set community 65000:1 additive +! set extcommunity rt 65000:1 +! set aggregator as 65002 1.2.3.4 +! set as-path prepend 1 2 3 4 +! set atomic-aggregate +! set metric 20 +! set originator-id 1.2.3.4 +! +line vty + no login +! +access-list CONF permit 10.0.0.0/24 +!end diff --git a/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/daemons b/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/daemons new file mode 100644 index 0000000..6b5ccd4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/daemons @@ -0,0 +1,82 @@ +# This file tells the frr package which daemons to start. +# +# Entries are in the format: =(yes|no|priority) +# 0, "no" = disabled +# 1, "yes" = highest priority +# 2 .. 10 = lower priorities +# +# For daemons which support multiple instances, a 2nd line listing +# the instances can be added. Eg for ospfd: +# ospfd=yes +# ospfd_instances="1,2" +# +# Priorities were suggested by Dancer . +# They're used to start the FRR daemons in more than one step +# (for example start one or two at network initialization and the +# rest later). The number of FRR daemons being small, priorities +# must be between 1 and 9, inclusive (or the initscript has to be +# changed). /etc/init.d/frr then can be started as +# +# /etc/init.d/frr > +# +# where priority 0 is the same as 'stop', priority 10 or 'start' +# means 'start all' +# +# Sample configurations for these daemons can be found in +# /usr/share/doc/frr/examples/. +# +# ATTENTION: +# +# When activation a daemon at the first time, a config file, even if it is +# empty, has to be present *and* be owned by the user and group "frr", else +# the daemon will not be started by /etc/init.d/frr. The permissions should +# be u=rw,g=r,o=. +# When using "vtysh" such a config file is also needed. It should be owned by +# group "frrvty" and set to ug=rw,o= though. Check /etc/pam.d/frr, too. +# +watchfrr_enable=yes +watchfrr_options="-r '/usr/lib/frr/frr restart %s' -s '/usr/lib/frr/frr start %s' -k '/usr/lib/frr/frr stop %s'" +# +zebra=no +bgpd=no +ospfd=no +ospf6d=no +ripd=no +ripngd=no +isisd=no +pimd=no +nhrpd=no +eigrpd=no +sharpd=no +pbrd=no +staticd=no +bfdd=no +fabricd=no + +# +# Command line options for the daemons +# +zebra_options=("-A 127.0.0.1") +bgpd_options=("-A 127.0.0.1") +ospfd_options=("-A 127.0.0.1") +ospf6d_options=("-A ::1") +ripd_options=("-A 127.0.0.1") +ripngd_options=("-A ::1") +isisd_options=("-A 127.0.0.1") +pimd_options=("-A 127.0.0.1") +nhrpd_options=("-A 127.0.0.1") +eigrpd_options=("-A 127.0.0.1") +sharpd_options=("-A 127.0.0.1") +pbrd_options=("-A 127.0.0.1") +staticd_options=("-A 127.0.0.1") +bfdd_options=("-A 127.0.0.1") +fabricd_options=("-A 127.0.0.1") + +# +# If the vtysh_enable is yes, then the unified config is read +# and applied if it exists. If no unified frr.conf exists +# then the per-daemon .conf files are used) +# If vtysh_enable is no or non-existent, the frr.conf is ignored. +# it is highly suggested to have this set to yes +vtysh_enable=yes + diff --git a/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/quagga b/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/quagga new file mode 100644 index 0000000..1f9f0cd --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/files/quagga @@ -0,0 +1,24 @@ +# +# Default: Bind all daemon vtys to the loopback(s) only +# +BABELD_OPTS="--daemon -A 192.168.100.1" +BGPD_OPTS="--daemon -A 10.10.100.1" +ISISD_OPTS="--daemon -A ::1" +OSPF6D_OPTS="-A ::1" +OSPFD_OPTS="-A 127.0.0.1" +RIPD_OPTS="-A 127.0.0.1" +RIPNGD_OPTS="-A ::1" +ZEBRA_OPTS="-s 90000000 --daemon -A 127.0.0.1" + +# Watchquagga configuration for LSB initscripts +# +# (Not needed with systemd: the service files are configured to automatically +# restart any daemon on failure. If zebra fails, all running daemons will be +# stopped; zebra will be started again; and then the previously running daemons +# will be started again.) +# +# Uncomment and edit this line to reflect the daemons you are actually using: +#WATCH_DAEMONS="zebra bgpd ospfd ospf6d ripd ripngd" +# +# Timer values can be adjusting by editing this line: +WATCH_OPTS="-Az -b_ -r/sbin/service_%s_restart -s/sbin/service_%s_start -k/sbin/service_%s_stop" diff --git a/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/test_unit_quaggatofrr.py b/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/test_unit_quaggatofrr.py new file mode 100644 index 0000000..503dbfb --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/quaggatofrr/tests/test_unit_quaggatofrr.py @@ -0,0 +1,168 @@ +import contextlib +import os +import shutil + +import pytest + +from leapp.libraries.actor import quaggatofrr +from leapp.libraries.common.testutils import CurrentActorMocked + +ACTIVE_DAEMONS = ['bgpd', 'ospfd', 'zebra'] +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) +FROM_DIR = '/tmp/from_dir/' +TO_DIR = '/tmp/to_dir/' +CONFIG_DATA = { + 'bgpd': '--daemon -A 10.10.100.1', + 'isisd': '--daemon -A ::1', + 'ospf6d': '-A ::1', + 'ospfd': '-A 127.0.0.1', + 'ripd': '-A 127.0.0.1', + 'ripngd': '-A ::1', + 'zebra': '-s 90000000 --daemon -A 127.0.0.1' +} + + +@contextlib.contextmanager +def _create_mock_files(): + try: + os.mkdir(FROM_DIR) + os.mkdir(TO_DIR) + + for num in range(1, 10): + full_path = "{}test_file_{}".format(FROM_DIR, num) + with open(full_path, 'w') as fp: + fp.write("test_file_{}".format(num)) + yield + finally: + shutil.rmtree(FROM_DIR) + shutil.rmtree(TO_DIR) + + +class MockedFilePointer(object): + def __init__(self, orig_open, fname, mode='r'): + self._orig_open = orig_open + self.fname = fname + self.mode = mode + # we want always read only.. + self._fp = self._orig_open(fname, 'r') + self._read = None + self.written = None + + def __enter__(self): + return self + + def __exit__(self, *args, **kwargs): + self.close() + + def close(self): + if self._fp: + self._fp.close() + self._fp = None + + def read(self): + self._read = self._fp.read() + return self._read + + def write(self, data): + if not self.written: + self.written = data + else: + self.written += data + + +class MockedOpen(object): + """ + This is mock for the open function. When called it creates + the MockedFilePointer object. + """ + + def __init__(self): + # currently we want to actually open the real files, we need + # to mock other stuff related to file pointers / file objects + self._orig_open = open + self._open_called = [] + + def __call__(self, fname, mode='r'): + opened = MockedFilePointer(self._orig_open, fname, mode) + self._open_called.append(opened) + return opened + + def get_mocked_pointers(self, fname, mode=None): + """ + Get list of MockedFilePointer objects with the specified fname. + + if the mode is set (expected 'r', 'rw', 'w' ..) discovered files are + additionally filtered to match the same mode (same string). + """ + fnames = [i for i in self._open_called if i.fname == fname] + return fnames if not mode else [i for i in fnames if i.mode == mode] + + +def test_copy_config_files(): + with _create_mock_files(): + quaggatofrr._copy_config_files(FROM_DIR, TO_DIR) + conf_files = os.listdir(TO_DIR) + for file_name in conf_files: + full_path = os.path.join(TO_DIR, file_name) + assert os.path.isfile(full_path) + + +def test_get_config_data(): + conf_data = quaggatofrr._get_config_data( + os.path.join(CUR_DIR, 'files/quagga') + ) + + assert 'babels' not in conf_data + assert conf_data['bgpd'] == CONFIG_DATA['bgpd'] + assert conf_data['isisd'] == CONFIG_DATA['isisd'] + assert conf_data['ospf6d'] == CONFIG_DATA['ospf6d'] + assert conf_data['ospfd'] == CONFIG_DATA['ospfd'] + assert conf_data['ripd'] == CONFIG_DATA['ripd'] + assert conf_data['ripngd'] == CONFIG_DATA['ripngd'] + assert conf_data['zebra'] == CONFIG_DATA['zebra'] + + +def test_edit_new_config(): + # writing the data to the new config file + data = quaggatofrr._edit_new_config( + os.path.join(CUR_DIR, 'files/daemons'), + ACTIVE_DAEMONS, + CONFIG_DATA + ) + + assert 'zebra=yes' in data + assert 'bgpd=yes' in data + assert 'ospfd=yes' in data + assert 'zebra_options=("-s 90000000 --daemon -A 127.0.0.1")' in data + assert 'bgpd_options=("--daemon -A 10.10.100.1")' in data + assert 'ospfd_options=("-A 127.0.0.1")' in data + assert 'ospf6d_options=("-A ::1")' in data + assert 'ripd_options=("-A 127.0.0.1")' in data + assert 'ripngd_options=("-A ::1")' in data + assert 'isisd_options=("--daemon -A ::1")' in data + + +@pytest.mark.parametrize('dst_ver', ['8.4', '8.5']) +def test_fix_commands(monkeypatch, dst_ver): + monkeypatch.setattr(quaggatofrr, "BGPD_CONF_FILE", os.path.join(CUR_DIR, 'files/bgpd.conf')) + monkeypatch.setattr(quaggatofrr.api, 'current_actor', CurrentActorMocked(dst_ver=dst_ver)) + monkeypatch.setattr(quaggatofrr, "open", MockedOpen(), False) + quaggatofrr._fix_commands() + + fp_list = quaggatofrr.open.get_mocked_pointers(quaggatofrr.BGPD_CONF_FILE, "w") + assert len(fp_list) == 1 + assert 'bgp extcommunity-list' in fp_list[0].written + + +def test_fix_commands_not_applied(monkeypatch): + is_file_called = False + + def mocked_is_file(dummy): + is_file_called = True + return is_file_called + + monkeypatch.setattr(quaggatofrr.api, 'current_actor', CurrentActorMocked(dst_ver='8.3')) + monkeypatch.setattr(os.path, 'isfile', mocked_is_file) + monkeypatch.setattr(quaggatofrr, "open", MockedOpen(), False) + quaggatofrr._fix_commands() + assert not is_file_called diff --git a/repos/system_upgrade/el7toel8/actors/registeryumadjustment/actor.py b/repos/system_upgrade/el7toel8/actors/registeryumadjustment/actor.py new file mode 100644 index 0000000..62e48c2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/registeryumadjustment/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.models import DNFWorkaround +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RegisterYumAdjustment(Actor): + """ + Registers a workaround which will adjust the yum directories during the upgrade. + """ + + name = 'register_yum_adjustment' + consumes = () + produces = (DNFWorkaround,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + self.produce( + DNFWorkaround( + display_name='yum config fix', + script_path=self.get_tool_path('handleyumconfig'), + ) + ) diff --git a/repos/system_upgrade/el7toel8/actors/registeryumadjustment/tests/test_register_yum_adjustments.py b/repos/system_upgrade/el7toel8/actors/registeryumadjustment/tests/test_register_yum_adjustments.py new file mode 100644 index 0000000..f8439aa --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/registeryumadjustment/tests/test_register_yum_adjustments.py @@ -0,0 +1,12 @@ +import os.path + +from leapp.models import DNFWorkaround +from leapp.snactor.fixture import current_actor_context + + +def test_register_yum_adjustments(current_actor_context): + current_actor_context.run() + assert len(current_actor_context.consume(DNFWorkaround)) == 1 + assert current_actor_context.consume(DNFWorkaround)[0].display_name == 'yum config fix' + assert os.path.basename(current_actor_context.consume(DNFWorkaround)[0].script_path) == 'handleyumconfig' + assert os.path.exists(current_actor_context.consume(DNFWorkaround)[0].script_path) diff --git a/repos/system_upgrade/el7toel8/actors/removeleftoverpackages/actor.py b/repos/system_upgrade/el7toel8/actors/removeleftoverpackages/actor.py new file mode 100644 index 0000000..063e07d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/removeleftoverpackages/actor.py @@ -0,0 +1,56 @@ +from leapp.actors import Actor +from leapp.libraries import stdlib +from leapp.libraries.common import rhsm +from leapp.libraries.common.rpms import get_installed_rpms +from leapp.models import LeftoverPackages, RemovedPackages, RPM +from leapp.reporting import Report +from leapp.tags import ExperimentalTag, IPUWorkflowTag, RPMUpgradePhaseTag + + +class RemoveLeftoverPackages(Actor): + """ + Remove el7 packages left on the system after the upgrade to RHEL 8. + + Removal of el7 packages is necessary in order to keep the machine in supported state. + Actor generates report telling users what packages have been removed. + """ + + name = 'remove_leftover_packages' + consumes = (LeftoverPackages, ) + produces = (Report, RemovedPackages) + tags = (RPMUpgradePhaseTag, IPUWorkflowTag, ExperimentalTag) + + def process(self): + leftover_packages = next(self.consume(LeftoverPackages), LeftoverPackages()) + if not leftover_packages.items: + self.log.info('No leftover packages, skipping...') + return + + installed_rpms = get_installed_rpms() + + to_remove = ['-'.join([pkg.name, pkg.version, pkg.release]) for pkg in leftover_packages.items] + cmd = ['dnf', 'remove', '-y', '--noautoremove'] + to_remove + if rhsm.skip_rhsm(): + # ensure we don't use suscription-manager when it should be skipped + cmd += ['--disableplugin', 'subscription-manager'] + try: + stdlib.run(cmd) + except stdlib.CalledProcessError: + error = 'Failed to remove packages: {}'.format(', '.join(to_remove)) + self.log.error(error) + return + + removed_packages = RemovedPackages() + removed = list(set(installed_rpms) - set(get_installed_rpms())) + for pkg in removed: + name, version, release, epoch, packager, arch, pgpsig = pkg.split('|') + removed_packages.items.append(RPM( + name=name, + version=version, + epoch=epoch, + packager=packager, + arch=arch, + release=release, + pgpsig=pgpsig + )) + self.produce(removed_packages) diff --git a/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/actor.py b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/actor.py new file mode 100644 index 0000000..cda33e1 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/actor.py @@ -0,0 +1,28 @@ +from leapp.actors import Actor +from leapp.libraries.actor.removeoldpammodulesapply import comment_modules, read_file +from leapp.libraries.common.pam import PAM +from leapp.models import RemovedPAMModules +from leapp.tags import IPUWorkflowTag, PreparationPhaseTag + + +class RemoveOldPAMModulesApply(Actor): + """ + Remove old PAM modules that are no longer available in RHEL-8 from + PAM configuration to avoid system lock out. + """ + + name = 'removed_pam_modules_apply' + consumes = (RemovedPAMModules,) + produces = () + tags = (IPUWorkflowTag, PreparationPhaseTag) + + def process(self): + for model in self.consume(RemovedPAMModules): + for path in PAM.files: + content = read_file(path) + if not content: # Nothing to do if no content? + continue + + with open(path, 'w') as f: + f.write(comment_modules(model.modules, content)) + break diff --git a/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/libraries/removeoldpammodulesapply.py b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/libraries/removeoldpammodulesapply.py new file mode 100644 index 0000000..8fd3e13 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/libraries/removeoldpammodulesapply.py @@ -0,0 +1,27 @@ +import os +import re + + +def read_file(config): + """ + Read file contents. Return empty string if the file does not exist. + """ + if not os.path.isfile(config): + return "" + with open(config) as f: + return f.read() + + +def comment_modules(modules, content): + """ + Disable modules in file content by commenting them. + """ + for module in modules: + content = re.sub( + r'^([ \t]*[^#\s]+.*{0}\.so.*)$'.format(module), + r'#\1', + content, + flags=re.MULTILINE + ) + + return content diff --git a/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/tests/unit_test_removeoldpammodulesapply.py b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/tests/unit_test_removeoldpammodulesapply.py new file mode 100644 index 0000000..169bf0c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesapply/tests/unit_test_removeoldpammodulesapply.py @@ -0,0 +1,70 @@ +import textwrap + +from leapp.libraries.actor.removeoldpammodulesapply import comment_modules, read_file + + +def get_config(config): + return textwrap.dedent(config).strip() + + +def test_read_file__non_existent(): + content = read_file('/this/does/not/exist') + assert content == '' + + +def test_read_file__ok(): + content = read_file(__file__) + assert content != '' + assert 'test_read_file__ok' in content + + +def test_comment_modules__none(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_pkcs11.so + auth sufficient pam_krb5.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + expected = pam + + content = comment_modules([], pam) + assert content == expected + + +def test_comment_modules__replaced_single(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_pkcs11.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + expected = get_config(''' + auth sufficient pam_unix.so + #auth sufficient pam_pkcs11.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + content = comment_modules(['pam_pkcs11', 'pam_krb5'], pam) + assert content == expected + + +def test_comment_modules__replaced_all(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_pkcs11.so + auth sufficient pam_krb5.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + expected = get_config(''' + auth sufficient pam_unix.so + #auth sufficient pam_pkcs11.so + #auth sufficient pam_krb5.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + content = comment_modules(['pam_pkcs11', 'pam_krb5'], pam) + assert content == expected diff --git a/repos/system_upgrade/el7toel8/actors/removeoldpammodulescheck/actor.py b/repos/system_upgrade/el7toel8/actors/removeoldpammodulescheck/actor.py new file mode 100644 index 0000000..cf4fdc8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/removeoldpammodulescheck/actor.py @@ -0,0 +1,119 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.dialogs import Dialog +from leapp.dialogs.components import BooleanComponent +from leapp.models import RemovedPAMModules +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class RemoveOldPAMModulesCheck(Actor): + """ + Check if it is all right to disable PAM modules that are not in RHEL-8. + + If admin will refuse to disable these modules (pam_pkcs11 and pam_krb5), + upgrade will be stopped. Otherwise we would risk locking out the system + once these modules are removed. + """ + name = 'removed_pam_modules_check' + consumes = (RemovedPAMModules,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + dialogs = ( + Dialog( + scope='remove_pam_pkcs11_module_check', + reason='Confirmation', + components=( + BooleanComponent( + key='confirm', + label='Disable pam_pkcs11 module in PAM configuration? ' + 'If no, the upgrade process will be interrupted.', + description='PAM module pam_pkcs11 is no longer available ' + 'in RHEL-8 since it was replaced by SSSD.', + reason='Leaving this module in PAM configuration may ' + 'lock out the system.' + ), + ) + ), + Dialog( + scope='remove_pam_krb5_module_check', + reason='Confirmation', + components=( + BooleanComponent( + key='confirm', + label='Disable pam_krb5 module in PAM configuration? ' + 'If no, the upgrade process will be interrupted.', + description='PAM module pam_krb5 is no longer available ' + 'in RHEL-8 since it was replaced by SSSD.', + reason='Leaving this module in PAM configuration may ' + 'lock out the system.' + ), + ) + ), + ) + + modules = [] + + def process(self): + model = next(self.consume(RemovedPAMModules)) + + for module in model.modules: + result = self.confirm(module) + if result: + self.produce_report(module) + elif result is False: + # user specifically chose to disagree with auto disablement + self.produce_inhibitor(module) + + def confirm(self, module): + questions = { + 'pam_pkcs11': self.dialogs[0], + 'pam_krb5': self.dialogs[1] + } + + return self.get_answers(questions[module]).get('confirm') + + def produce_report(self, module): + create_report([ + reporting.Title('Module {0} will be removed from PAM configuration'.format(module)), + reporting.Summary( + 'Module {0} was surpassed by SSSD and therefore it was ' + 'removed from RHEL-8. Keeping it in PAM configuration may ' + 'lock out the system thus it will be automatically removed ' + 'from PAM configuration before upgrading to RHEL-8. ' + 'Please switch to SSSD to recover the functionality ' + 'of {0}.'.format(module) + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.TOOLS + ]), + reporting.Remediation(hint='Configure SSSD to replace {0}'.format(module)), + reporting.RelatedResource('package', 'sssd') + ]) + + def produce_inhibitor(self, module): + create_report([ + reporting.Title( + 'Upgrade process was interrupted because {0} is enabled in ' + 'PAM configuration and SA user refused to disable it ' + 'automatically.'.format(module)), + reporting.Summary( + 'Module {0} was surpassed by SSSD and therefore it was ' + 'removed from RHEL-8. Keeping it in PAM configuration may ' + 'lock out the system thus it is necessary to disable it ' + 'before the upgrade process can continue.'.format(module) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.TOOLS + ]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation( + hint='Disable {0} module and switch to SSSD to recover its functionality.'.format(module)), + reporting.RelatedResource('package', 'sssd') + ]) diff --git a/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/actor.py b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/actor.py new file mode 100644 index 0000000..d22dd31 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor.removeoldpammodulesscanner import RemoveOldPAMModulesScannerLibrary +from leapp.libraries.common.pam import PAM +from leapp.models import RemovedPAMModules +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RemoveOldPAMModulesScanner(Actor): + """ + Scan PAM configuration for modules that are not available in RHEL-8. + + PAM module pam_krb5 and pam_pkcs11 are no longer present in RHEL-8 + and must be removed from PAM configuration, otherwise it may lock out + the system. + """ + name = 'removed_pam_modules_scanner' + consumes = () + produces = (RemovedPAMModules,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + pam = PAM.from_system_configuration() + scanner = RemoveOldPAMModulesScannerLibrary(pam) + self.produce(scanner.process()) diff --git a/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/libraries/removeoldpammodulesscanner.py b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/libraries/removeoldpammodulesscanner.py new file mode 100644 index 0000000..8b133f5 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/libraries/removeoldpammodulesscanner.py @@ -0,0 +1,27 @@ +from leapp.models import RemovedPAMModules + + +class RemoveOldPAMModulesScannerLibrary(object): + """ + Scan PAM configuration for modules that are not available in RHEL-8. + + PAM module pam_krb5 and pam_pkcs11 are no longer present in RHEL-8 + and must be removed from PAM configuration, otherwise it may lock out + the system. + """ + + def __init__(self, pam): + self.pam = pam + + def process(self): + # PAM modules pam_pkcs11 and pam_krb5 are no longer available in + # RHEL8. We must remove them because if they are left in PAM + # configuration it may lock out the system. + modules = [] + for module in ['pam_krb5', 'pam_pkcs11']: + if self.pam.has(module): + modules.append(module) + + return RemovedPAMModules( + modules=modules + ) diff --git a/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/tests/unit_test_removeoldpammodulesscanner.py b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/tests/unit_test_removeoldpammodulesscanner.py new file mode 100644 index 0000000..4eaa44e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/removeoldpammodulesscanner/tests/unit_test_removeoldpammodulesscanner.py @@ -0,0 +1,62 @@ +import textwrap + +from leapp.libraries.actor.removeoldpammodulesscanner import RemoveOldPAMModulesScannerLibrary +from leapp.libraries.common.pam import PAM + + +def get_config(config): + return textwrap.dedent(config).strip() + + +def test_RemoveOldPAMModulesScannerLibrary_process__pkcs11(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_pkcs11.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = RemoveOldPAMModulesScannerLibrary(PAM(pam)) + model = obj.process() + assert model.modules == ['pam_pkcs11'] + + +def test_RemoveOldPAMModulesScannerLibrary_process__krb5(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_krb5.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = RemoveOldPAMModulesScannerLibrary(PAM(pam)) + model = obj.process() + assert model.modules == ['pam_krb5'] + + +def test_RemoveOldPAMModulesScannerLibrary_process__all(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_krb5.so + auth sufficient pam_pkcs11.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = RemoveOldPAMModulesScannerLibrary(PAM(pam)) + model = obj.process() + assert len(model.modules) == 2 + assert 'pam_krb5' in model.modules + assert 'pam_pkcs11' in model.modules + + +def test_RemoveOldPAMModulesScannerLibrary_process__none(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = RemoveOldPAMModulesScannerLibrary(PAM(pam)) + model = obj.process() + assert not model.modules diff --git a/repos/system_upgrade/el7toel8/actors/reportleftoverpackages/reportleftoverpackages/actor.py b/repos/system_upgrade/el7toel8/actors/reportleftoverpackages/reportleftoverpackages/actor.py new file mode 100644 index 0000000..171eab9 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/reportleftoverpackages/reportleftoverpackages/actor.py @@ -0,0 +1,62 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import LeftoverPackages, RemovedPackages +from leapp.reporting import create_report, Report +from leapp.tags import IPUWorkflowTag, RPMUpgradePhaseTag + + +class ReportLeftoverPackages(Actor): + """ + Collect messages about leftover el7 packages and generate report for users. + + Depending on execution of previous actors, generated report contains information that there are still el7 packages + present on the system, which makes it unsupported or lists packages that have been removed. + """ + + name = 'report_leftover_packages' + consumes = (LeftoverPackages, RemovedPackages) + produces = (Report,) + tags = (RPMUpgradePhaseTag, IPUWorkflowTag) + + def process(self): + removed_packages = next(self.consume(RemovedPackages), None) + leftover_packages = next(self.consume(LeftoverPackages), LeftoverPackages()) + to_remove = ['-'.join([pkg.name, pkg.version, pkg.release]) for pkg in leftover_packages.items] + + if removed_packages: + title = 'Leftover RHEL 7 packages have been removed' + + if removed_packages.items: + removed = ['-'.join([pkg.name, pkg.version, pkg.release]) for pkg in removed_packages.items] + create_report([ + reporting.Title(title), + reporting.Summary('Following packages have been removed:\n{}'.format('\n'.join(removed))), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + ] + [reporting.RelatedResource('package', pkg.name) for pkg in removed_packages.items]) + else: + summary = ('Following packages have been removed:\n' + '{}\n' + 'Dependent packages may have been removed as well, please check that you are not missing ' + 'any packages.\n'.format('\n'.join(to_remove))) + + create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + ] + [reporting.RelatedResource('package', pkg.name) for pkg in leftover_packages.items]) + return + + if not leftover_packages.items: + self.log.info('No leftover packages, skipping...') + return + + summary = 'Following RHEL 7 packages have not been upgraded:\n{}\n'.format('\n'.join(to_remove)) + summary += 'Please remove these packages to keep your system in supported state.\n' + create_report([ + reporting.Title('Some RHEL 7 packages have not been upgraded'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY]), + ] + [reporting.RelatedResource('package', pkg.name) for pkg in leftover_packages.items]) diff --git a/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/actor.py b/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/actor.py new file mode 100644 index 0000000..edb1f62 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import sanebackendsmigrate +from leapp.models import InstalledRedHatSignedRPM +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class SanebackendsMigrate(Actor): + """ + Actor for migrating sane-backends configuration files. + + Adds USB quirks for support specific USB scanners if they + are not added during package manager transaction. + """ + + name = 'sanebackends_migrate' + consumes = (InstalledRedHatSignedRPM,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + sanebackendsmigrate.update_sane() diff --git a/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/libraries/sanebackendsmigrate.py b/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/libraries/sanebackendsmigrate.py new file mode 100644 index 0000000..5f8dd24 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/libraries/sanebackendsmigrate.py @@ -0,0 +1,318 @@ +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + +# Database of changes in configuration files of sane-backends +# between RHELs + +CANON_DR = [ + '# P-150M', + 'usb 0x1083 0x162c', + '# DR-M160', + 'option extra-status 1', + 'option duplex-offset 400', + 'usb 0x1083 0x163e', + '# DR-M140', + 'option extra-status 1', + 'option duplex-offset 400', + 'usb 0x1083 0x163f', + '# DR-C125', + 'option duplex-offset 400', + 'usb 0x1083 0x1640', + '# DR-P215', + 'usb 0x1083 0x1641', + '# FSU-201', + 'usb 0x1083 0x1648', + '# DR-C130', + 'usb 0x1083 0x164a', + '# DR-P208', + 'usb 0x1083 0x164b', + '# DR-G1130', + 'option buffer-size 8000000', + 'usb 0x1083 0x164f', + '# DR-G1100', + 'option buffer-size 8000000', + 'usb 0x1083 0x1650', + '# DR-C120', + 'usb 0x1083 0x1651', + '# P-201', + 'usb 0x1083 0x1652', + '# DR-F120', + 'option duplex-offset 1640', + 'usb 0x1083 0x1654', + '# DR-M1060', + 'usb 0x1083 0x1657', + '# DR-C225', + 'usb 0x1083 0x1658', + '# DR-P215II', + 'usb 0x1083 0x1659', + '# P-215II', + 'usb 0x1083 0x165b', + '# DR-P208II', + 'usb 0x1083 0x165d', + '# P-208II', + 'usb 0x1083 0x165f' +] + +CARDSCAN = [ + '# Sanford Cardscan 800c', + 'usb 0x0451 0x6250' +] + +DLL = ['epsonds'] + +EPJITSU = [ + '# Fujitsu fi-65F', + 'firmware /usr/share/sane/epjitsu/65f_0A01.nal', + 'usb 0x04c5 0x11bd', + '# Fujitsu S1100', + 'firmware /usr/share/sane/epjitsu/1100_0B00.nal', + 'usb 0x04c5 0x1200', + '# Fujitsu S1300i', + 'firmware /usr/share/sane/epjitsu/1300i_0D12.nal', + 'usb 0x04c5 0x128d', + '# Fujitsu S1100i', + 'firmware /usr/share/sane/epjitsu/1100i_0A00.nal', + 'usb 0x04c5 0x1447' +] + +FUJITSU = [ + '#fi-6125', + 'usb 0x04c5 0x11ee', + '#fi-6225', + 'usb 0x04c5 0x11ef', + '#ScanSnap SV600', + 'usb 0x04c5 0x128e', + '#fi-7180', + 'usb 0x04c5 0x132c', + '#fi-7280', + 'usb 0x04c5 0x132d', + '#fi-7160', + 'usb 0x04c5 0x132e', + '#fi-7260', + 'usb 0x04c5 0x132f', + '#ScanSnap iX500EE', + 'usb 0x04c5 0x13f3', + '#ScanSnap iX100', + 'usb 0x04c5 0x13f4', + '#ScanPartner SP25', + 'usb 0x04c5 0x1409', + '#ScanPartner SP30', + 'usb 0x04c5 0x140a', + '#ScanPartner SP30F', + 'usb 0x04c5 0x140c', + '#fi-6140ZLA', + 'usb 0x04c5 0x145f', + '#fi-6240ZLA', + 'usb 0x04c5 0x1460', + '#fi-6130ZLA', + 'usb 0x04c5 0x1461', + '#fi-6230ZLA', + 'usb 0x04c5 0x1462', + '#fi-6125ZLA', + 'usb 0x04c5 0x1463', + '#fi-6225ZLA', + 'usb 0x04c5 0x1464', + '#fi-6135ZLA', + 'usb 0x04c5 0x146b', + '#fi-6235ZLA', + 'usb 0x04c5 0x146c', + '#fi-6120ZLA', + 'usb 0x04c5 0x146d', + '#fi-6220ZLA', + 'usb 0x04c5 0x146e', + '#N7100', + 'usb 0x04c5 0x146f', + '#fi-6400', + 'usb 0x04c5 0x14ac', + '#fi-7480', + 'usb 0x04c5 0x14b8', + '#fi-6420', + 'usb 0x04c5 0x14bd', + '#fi-7460', + 'usb 0x04c5 0x14be', + '#fi-7140', + 'usb 0x04c5 0x14df', + '#fi-7240', + 'usb 0x04c5 0x14e0', + '#fi-7135', + 'usb 0x04c5 0x14e1', + '#fi-7235', + 'usb 0x04c5 0x14e2', + '#fi-7130', + 'usb 0x04c5 0x14e3', + '#fi-7230', + 'usb 0x04c5 0x14e4', + '#fi-7125', + 'usb 0x04c5 0x14e5', + '#fi-7225', + 'usb 0x04c5 0x14e6', + '#fi-7120', + 'usb 0x04c5 0x14e7', + '#fi-7220', + 'usb 0x04c5 0x14e8', + '#fi-400F', + 'usb 0x04c5 0x151e', + '#fi-7030', + 'usb 0x04c5 0x151f', + '#fi-7700', + 'usb 0x04c5 0x1520', + '#fi-7600', + 'usb 0x04c5 0x1521', + '#fi-7700S', + 'usb 0x04c5 0x1522' +] + +CANON = [ + '# Canon LiDE 80', + 'usb 0x04a9 0x2214', + '# Canon LiDE 120', + 'usb 0x04a9 0x190e', + '# Canon LiDE 220', + 'usb 0x04a9 0x190f' +] + +XEROX_MFP = [ + '#Samsung X4300 Series', + 'usb 0x04e8 0x3324', + '#Samsung K4350 Series', + 'usb 0x04e8 0x3325', + '#Samsung X7600 Series', + 'usb 0x04e8 0x3326', + '#Samsung K7600 Series', + 'usb 0x04e8 0x3327', + '#Samsung K703 Series', + 'usb 0x04e8 0x3331', + '#Samsung X703 Series', + 'usb 0x04e8 0x3332', + '#Samsung M458x Series', + 'usb 0x04e8 0x346f', + '#Samsung M4370 5370 Series', + 'usb 0x04e8 0x3471', + '#Samsung X401 Series', + 'usb 0x04e8 0x3477', + '#Samsung K401 Series', + 'usb 0x04e8 0x3478', + '#Samsung K3250 Series', + 'usb 0x04e8 0x3481', + '#Samsung X3220 Series', + 'usb 0x04e8 0x3482' +] + +NEW_QUIRKS = { + '/etc/sane.d/canon_dr.conf': CANON_DR, + '/etc/sane.d/cardscan.conf': CARDSCAN, + '/etc/sane.d/dll.conf': DLL, + '/etc/sane.d/epjitsu.conf': EPJITSU, + '/etc/sane.d/fujitsu.conf': FUJITSU, + '/etc/sane.d/canon.conf': CANON, + '/etc/sane.d/xerox_mfp.conf': XEROX_MFP +} +""" +Dictionary of configuration files which changes in 1.0.27 +""" + + +def _macro_exists(path, macro): + """ + Check if macro is in the file. + + :param str path: string representing the full path of the config file + :param str macro: new directive to be added + :return boolean res: macro does/does not exist in the file + """ + with open(path, 'r') as f: + lines = f.readlines() + + for line in lines: + if line.lstrip().startswith(macro): + return True + return False + + +def _append_string(path, content): + """ + Append string at the end of file. + + :param str path: string representing the full path of file + :param str content: preformatted string to be added + """ + with open(path, 'a') as f: + f.write(content) + + +def update_config(path, + quirks, + check_function=_macro_exists, + append_function=_append_string): + """ + Insert expected content into the file on the path if it is not + in the file already. + + :param str path: string representing the full path of the config file + :param func check_function: function to be used to check if string is in the file + :param func append_function: function to be used to append string + """ + + macros = [] + for macro in quirks: + if not check_function(path, macro): + macros.append(macro) + + if not macros: + return + + fmt_input = "\n{comment_line}\n{content}\n".format(comment_line='# content added by Leapp', + content='\n'.join(macros)) + + try: + append_function(path, fmt_input) + except IOError: + raise IOError('Error during writing to file: {}.'.format(path)) + + +def _check_package(pkg_name): + """ + Checks if the package is installed and signed by Red Hat + + :param str pkg_name: name of package + """ + + return has_package(InstalledRedHatSignedRPM, pkg_name) + + +def update_sane(debug_log=api.current_logger().debug, + error_log=api.current_logger().error, + is_installed=_check_package, + append_function=_append_string, + check_function=_macro_exists): + """ + Iterate over dictionary and updates each configuration file. + + :param func debug_log: function for debug logging + :param func error_log: function for error logging + :param func is_installed: checks if the package is installed + :param func append_function: appends a string into file + :param func check_function: checks if a string exists in file + """ + + error_list = [] + + if not is_installed('sane-backends'): + return + + for path, lines in NEW_QUIRKS.items(): + + debug_log('Updating SANE configuration file {}.'.format(path)) + + try: + update_config(path, lines, check_function, append_function) + except (OSError, IOError) as error: + error_list.append((path, error)) + + if error_list: + error_log('The files below have not been modified ' + '(error message included):' + + ''.join(['\n - {}: {}'.format(err[0], err[1]) + for err in error_list])) + return diff --git a/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/tests/test_update_config_sanebackendsmigrate.py b/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/tests/test_update_config_sanebackendsmigrate.py new file mode 100644 index 0000000..96e58de --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/tests/test_update_config_sanebackendsmigrate.py @@ -0,0 +1,238 @@ +import pytest + +from leapp.libraries.actor.sanebackendsmigrate import ( + CANON, + CANON_DR, + CARDSCAN, + DLL, + EPJITSU, + FUJITSU, + update_config, + XEROX_MFP +) + + +def _pattern_exists(content, macro): + for line in content.split('\n'): + if line.lstrip().startswith(macro): + return True + return False + + +def _create_original_file(file_content): + content = '' + for line in file_content: + fmt_line = '{}\n'.format(line) + content += fmt_line + return content + + +def _create_expected_file(original_content, new_content): + macros = [] + for line in new_content: + if not _pattern_exists(original_content, line): + macros.append(line) + + fmt_input = '' + if macros: + fmt_input = "\n{comment_line}\n{content}\n".format(comment_line='# content added by Leapp', + content='\n'.join(macros)) + + return '\n'.join((original_content, fmt_input)) + + +testdata = [ + ( + _create_original_file(['']), + _create_expected_file('', CANON), + CANON + ), + ( + _create_original_file(['']), + _create_expected_file('', CANON_DR), + CANON_DR + ), + ( + _create_original_file(['']), + _create_expected_file('', CARDSCAN), + CARDSCAN + ), + ( + _create_original_file(['']), + _create_expected_file('', DLL), + DLL + ), + ( + _create_original_file(['']), + _create_expected_file('', EPJITSU), + EPJITSU + ), + ( + _create_original_file(['']), + _create_expected_file('', FUJITSU), + FUJITSU + ), + ( + _create_original_file(['']), + _create_expected_file('', XEROX_MFP), + XEROX_MFP + ), + ( + _create_original_file(['fdfdfdr']), + _create_expected_file('fdfdfdr', CANON), + CANON + ), + ( + _create_original_file(['fdfdfdr']), + _create_expected_file('fdfdfdr', CANON_DR), + CANON_DR + ), + ( + _create_original_file(['fdfdfdr']), + _create_expected_file('fdfdfdr', CARDSCAN), + CARDSCAN + ), + ( + _create_original_file(['fdfdfdr']), + _create_expected_file('fdfdfdr', DLL), + DLL + ), + ( + _create_original_file(['fdfdfdr']), + _create_expected_file('fdfdfdr', EPJITSU), + EPJITSU + ), + ( + _create_original_file(['fdfdfdr']), + _create_expected_file('fdfdfdr', FUJITSU), + FUJITSU + ), + ( + _create_original_file(['fdfdfdr']), + _create_expected_file('fdfdfdr', XEROX_MFP), + XEROX_MFP + ), + ( + _create_original_file(['usb 0x04a9 0x2214']), + _create_expected_file('usb 0x04a9 0x2214', CANON), + CANON + ), + ( + _create_original_file(['usb 0x1083 0x162c']), + _create_expected_file('usb 0x1083 0x162c', CANON_DR), + CANON_DR + ), + ( + _create_original_file(['usb 0x0451 0x6250']), + _create_expected_file('usb 0x0451 0x6250', CARDSCAN), + CARDSCAN + ), + ( + _create_original_file(['#usb 0x0451 0x6250']), + _create_expected_file('#usb 0x0451 0x6250', CARDSCAN), + CARDSCAN + ), + ( + _create_original_file(['epsonds']), + _create_expected_file('epsonds', DLL), + DLL + ), + ( + _create_original_file(['usb 0x04c5 0x11bd']), + _create_expected_file('usb 0x04c5 0x11bd', EPJITSU), + EPJITSU + ), + ( + _create_original_file(['usb 0x04c5 0x132c']), + _create_expected_file('usb 0x04c5 0x132c', FUJITSU), + FUJITSU + ), + ( + _create_original_file(['usb 0x04e8 0x3471']), + _create_expected_file('usb 0x04e8 0x3471', XEROX_MFP), + XEROX_MFP + ), + ( + _create_original_file(CANON), + _create_original_file(CANON), + CANON + ), + ( + _create_original_file(CANON_DR), + _create_original_file(CANON_DR), + CANON_DR + ), + ( + _create_original_file(CARDSCAN), + _create_original_file(CARDSCAN), + CARDSCAN + ), + ( + _create_original_file(DLL), + _create_original_file(DLL), + DLL + ), + ( + _create_original_file(EPJITSU), + _create_original_file(EPJITSU), + EPJITSU + ), + ( + _create_original_file(FUJITSU), + _create_original_file(FUJITSU), + FUJITSU + ), + ( + _create_original_file(XEROX_MFP), + _create_original_file(XEROX_MFP), + XEROX_MFP + ) +] +""" +3-tuple of original file, file after migration and list of lines which +will be tried to add +""" + + +class MockFile(object): + def __init__(self, path, content=None): + self.path = path + self.content = content + self.error = False + + def append(self, path, content): + if path != self.path: + self.error = True + if not self.error: + self.content += content + return self.content + raise IOError('Error during writing to file: {}.'.format(path)) + + def exists(self, path, macro): + for line in self.content.split('\n'): + if line.lstrip().startswith(macro) and self.path == path: + return True + return False + + +def test_update_config_file_errors(): + path = 'foo' + new_content = ['fdfgdfg', 'gnbfgnf'] + + f = MockFile(path, content='') + + with pytest.raises(IOError): + update_config('bar', new_content, f.exists, f.append) + + assert f.content == '' + + +@pytest.mark.parametrize('orig_content,expected_result,content_to_add', testdata) +def test_update_config_append_into_file(orig_content, + expected_result, + content_to_add): + f = MockFile('foo', orig_content) + + update_config('foo', content_to_add, f.exists, f.append) + + assert f.content == expected_result diff --git a/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/tests/test_update_sane_sanebackendsmigrate.py b/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/tests/test_update_sane_sanebackendsmigrate.py new file mode 100644 index 0000000..f24f0c7 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sanebackendsmigrate/tests/test_update_sane_sanebackendsmigrate.py @@ -0,0 +1,115 @@ +import pytest + +from leapp.libraries.actor.sanebackendsmigrate import NEW_QUIRKS, update_sane + +testdata = [ + {'sane-backends': '/etc/sane.d/canon_dr.conf'}, + {'sane-backends': ''}, + {'ble': ''} +] + + +class MockLogger(object): + def __init__(self): + self.debugmsg = '' + self.errmsg = '' + + def debug(self, message): + self.debugmsg += message + + def error(self, message): + self.errmsg += message + + +class MockPackage(object): + def __init__(self, name, config): + self.name = name + self.config = config + self.config_content = '' + + +class MockPackageSet(object): + def __init__(self): + self.installed_packages = None + + def add_packages(self, pkgs): + if self.installed_packages is None: + self.installed_packages = [] + + for rpm, config in pkgs.items(): + self.installed_packages.append(MockPackage(rpm, config)) + + def is_installed(self, pkg): + for rpm in self.installed_packages: + if pkg == rpm.name: + return True + return False + + def append_content(self, path, content): + found = False + + for rpm in self.installed_packages: + if path == rpm.config: + found = True + rpm.config_content += content + if not found: + raise IOError('Error during writing to file: {}.'.format(path)) + + def check_content(self, path, content): + found = False + + for rpm in self.installed_packages: + if path == rpm.config and content in rpm.config_content: + found = True + + return found + + +class ExpectedOutput(object): + def __init__(self): + self.debugmsg = '' + self.errmsg = '' + + def create(self, rpms): + error_list = [] + found = False + + for pkg, config in rpms.items(): + if pkg == 'sane-backends': + found = True + break + + if found: + for sane_config in NEW_QUIRKS.keys(): + self.debugmsg += ('Updating SANE configuration file {}.' + .format(sane_config)) + if config == '' or config != sane_config: + error_list.append((sane_config, + 'Error during writing to file: {}.' + .format(sane_config))) + + if error_list: + self.errmsg = ('The files below have not been modified ' + '(error message included):' + + ''.join(['\n - {}: {}'.format(err[0], err[1]) + for err in error_list])) + + +@pytest.mark.parametrize("rpms", testdata) +def test_actor_check_report(rpms): + logger = MockLogger() + installed_packages = MockPackageSet() + + installed_packages.add_packages(rpms) + + expected = ExpectedOutput() + expected.create(rpms) + + update_sane(logger.debug, + logger.error, + installed_packages.is_installed, + installed_packages.append_content, + installed_packages.check_content) + + assert expected.debugmsg == logger.debugmsg + assert expected.errmsg == logger.errmsg diff --git a/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/actor.py b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/actor.py new file mode 100644 index 0000000..7fc38e1 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor.satellite_upgrade_check import satellite_upgrade_check +from leapp.models import Report, SatelliteFacts +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class SatelliteUpgradeCheck(Actor): + """ + Check state of Satellite system before upgrade + """ + + name = 'satellite_upgrade_check' + consumes = (SatelliteFacts,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + facts = next(self.consume(SatelliteFacts), None) + if not facts or not facts.has_foreman: + return + + satellite_upgrade_check(facts) diff --git a/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/libraries/satellite_upgrade_check.py b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/libraries/satellite_upgrade_check.py new file mode 100644 index 0000000..6954dd5 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/libraries/satellite_upgrade_check.py @@ -0,0 +1,59 @@ +import textwrap + +from leapp import reporting + + +def satellite_upgrade_check(facts): + if facts.postgresql.local_postgresql: + if facts.postgresql.old_var_lib_pgsql_data: + title = "Old PostgreSQL data found in /var/lib/pgsql/data" + summary = """ + The upgrade wants to move PostgreSQL data to /var/lib/pgsql/data, + but this directory already exists on your system. + Please make sure /var/lib/pgsql/data doesn't exist prior to the upgrade. + """ + reporting.create_report([ + reporting.Title(title), + reporting.Summary(textwrap.dedent(summary).strip()), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([]), + reporting.Groups([reporting.Groups.INHIBITOR]) + ]) + + title = "Satellite PostgreSQL data migration" + flags = [] + severity = reporting.Severity.MEDIUM + reindex_msg = textwrap.dedent(""" + After the data has been moved to the new location, all databases will require a REINDEX. + This will happen automatically during the first boot of the system. + """).strip() + + if facts.postgresql.same_partition: + migration_msg = "Your PostgreSQL data will be automatically migrated." + else: + scl_psql_path = '/var/opt/rh/rh-postgresql12/lib/pgsql/data/' + if facts.postgresql.space_required > facts.postgresql.space_available: + storage_message = """You currently don't have enough free storage to move the data. + Automatic moving cannot be performed.""" + flags = [reporting.Groups.INHIBITOR] + severity = reporting.Severity.HIGH + else: + storage_message = """You currently have enough free storage to move the data. + This operation can be performed by the upgrade process.""" + migration_msg = """ + Your PostgreSQL data in {} is currently on a dedicated volume. + PostgreSQL on RHEL8 expects the data to live in /var/lib/pgsql/data. + {} + However, instead of moving the data over, you might want to consider manually adapting your mounts, + so that the contents of {} are available in /var/lib/pgsql/data. + """.format(scl_psql_path, storage_message, scl_psql_path) + + summary = "{}\n{}".format(textwrap.dedent(migration_msg).strip(), reindex_msg) + + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Severity(severity), + reporting.Groups([]), + reporting.Groups(flags) + ]) diff --git a/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/tests/unit_test_satellite_upgrade_check.py b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/tests/unit_test_satellite_upgrade_check.py new file mode 100644 index 0000000..8b75adf --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_check/tests/unit_test_satellite_upgrade_check.py @@ -0,0 +1,83 @@ +from leapp import reporting +from leapp.libraries.actor.satellite_upgrade_check import satellite_upgrade_check +from leapp.libraries.common.testutils import create_report_mocked +from leapp.models import SatelliteFacts, SatellitePostgresqlFacts + + +def test_old_data(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + satellite_upgrade_check(SatelliteFacts(has_foreman=True, + postgresql=SatellitePostgresqlFacts(local_postgresql=True, old_var_lib_pgsql_data=True))) + + assert reporting.create_report.called == 2 + + expected_title = 'Old PostgreSQL data found in /var/lib/pgsql/data' + assert next((report for report in reporting.create_report.reports if report.get('title') == expected_title), None) + + expected_title = 'Satellite PostgreSQL data migration' + assert next((report for report in reporting.create_report.reports if report.get('title') == expected_title), None) + + +def test_no_old_data(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + satellite_upgrade_check(SatelliteFacts(has_foreman=True, + postgresql=SatellitePostgresqlFacts(local_postgresql=True, old_var_lib_pgsql_data=False))) + + assert reporting.create_report.called == 1 + + expected_title = 'Satellite PostgreSQL data migration' + + assert expected_title == reporting.create_report.report_fields['title'] + + +def test_same_disk(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + satellite_upgrade_check(SatelliteFacts(has_foreman=True, + postgresql=SatellitePostgresqlFacts(local_postgresql=True, same_partition=True))) + + assert reporting.create_report.called == 1 + + expected_title = 'Satellite PostgreSQL data migration' + expected_summary = 'Your PostgreSQL data will be automatically migrated.' + expected_reindex = 'all databases will require a REINDEX' + + assert expected_title == reporting.create_report.report_fields['title'] + assert expected_summary in reporting.create_report.report_fields['summary'] + assert expected_reindex in reporting.create_report.report_fields['summary'] + + +def test_different_disk_sufficient_storage(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + satellite_upgrade_check(SatelliteFacts(has_foreman=True, + postgresql=SatellitePostgresqlFacts(local_postgresql=True, same_partition=False, + space_required=5, space_available=10))) + + assert reporting.create_report.called == 1 + + expected_title = 'Satellite PostgreSQL data migration' + expected_summary = 'You currently have enough free storage to move the data' + expected_reindex = 'all databases will require a REINDEX' + + assert expected_title == reporting.create_report.report_fields['title'] + assert expected_summary in reporting.create_report.report_fields['summary'] + assert expected_reindex in reporting.create_report.report_fields['summary'] + + +def test_different_disk_insufficient_storage(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + satellite_upgrade_check(SatelliteFacts(has_foreman=True, + postgresql=SatellitePostgresqlFacts(local_postgresql=True, same_partition=False, + space_required=10, space_available=5))) + + assert reporting.create_report.called == 1 + + expected_title = 'Satellite PostgreSQL data migration' + expected_summary = "You currently don't have enough free storage to move the data" + + assert expected_title == reporting.create_report.report_fields['title'] + assert expected_summary in reporting.create_report.report_fields['summary'] diff --git a/repos/system_upgrade/el7toel8/actors/satellite_upgrade_data_migration/actor.py b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_data_migration/actor.py new file mode 100644 index 0000000..0cf6697 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_data_migration/actor.py @@ -0,0 +1,61 @@ +import glob +import os +import shutil + +from leapp.actors import Actor +from leapp.models import SatelliteFacts +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + +POSTGRESQL_DATA_PATH = '/var/lib/pgsql/data/' +POSTGRESQL_SCL_DATA_PATH = '/var/opt/rh/rh-postgresql12/lib/pgsql/data/' +POSTGRESQL_USER = 'postgres' +POSTGRESQL_GROUP = 'postgres' + +SYSTEMD_WANTS_BASE = '/etc/systemd/system/multi-user.target.wants/' +SERVICES_TO_DISABLE = ['dynflow-sidekiq@*', 'foreman', 'foreman-proxy', + 'httpd', 'postgresql', 'pulpcore-api', 'pulpcore-content', + 'pulpcore-worker@*', 'tomcat'] + + +class SatelliteUpgradeDataMigration(Actor): + """ + Reconfigure Satellite services and migrate PostgreSQL data + """ + + name = 'satellite_upgrade_data_migration' + consumes = (SatelliteFacts,) + produces = () + tags = (IPUWorkflowTag, ApplicationsPhaseTag) + + def process(self): + facts = next(self.consume(SatelliteFacts), None) + if not facts or not facts.has_foreman: + return + + # disable services, will be re-enabled by the installer + for service_name in SERVICES_TO_DISABLE: + for service in glob.glob(os.path.join(SYSTEMD_WANTS_BASE, '{}.service'.format(service_name))): + try: + os.unlink(service) + except Exception as e: # pylint: disable=broad-except + self.log.warning('Failed disabling service {}: {}'.format(service, e)) + + if facts.postgresql.local_postgresql and os.path.exists(POSTGRESQL_SCL_DATA_PATH): + # we can assume POSTGRESQL_DATA_PATH exists and is empty + # move PostgreSQL data to the new home + for item in glob.glob(os.path.join(POSTGRESQL_SCL_DATA_PATH, '*')): + try: + shutil.move(item, POSTGRESQL_DATA_PATH) + except Exception as e: # pylint: disable=broad-except + self.log.warning('Failed moving PostgreSQL data: {}'.format(e)) + return + + if not facts.postgresql.same_partition: + for dirpath, _, filenames in os.walk(POSTGRESQL_DATA_PATH): + try: + shutil.chown(dirpath, POSTGRESQL_USER, POSTGRESQL_GROUP) + for filename in filenames: + shutil.chown(os.path.join(dirpath, filename), POSTGRESQL_USER, POSTGRESQL_GROUP) + except Exception as e: # pylint: disable=broad-except + self.log.warning('Failed fixing ownership of PostgreSQL data: {}'.format(e)) + return diff --git a/repos/system_upgrade/el7toel8/actors/satellite_upgrade_facts/actor.py b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_facts/actor.py new file mode 100644 index 0000000..01e6346 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_facts/actor.py @@ -0,0 +1,150 @@ +import os + +from leapp.actors import Actor +from leapp.libraries.common.config import architecture +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import run +from leapp.models import ( + DNFWorkaround, + InstalledRPM, + Module, + RepositoriesSetupTasks, + RpmTransactionTasks, + SatelliteFacts, + SatellitePostgresqlFacts +) +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + +POSTGRESQL_SCL_DATA_PATH = '/var/opt/rh/rh-postgresql12/lib/pgsql/data/' + + +class SatelliteUpgradeFacts(Actor): + """ + Report which Satellite packages require updates and how to handle PostgreSQL data + """ + + name = 'satellite_upgrade_facts' + consumes = (InstalledRPM, ) + produces = (DNFWorkaround, RepositoriesSetupTasks, RpmTransactionTasks, SatelliteFacts) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + if not architecture.matches_architecture(architecture.ARCH_X86_64): + return + + has_foreman = has_package(InstalledRPM, 'foreman') or has_package(InstalledRPM, 'foreman-proxy') + if not has_foreman: + return + + has_katello_installer = has_package(InstalledRPM, 'foreman-installer-katello') + + local_postgresql = has_package(InstalledRPM, 'rh-postgresql12-postgresql-server') + postgresql_contrib = has_package(InstalledRPM, 'rh-postgresql12-postgresql-contrib') + postgresql_evr = has_package(InstalledRPM, 'rh-postgresql12-postgresql-evr') + + to_remove = ['tfm-runtime', 'tfm-pulpcore-runtime', 'rh-redis5-runtime', 'rh-ruby27-runtime', + 'rh-python38-runtime'] + to_install = ['rubygem-foreman_maintain'] + modules_to_enable = [Module(name='ruby', stream='2.7')] + + if has_package(InstalledRPM, 'katello'): + # enable modules that are needed for Candlepin, which is pulled in by Katello + modules_to_enable.append(Module(name='pki-core', stream='10.6')) + modules_to_enable.append(Module(name='pki-deps', stream='10.6')) + # enable modules that are needed for Pulpcore + modules_to_enable.append(Module(name='python38', stream='3.8')) + to_install.append('katello') + + if has_package(InstalledRPM, 'rh-redis5-redis'): + modules_to_enable.append(Module(name='redis', stream='5')) + to_install.append('redis') + + for rpm_pkgs in self.consume(InstalledRPM): + for pkg in rpm_pkgs.items: + if (pkg.name.startswith('tfm-rubygem-hammer') or pkg.name.startswith('tfm-rubygem-foreman') + or pkg.name.startswith('tfm-rubygem-katello') + or pkg.name.startswith('tfm-rubygem-smart_proxy')): + to_install.append(pkg.name.replace('tfm-rubygem-', 'rubygem-')) + elif pkg.name.startswith('tfm-pulpcore-python3-pulp'): + to_install.append(pkg.name.replace('tfm-pulpcore-python3-', 'python38-')) + elif pkg.name.startswith('foreman-installer') or pkg.name.startswith('satellite-installer'): + to_install.append(pkg.name) + + on_same_partition = True + bytes_required = None + bytes_available = None + old_pgsql_data = False + + if local_postgresql: + """ + Handle migration of the PostgreSQL legacy-actions files. + RPM cannot handle replacement of directories by symlinks by default + without the %pretrans scriptlet. As PostgreSQL package is packaged wrong, + we have to workaround that by migration of the PostgreSQL files + before the rpm transaction is processed. + """ + self.produce( + DNFWorkaround( + display_name='PostgreSQL symlink fix', + script_path=self.get_tool_path('handle-postgresql-legacy-actions'), + ) + ) + + old_pgsql_data = bool(os.path.exists('/var/lib/pgsql/data/') and os.listdir('/var/lib/pgsql/data/') + and os.path.exists(POSTGRESQL_SCL_DATA_PATH) + and os.listdir(POSTGRESQL_SCL_DATA_PATH)) + scl_psql_stat = os.stat(POSTGRESQL_SCL_DATA_PATH) + for nonscl_path in ['/var/lib/pgsql/data/', '/var/lib/pgsql/', '/var/lib/', '/']: + if os.path.exists(nonscl_path): + nonscl_psql_stat = os.stat(nonscl_path) + break + + if scl_psql_stat.st_dev != nonscl_psql_stat.st_dev: + on_same_partition = False + # get the current disk usage of the PostgreSQL data + scl_du_call = run(['du', '--block-size=1', '--summarize', POSTGRESQL_SCL_DATA_PATH]) + bytes_required = int(scl_du_call['stdout'].split()[0]) + # get the current free space on the target partition + nonscl_stat = os.statvfs(nonscl_path) + bytes_available = nonscl_stat.f_bavail * nonscl_stat.f_frsize + + modules_to_enable.append(Module(name='postgresql', stream='12')) + to_remove.append('rh-postgresql12-runtime') + to_install.extend(['postgresql', 'postgresql-server']) + if postgresql_contrib: + to_remove.append('rh-postgresql12-postgresql-contrib') + to_install.append('postgresql-contrib') + if postgresql_evr: + to_remove.append('rh-postgresql12-postgresql-evr') + to_install.append('postgresql-evr') + + self.produce(SatelliteFacts( + has_foreman=has_foreman, + has_katello_installer=has_katello_installer, + postgresql=SatellitePostgresqlFacts( + local_postgresql=local_postgresql, + old_var_lib_pgsql_data=old_pgsql_data, + same_partition=on_same_partition, + space_required=bytes_required, + space_available=bytes_available, + ), + )) + + repositories_to_enable = ['satellite-maintenance-6.11-for-rhel-8-x86_64-rpms'] + if has_package(InstalledRPM, 'satellite'): + repositories_to_enable.append('satellite-6.11-for-rhel-8-x86_64-rpms') + modules_to_enable.append(Module(name='satellite', stream='el8')) + to_install.append('satellite') + elif has_package(InstalledRPM, 'satellite-capsule'): + repositories_to_enable.append('satellite-capsule-6.11-for-rhel-8-x86_64-rpms') + modules_to_enable.append(Module(name='satellite-capsule', stream='el8')) + to_install.append('satellite-capsule') + + self.produce(RpmTransactionTasks( + to_remove=to_remove, + to_install=to_install, + modules_to_enable=modules_to_enable + ) + ) + + self.produce(RepositoriesSetupTasks(to_enable=repositories_to_enable)) diff --git a/repos/system_upgrade/el7toel8/actors/satellite_upgrade_facts/tests/unit_test_satellite_upgrade_facts.py b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_facts/tests/unit_test_satellite_upgrade_facts.py new file mode 100644 index 0000000..2fb8a3b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/satellite_upgrade_facts/tests/unit_test_satellite_upgrade_facts.py @@ -0,0 +1,176 @@ +import os + +from leapp.libraries.common.config import mock_configs +from leapp.models import ( + DNFWorkaround, + InstalledRPM, + Module, + RepositoriesSetupTasks, + RPM, + RpmTransactionTasks, + SatelliteFacts +) +from leapp.snactor.fixture import current_actor_context + +RH_PACKAGER = 'Red Hat, Inc. ' + + +def fake_package(pkg_name): + return RPM(name=pkg_name, version='0.1', release='1.sm01', epoch='1', packager=RH_PACKAGER, arch='noarch', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51') + + +FOREMAN_RPM = fake_package('foreman') +FOREMAN_PROXY_RPM = fake_package('foreman-proxy') +KATELLO_INSTALLER_RPM = fake_package('foreman-installer-katello') +KATELLO_RPM = fake_package('katello') +POSTGRESQL_RPM = fake_package('rh-postgresql12-postgresql-server') +SATELLITE_RPM = fake_package('satellite') +SATELLITE_CAPSULE_RPM = fake_package('satellite-capsule') + + +def test_no_satellite_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(SatelliteFacts) + assert not message + + +def test_satellite_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(SatelliteFacts)[0] + assert message.has_foreman + + +def test_wrong_arch(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG_S390X) + message = current_actor_context.consume(SatelliteFacts) + assert not message + + +def test_satellite_capsule_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_PROXY_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(SatelliteFacts)[0] + assert message.has_foreman + + +def test_no_katello_installer_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(SatelliteFacts)[0] + assert not message.has_katello_installer + + +def test_katello_installer_present(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM, KATELLO_INSTALLER_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(SatelliteFacts)[0] + assert message.has_katello_installer + + +def test_enables_ruby_module(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(RpmTransactionTasks)[0] + assert Module(name='ruby', stream='2.7') in message.modules_to_enable + + +def test_enables_pki_modules(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM, KATELLO_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(RpmTransactionTasks)[0] + assert Module(name='pki-core', stream='10.6') in message.modules_to_enable + assert Module(name='pki-deps', stream='10.6') in message.modules_to_enable + + +def test_enables_satellite_module(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM, SATELLITE_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(RpmTransactionTasks)[0] + assert Module(name='satellite', stream='el8') in message.modules_to_enable + assert Module(name='satellite-capsule', stream='el8') not in message.modules_to_enable + + +def test_enables_satellite_capsule_module(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_PROXY_RPM, SATELLITE_CAPSULE_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(RpmTransactionTasks)[0] + assert Module(name='satellite-capsule', stream='el8') in message.modules_to_enable + assert Module(name='satellite', stream='el8') not in message.modules_to_enable + + +def test_installs_satellite_package(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM, SATELLITE_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(RpmTransactionTasks)[0] + assert 'satellite' in message.to_install + assert 'satellite-capsule' not in message.to_install + + +def test_installs_satellite_capsule_package(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_PROXY_RPM, SATELLITE_CAPSULE_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + message = current_actor_context.consume(RpmTransactionTasks)[0] + assert 'satellite-capsule' in message.to_install + assert 'satellite' not in message.to_install + + +def test_detects_local_postgresql(monkeypatch, current_actor_context): + def mock_stat(): + orig_stat = os.stat + + def mocked_stat(path): + if path == '/var/opt/rh/rh-postgresql12/lib/pgsql/data/': + path = '/' + return orig_stat(path) + return mocked_stat + monkeypatch.setattr("os.stat", mock_stat()) + + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM, POSTGRESQL_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + + rpmmessage = current_actor_context.consume(RpmTransactionTasks)[0] + assert Module(name='postgresql', stream='12') in rpmmessage.modules_to_enable + + satellitemsg = current_actor_context.consume(SatelliteFacts)[0] + assert satellitemsg.postgresql.local_postgresql + + assert current_actor_context.consume(DNFWorkaround) + + +def test_detects_remote_postgresql(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + + rpmmessage = current_actor_context.consume(RpmTransactionTasks)[0] + assert Module(name='postgresql', stream='12') not in rpmmessage.modules_to_enable + + satellitemsg = current_actor_context.consume(SatelliteFacts)[0] + assert not satellitemsg.postgresql.local_postgresql + + assert not current_actor_context.consume(DNFWorkaround) + + +def test_enables_right_repositories_on_satellite(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_RPM, SATELLITE_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + + rpmmessage = current_actor_context.consume(RepositoriesSetupTasks)[0] + + assert 'satellite-maintenance-6.11-for-rhel-8-x86_64-rpms' in rpmmessage.to_enable + assert 'satellite-6.11-for-rhel-8-x86_64-rpms' in rpmmessage.to_enable + assert 'satellite-capsule-6.11-for-rhel-8-x86_64-rpms' not in rpmmessage.to_enable + + +def test_enables_right_repositories_on_capsule(current_actor_context): + current_actor_context.feed(InstalledRPM(items=[FOREMAN_PROXY_RPM, SATELLITE_CAPSULE_RPM])) + current_actor_context.run(config_model=mock_configs.CONFIG) + + rpmmessage = current_actor_context.consume(RepositoriesSetupTasks)[0] + + assert 'satellite-maintenance-6.11-for-rhel-8-x86_64-rpms' in rpmmessage.to_enable + assert 'satellite-6.11-for-rhel-8-x86_64-rpms' not in rpmmessage.to_enable + assert 'satellite-capsule-6.11-for-rhel-8-x86_64-rpms' in rpmmessage.to_enable diff --git a/repos/system_upgrade/el7toel8/actors/satellite_upgrader/actor.py b/repos/system_upgrade/el7toel8/actors/satellite_upgrader/actor.py new file mode 100644 index 0000000..f498f2f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/satellite_upgrader/actor.py @@ -0,0 +1,43 @@ +from leapp.actors import Actor +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import SatelliteFacts +from leapp.tags import FirstBootPhaseTag, IPUWorkflowTag + + +class SatelliteUpgrader(Actor): + """ + Execute installer in the freshly booted system, to finalize Satellite configuration + """ + + name = 'satellite_upgrader' + consumes = (SatelliteFacts, ) + produces = () + tags = (IPUWorkflowTag, FirstBootPhaseTag) + + def process(self): + facts = next(self.consume(SatelliteFacts), None) + if not facts or not facts.has_foreman: + return + + if facts.postgresql.local_postgresql: + api.current_actor().show_message('Re-indexing the database. This can take a while.') + try: + run(['sed', '-i', '/data_directory/d', '/var/lib/pgsql/data/postgresql.conf']) + run(['systemctl', 'start', 'postgresql']) + run(['runuser', '-u', 'postgres', '--', 'reindexdb', '-a']) + except CalledProcessError as e: + api.current_logger().error('Failed to reindex the database: {}'.format(str(e))) + + installer_cmd = ['foreman-installer'] + if facts.has_katello_installer: + installer_cmd.append('--disable-system-checks') + + api.current_actor().show_message('Running the installer. This can take a while.') + try: + run(installer_cmd) + except OSError as e: + api.current_logger().error('Failed to run `foreman-installer`: {}'.format(str(e))) + except CalledProcessError: + api.current_logger().error( + 'Could not run the installer, please inspect the logs in /var/log/foreman-installer!' + ) diff --git a/repos/system_upgrade/el7toel8/actors/satellite_upgrader/tests/unit_test_satellite_upgrader.py b/repos/system_upgrade/el7toel8/actors/satellite_upgrader/tests/unit_test_satellite_upgrader.py new file mode 100644 index 0000000..2f3509f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/satellite_upgrader/tests/unit_test_satellite_upgrader.py @@ -0,0 +1,50 @@ +from multiprocessing import Manager + +from leapp.models import SatelliteFacts, SatellitePostgresqlFacts +from leapp.snactor.fixture import current_actor_context + + +class MockedRun(object): + def __init__(self): + self._manager = Manager() + self.commands = self._manager.list() + + def __call__(self, cmd, *args, **kwargs): + self.commands.append(cmd) + return {} + + +def test_run_installer(monkeypatch, current_actor_context): + mocked_run = MockedRun() + monkeypatch.setattr('leapp.libraries.stdlib.run', mocked_run) + current_actor_context.feed(SatelliteFacts(has_foreman=True, + postgresql=SatellitePostgresqlFacts(local_postgresql=False))) + current_actor_context.run() + assert mocked_run.commands + assert len(mocked_run.commands) == 1 + assert mocked_run.commands[0] == ['foreman-installer', '--disable-system-checks'] + + +def test_run_installer_without_katello(monkeypatch, current_actor_context): + mocked_run = MockedRun() + monkeypatch.setattr('leapp.libraries.stdlib.run', mocked_run) + current_actor_context.feed(SatelliteFacts(has_foreman=True, has_katello_installer=False, + postgresql=SatellitePostgresqlFacts(local_postgresql=False))) + current_actor_context.run() + assert mocked_run.commands + assert len(mocked_run.commands) == 1 + assert mocked_run.commands[0] == ['foreman-installer'] + + +def test_run_reindexdb(monkeypatch, current_actor_context): + mocked_run = MockedRun() + monkeypatch.setattr('leapp.libraries.stdlib.run', mocked_run) + current_actor_context.feed(SatelliteFacts(has_foreman=True, + postgresql=SatellitePostgresqlFacts(local_postgresql=True))) + current_actor_context.run() + assert mocked_run.commands + assert len(mocked_run.commands) == 4 + assert mocked_run.commands[0] == ['sed', '-i', '/data_directory/d', '/var/lib/pgsql/data/postgresql.conf'] + assert mocked_run.commands[1] == ['systemctl', 'start', 'postgresql'] + assert mocked_run.commands[2] == ['runuser', '-u', 'postgres', '--', 'reindexdb', '-a'] + assert mocked_run.commands[3] == ['foreman-installer', '--disable-system-checks'] diff --git a/repos/system_upgrade/el7toel8/actors/sctpchecks/actor.py b/repos/system_upgrade/el7toel8/actors/sctpchecks/actor.py new file mode 100644 index 0000000..73acea5 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpchecks/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.models import RpmTransactionTasks, SCTPConfig +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class SCTPChecks(Actor): + """ + Parses collected SCTP information and take necessary actions. + + The only action performed by this actor is to request the installation of the + kernel-modules-extra rpm package, based on if SCTP is being used or not which + is collected on SCTPConfig message. If yes, it then produces a RpmTransactionTasks + requesting to install the package. + """ + name = 'sctp_checks' + consumes = (SCTPConfig,) + produces = (RpmTransactionTasks, ) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + for sctpconfig in self.consume(SCTPConfig): + if sctpconfig.wanted: + self.produce(RpmTransactionTasks(to_install=['kernel-modules-extra'])) + break diff --git a/repos/system_upgrade/el7toel8/actors/sctpchecks/tests/component_test_sctpchecks.py b/repos/system_upgrade/el7toel8/actors/sctpchecks/tests/component_test_sctpchecks.py new file mode 100644 index 0000000..c5437d9 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpchecks/tests/component_test_sctpchecks.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.models import RpmTransactionTasks, SCTPConfig +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +def test_sctp_wanted(current_actor_context): + current_actor_context.feed(SCTPConfig(wanted=True)) + current_actor_context.run() + assert current_actor_context.consume(RpmTransactionTasks) + assert current_actor_context.consume(RpmTransactionTasks)[0].to_install == ['kernel-modules-extra'] + + +def test_sctp_empty_config(current_actor_context): + current_actor_context.feed(SCTPConfig()) + current_actor_context.run() + assert not current_actor_context.consume(RpmTransactionTasks) + + +def test_sctp_no_config(current_actor_context): + current_actor_context.run() + assert not current_actor_context.consume(RpmTransactionTasks) + + +def test_sctp_unwanted(current_actor_context): + current_actor_context.feed(SCTPConfig(wanted=False)) + current_actor_context.run() + assert not current_actor_context.consume(RpmTransactionTasks) diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigread/actor.py b/repos/system_upgrade/el7toel8/actors/sctpconfigread/actor.py new file mode 100644 index 0000000..452f5c6 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigread/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor.sctplib import is_sctp_wanted +from leapp.models import ActiveKernelModulesFacts, SCTPConfig +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class SCTPConfigRead(Actor): + """ + Determines whether or not the SCTP kernel module might be wanted. + + This actor determines whether or not the SCTP is currently used by this machine or has been quite + recently used (1 month timeframe). In case it has been used it will issue a SCTPConfig message that + defines the decision whether or not the SCTP module should be removed from the module blacklist on RHEL8. + """ + name = 'sctp_read_status' + consumes = (ActiveKernelModulesFacts,) + produces = (SCTPConfig,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + self.produce(SCTPConfig(wanted=is_sctp_wanted())) diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigread/libraries/sctpdlm.py b/repos/system_upgrade/el7toel8/actors/sctpconfigread/libraries/sctpdlm.py new file mode 100644 index 0000000..aa54706 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigread/libraries/sctpdlm.py @@ -0,0 +1,64 @@ +# +# Functions for probing SCTP usage by DLM +# +import re + +from leapp.libraries.common import utils +from leapp.libraries.stdlib import api + + +def check_dlm_cfgfile(_open=open): + """Parse DLM config file. + :param _open: object behind opening a file. Might be replaced + by mocked one for the purpose of testing + """ + fname = '/etc/dlm/dlm.conf' + + try: + with _open(fname, 'r') as fp: + cfgs = '[dlm]\n' + fp.read() + except (OSError, IOError): + return False + + cfg = utils.parse_config(cfgs) + + if not cfg.has_option('dlm', 'protocol'): + return False + + proto = cfg.get('dlm', 'protocol').lower() + return proto in ['sctp', 'detect', '1', '2'] + + +def check_dlm_sysconfig(_open=open): + """Parse /etc/sysconfig/dlm + :param _open: object behind opening a file. Might be replaced + by mocked one for the purpose of testing + """ + + regex = re.compile('^[^#]*DLM_CONTROLD_OPTS.*=.*(?:--protocol|-r)[ =]*([^"\' ]+).*', re.IGNORECASE) + + try: + with _open('/etc/sysconfig/dlm', 'r') as fp: + lines = fp.readlines() + except (OSError, IOError): + return False + + for line in lines: + if regex.match(line): + proto = regex.sub('\\1', line).lower().strip() + if proto in ['sctp', 'detect']: + return True + + return False + + +def is_dlm_using_sctp(): + if check_dlm_cfgfile(): + api.current_logger().info('DLM is configured to use SCTP on dlm.conf.') + return True + + if check_dlm_sysconfig(): + api.current_logger().info('DLM is configured to use SCTP on sysconfig.') + return True + + return False diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigread/libraries/sctplib.py b/repos/system_upgrade/el7toel8/actors/sctpconfigread/libraries/sctplib.py new file mode 100644 index 0000000..cc00216 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigread/libraries/sctplib.py @@ -0,0 +1,106 @@ +# +# Helper functions +# + +from os.path import isfile + +from leapp.libraries.actor import sctpdlm +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import ActiveKernelModulesFacts + + +def anyfile(files): + """ + Determines if any of the given paths exist and are a file. + + :type files: tuple of str + :return: True if any of the given paths exists and it is a file. + :rtype: bool + """ + for f in files: + try: + if isfile(f): + return True + except OSError: + continue + return False + + +def is_module_loaded(module): + """ + Determines if the given kernel module has been reported in the ActiveKernelModuleFacts as loaded. + + :return: True if the module has been found in the ActiveKernelModuleFacts. + :rtype: bool + """ + for fact in api.consume(ActiveKernelModulesFacts): + for active_module in fact.kernel_modules: + if active_module.filename == module: + return True + return False + + +def is_sctp_used(): + """ + Logic function that decides whether SCTP is being used on this machine. + + :return: True if SCTP usage was detected. + :rtype: bool + """ + + # If anything is using SCTP, be it for listening on new connections or + # connecting somewhere else, the module will be loaded. Thus, no need to + # also probe on sockets. + if is_module_loaded('sctp'): + return True + + # Basic files from lksctp-tools. This check is enough and checking RPM + # database is an overkill here and this allows for checking for + # manually installed ones, which is possible. + lksctp_files = ['/usr/lib64/libsctp.so.1', + '/usr/lib/libsctp.so.1', + '/usr/bin/sctp_test'] + if anyfile(lksctp_files): + api.current_logger().debug('At least one of lksctp files is present.') + return True + + if sctpdlm.is_dlm_using_sctp(): + return True + + return False + + +def was_sctp_used(): + """ + Determines whether SCTP has been used in the path month, by checking the journalctl. + + :return: True if SCTP usage has been found. + :rtype: bool + """ + try: + run(['check_syslog_for_sctp.sh']) + except CalledProcessError: + api.current_logger().debug('Nothing regarding SCTP was found on journal.') + return False + api.current_logger().debug('Found logs regarding SCTP on journal.') + return True + + +def is_sctp_wanted(): + """ + Decision making function that decides based on the current or past usage of SCTP, the SCTP module is wanted + on the new system. + + :return: True if SCTP seems to be in use or has been recently used. + :rtype: bool + """ + if is_sctp_used(): + api.current_logger().info('SCTP is being used.') + return True + + if was_sctp_used(): + api.current_logger().info('SCTP was used.') + return True + + api.current_logger().info('SCTP is not being used and neither wanted.') + return False diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigread/tests/test_unit_sctpconfigread_sctpdlm.py b/repos/system_upgrade/el7toel8/actors/sctpconfigread/tests/test_unit_sctpconfigread_sctpdlm.py new file mode 100644 index 0000000..37a7e2d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigread/tests/test_unit_sctpconfigread_sctpdlm.py @@ -0,0 +1,90 @@ +import logging + +import pytest +import six + +from leapp.libraries.actor import sctpdlm + +if six.PY2: + from mock import mock_open +else: + from unittest.mock import mock_open + + +# TODO Confirm with the team the way to mock builtin open +# and apply this throughout the repo + + +@pytest.mark.parametrize( + ('config', 'open_raises', 'exp_return',), + [ + ('', IOError, False), + ('', OSError, False), + ('log_debug=1\npost_join_delay=10', None, False), + ('log_debug=1\npost_join_delay=10\nprotocol=sctp', None, True), + ('log_debug=1\npost_join_delay=10\nprotocol=detect', None, True), + ('log_debug=1\npost_join_delay=10\nprotocol=1', None, True), + ('log_debug=1\npost_join_delay=10\nprotocol=2', None, True), + ('log_debug=1\npost_join_delay=10\nprotocol=tcp', None, False), + ('log_debug=1\npost_join_delay=10', None, False), + ], +) +def test_check_dlm_cfgfile(config, open_raises, exp_return): + if open_raises: + mock_open.side_effect = open_raises + assert ( + sctpdlm.check_dlm_cfgfile(_open=mock_open(read_data=config)) + == exp_return + ) + + +@pytest.mark.parametrize( + ('config', 'open_raises', 'exp_return'), + [ + ('', IOError, False), + ('', OSError, False), + ('DLM_CONTROLD_OPTS="- f 0 -q 0 --protocol=sctp"', None, True), + ('DLM_CONTROLD_OPTS="- f 0 -q 0 -r detect"', None, True), + ('DLM_CONTROLD_OPTS="- f 0 -q 0 --protocol tcp"', None, False), + ], +) +def test_check_dlm_sysconfig(config, open_raises, exp_return): + if open_raises: + mock_open.side_effect = open_raises + assert ( + sctpdlm.check_dlm_sysconfig(_open=mock_open(read_data=config)) + == exp_return + ) + + +@pytest.mark.parametrize( + ( + 'check_dlm_cfg_file_returns', + 'check_dlm_sysconfig_returns', + 'exp_return', + 'text_in_log', + ), + [ + (True, False, True, 'DLM is configured to use SCTP on dlm.conf.'), + (False, True, True, 'DLM is configured to use SCTP on sysconfig.'), + (False, False, False, ''), + ], +) +def test_is_dlm_using_sctp( + check_dlm_cfg_file_returns, + check_dlm_sysconfig_returns, + exp_return, + text_in_log, + monkeypatch, + caplog, +): + monkeypatch.setattr( + sctpdlm, 'check_dlm_cfgfile', lambda: check_dlm_cfg_file_returns + ) + monkeypatch.setattr( + sctpdlm, 'check_dlm_sysconfig', lambda: check_dlm_sysconfig_returns + ) + with caplog.at_level(logging.DEBUG): + assert sctpdlm.is_dlm_using_sctp() == exp_return + if text_in_log: + assert text_in_log in caplog.text diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigread/tests/test_unit_sctpconfigread_sctplib.py b/repos/system_upgrade/el7toel8/actors/sctpconfigread/tests/test_unit_sctpconfigread_sctplib.py new file mode 100644 index 0000000..90d8109 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigread/tests/test_unit_sctpconfigread_sctplib.py @@ -0,0 +1,239 @@ +import logging +from functools import partial + +import pytest + +from leapp.libraries.actor import sctpdlm, sctplib +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.models import ActiveKernelModule, ActiveKernelModulesFacts + +FILENAME_SCTP = 'sctp' +FILENAME_NO_SCTP = 'no_sctp' +SRC_VER = '7.6' + +logger = logging.getLogger(__name__) + + +def test_anyfile(tmpdir): + file1 = tmpdir.join('file1') + file2 = tmpdir.join('file2') + file1.write('I am not empty') + file2.write('And me either') + + assert sctplib.anyfile((str(file1),)) + assert sctplib.anyfile((str(file1), str(tmpdir))) + assert not sctplib.anyfile((str(tmpdir),)) + assert not sctplib.anyfile(('Iam not exist',)) + + +def test_is_module_loaded(monkeypatch): + monkeypatch.setattr( + sctplib.api, + 'current_actor', + CurrentActorMocked( + src_ver=SRC_VER, + msgs=[ + ActiveKernelModulesFacts( + kernel_modules=[ + ActiveKernelModule( + filename=FILENAME_SCTP, parameters=() + ), + ] + ), + ], + ), + ) + assert sctplib.is_module_loaded(FILENAME_SCTP) + assert not sctplib.is_module_loaded('not exists filename') + + +@pytest.mark.parametrize( + ( + 'actor', + 'exp_return', + 'anyfile_returns', + 'check_dlm_cfgfile_returns', + 'check_dlm_sysconfig_returns', + 'text_in_log', + ), + [ + # test if module name is sctp + ( + CurrentActorMocked( + src_ver=SRC_VER, + msgs=[ + ActiveKernelModulesFacts( + kernel_modules=[ + ActiveKernelModule( + filename=FILENAME_SCTP, parameters=() + ) + ] + ) + ], + ), + True, + False, + False, + False, + '', + ), + # test if module name is different, but one of lksctp is present + ( + CurrentActorMocked( + src_ver=SRC_VER, + msgs=[ + ActiveKernelModulesFacts( + kernel_modules=[ + ActiveKernelModule( + filename=FILENAME_NO_SCTP, parameters=() + ) + ] + ) + ], + ), + True, + True, + False, + False, + 'lksctp files', + ), + # test if check_dlm_cfgfile is True + ( + CurrentActorMocked( + src_ver=SRC_VER, + msgs=[ + ActiveKernelModulesFacts( + kernel_modules=[ + ActiveKernelModule( + filename=FILENAME_NO_SCTP, parameters=() + ) + ] + ) + ], + ), + True, + False, + True, + False, + 'dlm.conf', + ), + # test if check_dlm_sysconfig is True + ( + CurrentActorMocked( + src_ver=SRC_VER, + msgs=[ + ActiveKernelModulesFacts( + kernel_modules=[ + ActiveKernelModule( + filename=FILENAME_NO_SCTP, parameters=() + ) + ] + ) + ], + ), + True, + False, + False, + True, + 'sysconfig', + ), + ], +) +def test_is_sctp_used( + actor, + exp_return, + anyfile_returns, + check_dlm_cfgfile_returns, + check_dlm_sysconfig_returns, + text_in_log, + monkeypatch, + caplog, +): + monkeypatch.setattr(sctplib.api, 'current_actor', actor) + monkeypatch.setattr(sctplib, 'anyfile', lambda arg: anyfile_returns) + monkeypatch.setattr( + sctpdlm, 'check_dlm_cfgfile', lambda: check_dlm_cfgfile_returns + ) + monkeypatch.setattr( + sctpdlm, 'check_dlm_sysconfig', lambda: check_dlm_sysconfig_returns + ) + with caplog.at_level(logging.DEBUG): + assert sctplib.is_sctp_used() == exp_return + if text_in_log: + assert text_in_log in caplog.text + + +class RunMocked(object): + """Simple mock class for leapp.libraries.stdlib.run.""" + + def __init__(self, exc_type=None): + """if exc_type provided, then it will be raised on + instance call. + + :type exc_type: None or BaseException + """ + self.exc_type = exc_type + + def __call__(self, *args, **kwargs): + if self.exc_type: + logger.info('Mocked `run` raising %r', self.exc_type) + raise self.exc_type() + logger.info('Mocked `run` passed without exp.') + + +@pytest.mark.parametrize( + ('run_fails', 'exp_return', 'text_in_log'), + [ + (True, False, 'Nothing regarding SCTP was found on journal.'), + (False, True, 'Found logs regarding SCTP on journal.'), + ], +) +def test_was_sctp_used( + monkeypatch, caplog, run_fails, exp_return, text_in_log +): + monkeypatch.setattr( + sctplib, + 'run', + RunMocked( + exc_type=partial( + sctplib.CalledProcessError, 'message', 'command', 'result' + ) + if run_fails + else None + ), + ) + with caplog.at_level(logging.DEBUG): + assert sctplib.was_sctp_used() == exp_return + if text_in_log: + assert text_in_log in caplog.text + + +@pytest.mark.parametrize( + ( + 'is_sctp_used_returns', + 'was_sctp_used_returns', + 'exp_return', + 'text_in_log', + ), + [ + (True, False, True, 'SCTP is being used.'), + (False, True, True, 'SCTP was used.'), + (False, False, False, 'SCTP is not being used and neither wanted.'), + ], +) +def test_is_sctp_wanted( + is_sctp_used_returns, + was_sctp_used_returns, + exp_return, + text_in_log, + monkeypatch, + caplog, +): + monkeypatch.setattr(sctplib, 'is_sctp_used', lambda: is_sctp_used_returns) + monkeypatch.setattr( + sctplib, 'was_sctp_used', lambda: was_sctp_used_returns + ) + with caplog.at_level(logging.DEBUG): + assert sctplib.is_sctp_wanted() == exp_return + if text_in_log: + assert text_in_log in caplog.text diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigread/tools/check_syslog_for_sctp.sh b/repos/system_upgrade/el7toel8/actors/sctpconfigread/tools/check_syslog_for_sctp.sh new file mode 100755 index 0000000..74f9a91 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigread/tools/check_syslog_for_sctp.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +/usr/bin/journalctl --system -S '1 month ago' | /usr/bin/grep -q -m1 -w sctp diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/actor.py b/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/actor.py new file mode 100644 index 0000000..ee177d9 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import sctpupdate +from leapp.models import SCTPConfig +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class SCTPConfigUpdate(Actor): + """ + Updates the kernel module blacklist for SCTP. + + If the SCTP module is wanted on RHEL8 the modprobe configuration gets updated to remove SCTP from the black listed + kernel modules. + """ + name = 'sctp_config_update' + description = 'This actor updates SCTP configuration for RHEL8.' + consumes = (SCTPConfig,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + sctpupdate.perform_update() diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/libraries/sctpupdate.py b/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/libraries/sctpupdate.py new file mode 100644 index 0000000..79be4c2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/libraries/sctpupdate.py @@ -0,0 +1,27 @@ +import os + +from leapp.libraries.stdlib import api, run +from leapp.models import SCTPConfig + + +def enable_sctp(_modprobe_d_path="/etc/modprobe.d"): + """ + Enables the SCTP module by removing it from being black listed. + :type _modprobe_d_path: str + :param _modprobe_d_path: overwrite only in case of testing, by passing + some tmp_dir instead + """ + + api.current_logger().info('Enabling SCTP.') + run(['/usr/bin/sed', '-i', r's/^\s*blacklist.*sctp/#&/', + os.path.join(_modprobe_d_path, 'sctp_diag-blacklist.conf'), + os.path.join(_modprobe_d_path, 'sctp-blacklist.conf')]) + api.current_logger().info('Enabled SCTP.') + + +def perform_update(): + for sctpconfig in api.consume(SCTPConfig): + api.current_logger().info('Consuming sctp={}'.format(sctpconfig.wanted)) + if sctpconfig.wanted: + enable_sctp() + break diff --git a/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/tests/test_unit_sctpconfigupdate.py b/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/tests/test_unit_sctpconfigupdate.py new file mode 100644 index 0000000..ac36922 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sctpconfigupdate/tests/test_unit_sctpconfigupdate.py @@ -0,0 +1,119 @@ +import logging +import subprocess + +import pytest + +from leapp.libraries.actor import sctpupdate +from leapp.libraries.stdlib import CalledProcessError + +logger = logging.getLogger(__name__) + + +@pytest.mark.parametrize( + ( + 'conf_content', + 'exp_new_conf_content', + 'log_should_contain', + 'log_shouldnt_contain', + 'conf_files_exists', + 'should_raise_exc', + 'logger_level', + ), + [ + # testing normal behaviour + ( + 'blacklist sctp', + '#blacklist sctp', + 'Enabled SCTP', + None, + True, + None, + logging.INFO, + ), + # testing if regex works also in case sctp just a part of a string + ( + 'blacklist some-sctp', + '#blacklist some-sctp', + 'Enabled SCTP', + None, + True, + None, + logging.INFO, + ), + # testing if script skips non sctp lines + ( + 'blacklist tcp', + 'blacklist tcp', + 'Enabled SCTP', + None, + True, + None, + logging.INFO, + ), + # testing if the logger message is empty on warning level + ( + 'blacklist tcp', + 'blacklist tcp', + '', + None, + True, + None, + logging.WARNING, + ), + # testing if CalledProcessError raised when sed exits with non 0 and + # logger not emits Enabled SCTP (what we want) + ( + 'blacklist tcp', + 'blacklist tcp', + None, + 'Enabled SCTP', + False, + CalledProcessError, + logging.INFO, + ), + ], +) +def test_enable_sctp( + conf_content, + exp_new_conf_content, + log_should_contain, + log_shouldnt_contain, + conf_files_exists, + should_raise_exc, + logger_level, + monkeypatch, + tmpdir, + caplog, + capsys, +): + def mock_run(args): + logger.info('Calling run with %r', args) + res = subprocess.call(args) + if res != 0: + raise CalledProcessError( + message='Sed fails with error code {!r}'.format(res), + command=args, + result=res, + ) + + monkeypatch.setattr(sctpupdate, 'run', mock_run) + + sctp_diag_blacklist_conf = tmpdir.join('sctp_diag-blacklist.conf') + sctp_blacklist_conf = tmpdir.join('sctp-blacklist.conf') + if conf_files_exists: + sctp_diag_blacklist_conf.write(conf_content) + sctp_blacklist_conf.write(conf_content) + + with caplog.at_level(logger_level): + if not should_raise_exc: + sctpupdate.enable_sctp(_modprobe_d_path=str(tmpdir)) + with open(str(sctp_blacklist_conf)) as conf: + assert conf.readlines() == [exp_new_conf_content] + else: + with pytest.raises(should_raise_exc): + sctpupdate.enable_sctp(_modprobe_d_path=str(tmpdir)) + + if log_should_contain is not None: + assert log_should_contain in caplog.text + if log_shouldnt_contain is not None: + assert log_shouldnt_contain not in caplog.text diff --git a/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/actor.py b/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/actor.py new file mode 100644 index 0000000..b85be50 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor.sourcebootloaderscanner import scan_source_boot_loader_configuration +from leapp.models import SourceBootLoaderConfiguration +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class SourceBootLoaderScanner(Actor): + """ + Scans the boot loader configuration on the source system. + """ + + name = 'source_boot_loader_scanner' + consumes = () + produces = (SourceBootLoaderConfiguration,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + scan_source_boot_loader_configuration() diff --git a/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/libraries/sourcebootloaderscanner.py b/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/libraries/sourcebootloaderscanner.py new file mode 100644 index 0000000..111bb6c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/libraries/sourcebootloaderscanner.py @@ -0,0 +1,90 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import BootEntry, SourceBootLoaderConfiguration + +CMD_GRUBBY_INFO_ALL = ['grubby', '--info', 'ALL'] + + +def parse_grubby_output_line(line): + """ + Parses a single output line of `grubby --info ALL` that has the property=value format and returns a tuple + (property, value). + + Quotes are removed from the value. + :param str line: A line of the grubby output. + :returns: Tuple containing the key (boot entry property) and its value. + :rtype: tuple + """ + line_fragments = line.split('=', 1) + if len(line_fragments) != 2: + # The line does not have the property=value format, something is wrong + raise StopActorExecutionError( + message='Failed to parse `grubby` output.', + details={ + 'details': 'The following line does not appear to have expected format: {0}'.format(line) + } + ) + + prop, value = line_fragments + value = value.strip('\'"') + return (prop, value) + + +def scan_boot_entries(): + """ + Scans the available boot entries. + + :rtype: list + :returns: A list of available boot entries found in the boot loader configuration. + """ + try: + grubby_output = run(CMD_GRUBBY_INFO_ALL, split=True) + except CalledProcessError as err: + # We have failed to call `grubby` - something is probably wrong here. + raise StopActorExecutionError( + message='Failed to call `grubby` to list available boot entries.', + details={ + 'details': str(err), + 'stderr': err.stderr + } + ) + + boot_entries = [] + boot_entry_data = {} + for output_line in grubby_output['stdout']: + if output_line == 'non linux entry': + # Grubby does not display info about non-linux entries + # Such an entry is not problematic from our PoV, therefore, skip it + boot_entry_data = {} + continue + + prop, value = parse_grubby_output_line(output_line) + if prop == 'index': + # Start of a new boot entry section + if boot_entry_data: + # There has been a valid linux entry + boot_entries.append( + BootEntry(title=boot_entry_data.get('title', ''), # In theory, the title property can be missing + kernel_image=boot_entry_data['kernel'])) + boot_entry_data = {} + boot_entry_data[prop] = value + + # There was no 'index=' line after the last boot entry section, thus, its data has not been converted to a model. + if boot_entry_data: + boot_entries.append(BootEntry(title=boot_entry_data.get('title', ''), + kernel_image=boot_entry_data['kernel'])) + return boot_entries + + +def scan_source_boot_loader_configuration(): + """ + Scans the boot loader configuration. + + Produces :class:`SourceBootLoaderConfiguration for other actors to act upon. + """ + + boot_loader_configuration = SourceBootLoaderConfiguration( + entries=scan_boot_entries() + ) + + api.produce(boot_loader_configuration) diff --git a/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/tests/test_bootentryscanner.py b/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/tests/test_bootentryscanner.py new file mode 100644 index 0000000..284ec11 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/sourcebootloaderscanner/tests/test_bootentryscanner.py @@ -0,0 +1,60 @@ +import pytest + +from leapp.libraries import stdlib +from leapp.libraries.actor import sourcebootloaderscanner +from leapp.libraries.common.testutils import produce_mocked + +GRUBBY_INFO_ALL_STDOUT = '''index=0 +kernel="/boot/vmlinuz-4.18.0-305.7.1.el8_4.x86_64" +args="ro uned_params" +root="/someroot" +initrd="/boot/initramfs-4.18.0-305.7.1.el8_4.x86_64.img" +title="Linux" +id="some_id" +index=1 +kernel="/boot/vmlinuz-4.18.0-305.3.1.el8_4.x86_64" +args="ro" +root="/someroot" +initrd="/boot/initramfs-4.18.0-305.3.1.el8_4.x86_64.img" +title="Linux old-kernel" +id="some_id2" +index=2 +non linux entry''' + + +def test_scan_boot_entries(monkeypatch): + """Tests whether the library correctly identifies boot entries in the grubby output.""" + def run_mocked(cmd, **kwargs): + if cmd == ['grubby', '--info', 'ALL']: + return { + 'stdout': GRUBBY_INFO_ALL_STDOUT.split('\n') + } + raise ValueError('Tried to run unexpected command.') + + actor_produces = produce_mocked() + + # The library imports `run` all the way (from ... import run), therefore, + # we must monkeypatch the reference directly in the actor's library namespace + monkeypatch.setattr(sourcebootloaderscanner, 'run', run_mocked) + monkeypatch.setattr(stdlib.api, 'produce', actor_produces) + + sourcebootloaderscanner.scan_source_boot_loader_configuration() + + fail_description = 'Only one SourceBootLoaderConfiguration message should be produced.' + assert len(actor_produces.model_instances) == 1, fail_description + + bootloader_config = actor_produces.model_instances[0] + + fail_description = 'Found different number of boot entries than present in provided mocks.' + assert len(bootloader_config.entries) == 2, fail_description + + expected_entries = [ + {'title': 'Linux', 'kernel_image': '/boot/vmlinuz-4.18.0-305.7.1.el8_4.x86_64'}, + {'title': 'Linux old-kernel', 'kernel_image': '/boot/vmlinuz-4.18.0-305.3.1.el8_4.x86_64'}, + ] + + actual_entries = sorted(bootloader_config.entries, key=lambda entry: entry.title) + + for actual_entry, expected_entry in zip(actual_entries, expected_entries): + assert actual_entry.title == expected_entry['title'] + assert actual_entry.kernel_image == expected_entry['kernel_image'] diff --git a/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/actor.py b/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/actor.py new file mode 100644 index 0000000..3fdb27f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/actor.py @@ -0,0 +1,33 @@ +from leapp.actors import Actor +from leapp.libraries.actor import spamassassinconfigcheck +from leapp.models import Report, SpamassassinFacts +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class SpamassassinConfigCheck(Actor): + """ + Reports changes in spamassassin between RHEL-7 and RHEL-8 + + Reports backward-incompatible changes that have been made in spamassassin + between RHEL-7 and RHEL-8 (spamc no longer accepts an argument with the --ssl + option; spamd no longer accepts the --ssl-version; SSLv3 is no longer supported; + the type of spamassassin.service has been changed from "forking" to "simple"; + sa-update no longer supports SHA1 validation of rule files). + + The migration of the configuration files will be mostly handled by the + SpamassassinConfigUpdate actor, however the admin still needs to know about + the changes so that they can do any necessary migration in places that we cannot + reach (e.g. scripts). + """ + + name = 'spamassassin_config_check' + consumes = (SpamassassinFacts,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + facts = next(self.consume(SpamassassinFacts), None) + if facts: + spamassassinconfigcheck.produce_reports(facts) + else: + self.log.debug('Skipping execution - no SpamassassinFacts message has been produced.') diff --git a/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/libraries/spamassassinconfigcheck.py b/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/libraries/spamassassinconfigcheck.py new file mode 100644 index 0000000..3a4cf18 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/libraries/spamassassinconfigcheck.py @@ -0,0 +1,107 @@ +from leapp import reporting +from leapp.libraries.common.spamassassinutils import ( + SPAMASSASSIN_SERVICE_OVERRIDE, + SPAMC_CONFIG_FILE, + SYSCONFIG_SPAMASSASSIN +) + + +def _check_spamc_config(facts, report_func): + title = ('spamc no longer allows specifying the TLS version and no longer ' + 'supports SSLv3') + summary_generic = ('spamc no longer allows using the "--ssl" option with an ' + 'argument specifying the TLS version - the option can only ' + 'be used without an argument. Also, spamc no longer supports ' + 'SSLv3.') + if facts.spamc_ssl_argument: + summary_detail = ('The spamc configuration file uses "--ssl %s", it will ' + 'be updated during the upgrade.' + % facts.spamc_ssl_argument) + summary = reporting.Summary('%s %s' % (summary_generic, summary_detail)) + resource = reporting.RelatedResource('file', SPAMC_CONFIG_FILE) + else: + summary = reporting.Summary(summary_generic) + resource = None + severity = (reporting.Severity.HIGH if facts.spamc_ssl_argument == 'sslv3' + else reporting.Severity.MEDIUM) + hint = 'Please update your scripts and configuration, if there are any.' + + args = [ + reporting.Title(title), + summary, + reporting.Groups([reporting.Groups.ENCRYPTION]), + reporting.Severity(severity), + reporting.Remediation(hint=hint), + ] + if resource: + args.append(resource) + report_func(args) + + +def _check_spamd_config_ssl(facts, report_func): + title = ('spamd no longer allows specifying the TLS version and no longer ' + 'supports SSLv3') + summary_generic = ('spamd no longer accepts the --ssl-version option and ' + 'no longer supports SSLv3.') + if facts.spamd_ssl_version: + summary_detail = ('The spamd sysconfig file uses "--ssl-version %s", ' + 'it will be updated during the upgrade.' + % facts.spamd_ssl_version) + summary = reporting.Summary('%s %s' % (summary_generic, summary_detail)) + resource = reporting.RelatedResource('file', SYSCONFIG_SPAMASSASSIN) + else: + summary = reporting.Summary(summary_generic) + resource = None + severity = (reporting.Severity.HIGH if facts.spamd_ssl_version == 'sslv3' + else reporting.Severity.MEDIUM) + hint = 'Please update your scripts and configuration, if there are any.' + + args = [ + reporting.Title(title), + summary, + reporting.Groups([reporting.Groups.ENCRYPTION, reporting.Groups.SERVICES]), + reporting.Severity(severity), + reporting.Remediation(hint=hint) + ] + if resource: + args.append(resource) + report_func(args) + + +def _check_spamd_config_service_type(facts, report_func): + title = 'The type of the spamassassin systemd service has changed' + summary_generic = 'The type of spamassassin.service has been changed from "forking" to "simple".' + if facts.service_overriden: + summary_detail = 'However, the service appears to be overridden; no migration action will occur.' + resource = reporting.RelatedResource('file', SPAMASSASSIN_SERVICE_OVERRIDE) + else: + summary_detail = 'The spamassassin sysconfig file will be updated.' + resource = reporting.RelatedResource('file', SYSCONFIG_SPAMASSASSIN) + report_func([ + reporting.Title(title), + reporting.Summary('%s %s' % (summary_generic, summary_detail)), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.Severity(reporting.Severity.MEDIUM), + resource + ]) + + +def _report_sa_update_change(report_func): + summary = ('sa-update no longer supports SHA1 validation of filtering rules, ' + 'SHA256/SHA512 validation is done instead. This may affect you if ' + 'you are using an alternative update channel (sa-update used with ' + 'option --channel or --channelfile), or if you install filtering ' + 'rule updates directly from files (sa-update --install).') + report_func([reporting.Title('sa-update no longer supports SHA1 validation'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.LOW)]) + + +def produce_reports(facts): + """ + Checks spamassassin configuration and produces reports. + """ + _check_spamc_config(facts, reporting.create_report) + _check_spamd_config_ssl(facts, reporting.create_report) + _check_spamd_config_service_type(facts, reporting.create_report) + _report_sa_update_change(reporting.create_report) diff --git a/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/tests/test_actor_spamassassinconfigcheck.py b/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/tests/test_actor_spamassassinconfigcheck.py new file mode 100644 index 0000000..b99a436 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/tests/test_actor_spamassassinconfigcheck.py @@ -0,0 +1,28 @@ +from leapp.models import SpamassassinFacts +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context + + +def test_actor_basic(current_actor_context): + facts = SpamassassinFacts(service_overriden=False) + + current_actor_context.feed(facts) + current_actor_context.run() + reports = current_actor_context.consume(Report) + + assert len(reports) == 4 + report = reports[0] + assert '--ssl' in report.report['summary'] + assert 'spamc' in report.report['summary'] + report = reports[1] + assert '--ssl-version' in report.report['summary'] + assert 'spamd' in report.report['summary'] + report = reports[2] + assert 'spamassassin.service' in report.report['summary'] + report = reports[3] + assert 'sa-update no longer supports SHA1' in report.report['summary'] + + +def test_actor_no_message(current_actor_context): + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/tests/test_library_spamassassinconfigcheck.py b/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/tests/test_library_spamassassinconfigcheck.py new file mode 100644 index 0000000..a54dae2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/spamassassinconfigcheck/tests/test_library_spamassassinconfigcheck.py @@ -0,0 +1,152 @@ +from leapp.libraries.actor import spamassassinconfigcheck +from leapp.libraries.common.testutils import create_report_mocked +from leapp.models import SpamassassinFacts + + +def test_check_spamc_config_tlsv1(): + facts = SpamassassinFacts(spamc_ssl_argument='tlsv1', service_overriden=False) + report_func = create_report_mocked() + + spamassassinconfigcheck._check_spamc_config(facts, report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'specifying the TLS version' in report_fields['title'] + assert 'SSLv3' in report_fields['title'] + assert '--ssl' in report_fields['summary'] + assert 'SSLv3' in report_fields['summary'] + assert 'spamc configuration file' in report_fields['summary'] + assert '--ssl tlsv1' in report_fields['summary'] + assert all('update your scripts' in r['context'] for r in report_fields['detail']['remediations']) + assert report_fields['severity'] == 'medium' + + +def test_check_spamc_config_sslv3(): + facts = SpamassassinFacts(spamc_ssl_argument='sslv3', service_overriden=False) + report_func = create_report_mocked() + + spamassassinconfigcheck._check_spamc_config(facts, report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'specifying the TLS version' in report_fields['title'] + assert 'SSLv3' in report_fields['title'] + assert '--ssl' in report_fields['summary'] + assert 'SSLv3' in report_fields['summary'] + assert 'spamc configuration file' in report_fields['summary'] + assert '--ssl sslv3' in report_fields['summary'] + assert all('update your scripts' in r['context'] for r in report_fields['detail']['remediations']) + assert report_fields['severity'] == 'high' + + +def test_check_spamc_config_correct_config(): + facts = SpamassassinFacts(spamc_ssl_argument=None, service_overriden=False) + report_func = create_report_mocked() + + spamassassinconfigcheck._check_spamc_config(facts, report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'specifying the TLS version' in report_fields['title'] + assert 'SSLv3' in report_fields['title'] + assert '--ssl' in report_fields['summary'] + assert 'SSLv3' in report_fields['summary'] + assert 'spamc configuration file' not in report_fields['summary'] + assert all('update your scripts' in r['context'] for r in report_fields['detail']['remediations']) + assert report_fields['severity'] == 'medium' + + +def test_check_spamd_config_ssl_tlsv1(): + facts = SpamassassinFacts(spamd_ssl_version='tlsv1', service_overriden=False) + report_func = create_report_mocked() + + spamassassinconfigcheck._check_spamd_config_ssl(facts, report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'specifying the TLS version' in report_fields['title'] + assert 'SSLv3' in report_fields['title'] + assert '--ssl-version' in report_fields['summary'] + assert 'SSLv3' in report_fields['summary'] + assert 'sysconfig' in report_fields['summary'] + assert '--ssl-version tlsv1' in report_fields['summary'] + assert all('update your scripts' in r['context'] for r in report_fields['detail']['remediations']) + assert report_fields['severity'] == 'medium' + + +def test_check_spamd_config_ssl_sslv3(): + facts = SpamassassinFacts(spamd_ssl_version='sslv3', service_overriden=False) + report_func = create_report_mocked() + + spamassassinconfigcheck._check_spamd_config_ssl(facts, report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'specifying the TLS version' in report_fields['title'] + assert 'SSLv3' in report_fields['title'] + assert '--ssl-version' in report_fields['summary'] + assert 'SSLv3' in report_fields['summary'] + assert 'sysconfig' in report_fields['summary'] + assert '--ssl-version sslv3' in report_fields['summary'] + assert all('update your scripts' in r['context'] for r in report_fields['detail']['remediations']) + assert report_fields['severity'] == 'high' + + +def test_check_spamd_config_ssl_correct_config(): + facts = SpamassassinFacts(spamd_ssl_version=None, service_overriden=False) + report_func = create_report_mocked() + + spamassassinconfigcheck._check_spamd_config_ssl(facts, report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'specifying the TLS version' in report_fields['title'] + assert 'SSLv3' in report_fields['title'] + assert '--ssl-version' in report_fields['summary'] + assert 'SSLv3' in report_fields['summary'] + assert 'sysconfig' not in report_fields['summary'] + assert all('update your scripts' in r['context'] for r in report_fields['detail']['remediations']) + assert report_fields['severity'] == 'medium' + + +def test_check_spamd_config_service_type_service_overriden(): + facts = SpamassassinFacts(service_overriden=True) + report_func = create_report_mocked() + + spamassassinconfigcheck._check_spamd_config_service_type(facts, report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'type of the spamassassin systemd service' in report_fields['title'] + assert 'The type of spamassassin.service' in report_fields['summary'] + assert 'overridden' in report_fields['summary'] + assert report_fields['severity'] == 'medium' + + +def test_check_spamd_config_service_type_service_not_overriden(): + facts = SpamassassinFacts(service_overriden=False) + report_func = create_report_mocked() + + spamassassinconfigcheck._check_spamd_config_service_type(facts, report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'type of the spamassassin systemd service' in report_fields['title'] + assert 'The type of spamassassin.service' in report_fields['summary'] + assert 'will be updated' in report_fields['summary'] + assert report_fields['severity'] == 'medium' + + +def test_report_sa_update_change(): + report_func = create_report_mocked() + + spamassassinconfigcheck._report_sa_update_change(report_func) + + assert report_func.called == 1 + report_fields = report_func.report_fields + assert 'sa-update no longer supports SHA1' in report_fields['title'] + assert 'no longer supports SHA1' in report_fields['summary'] + assert 'SHA256/SHA512' in report_fields['summary'] + assert '--channel or --channelfile' in report_fields['summary'] + assert '--install' in report_fields['summary'] + assert report_fields['severity'] == 'low' diff --git a/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/actor.py b/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/actor.py new file mode 100644 index 0000000..6b88968 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/actor.py @@ -0,0 +1,26 @@ +import os + +from leapp.actors import Actor +from leapp.libraries.actor import spamassassinconfigread +from leapp.libraries.common.utils import read_file +from leapp.models import InstalledRedHatSignedRPM, SpamassassinFacts +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class SpamassassinConfigRead(Actor): + """ + Reads spamc configuration (/etc/mail/spamassassin/spamc.conf), the + spamassassin sysconfig file (/etc/sysconfig/spamassassin) and checks + whether the spamassassin service has been overridden. Produces + SpamassassinFacts containing the extracted information. + """ + + name = 'spamassassin_config_read' + consumes = (InstalledRedHatSignedRPM,) + produces = (SpamassassinFacts,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + if spamassassinconfigread.is_processable(): + self.produce(spamassassinconfigread.get_spamassassin_facts(read_func=read_file, + listdir=os.listdir)) diff --git a/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread.py b/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread.py new file mode 100644 index 0000000..fde24f1 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread.py @@ -0,0 +1,27 @@ +from leapp.libraries.actor import spamassassinconfigread_spamc, spamassassinconfigread_spamd +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, SpamassassinFacts + + +def is_processable(): + """ + Checks whether the spamassassin package is installed. + """ + res = has_package(InstalledRedHatSignedRPM, 'spamassassin') + if not res: + api.current_logger().debug('spamassassin is not installed.') + return res + + +def get_spamassassin_facts(read_func, listdir): + """ + Reads the spamc configuration file, the spamassassin sysconfig file and checks + whether the spamassassin service is overridden. Returns SpamassassinFacts. + """ + spamc_ssl_argument = spamassassinconfigread_spamc.get_spamc_ssl_argument(read_func) + service_overriden = spamassassinconfigread_spamd.spamassassin_service_overriden(listdir) + spamd_ssl_version = spamassassinconfigread_spamd.get_spamd_ssl_version(read_func) + return SpamassassinFacts(spamc_ssl_argument=spamc_ssl_argument, + service_overriden=service_overriden, + spamd_ssl_version=spamd_ssl_version) diff --git a/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread_spamc.py b/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread_spamc.py new file mode 100644 index 0000000..0b85d26 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/spamassassinconfigread/libraries/spamassassinconfigread_spamc.py @@ -0,0 +1,35 @@ +import errno +import re + +from leapp.libraries.common.spamassassinutils import SPAMC_CONFIG_FILE +from leapp.libraries.stdlib import api + + +def _remove_comments(content): + return re.sub(r'^#.*$', '', content, flags=re.MULTILINE) + + +def _parse_spamc_ssl_argument(content): + content = _remove_comments(content) + res = None + for match in re.finditer(r'(? 0] + return DaemonList(value=daemon_list) + + +def _get_daemon_lists_in_file(path, read_func=_read_file): + ret = [] + try: + content = read_func(path) + except IOError as e: + if e.errno != errno.ENOENT: + api.current_logger().warning('Failed to read %s: %s' % (path, e)) + return ret + lines = [line for line in _get_lines(content) if not _is_comment(line)] + for line in lines: + ret.append(_get_daemon_list_in_line(line)) + return ret + + +def _get_daemon_lists(read_func=_read_file): + daemon_lists = [] + for path in CONFIG_FILES: + daemon_lists.extend(_get_daemon_lists_in_file(path, read_func=read_func)) + return daemon_lists + + +def get_tcp_wrappers_facts(read_func=_read_file): + daemon_lists = _get_daemon_lists(read_func=read_func) + return TcpWrappersFacts(daemon_lists=daemon_lists) diff --git a/repos/system_upgrade/el7toel8/actors/tcpwrappersconfigread/tests/test_library_tcpwrappersconfigread.py b/repos/system_upgrade/el7toel8/actors/tcpwrappersconfigread/tests/test_library_tcpwrappersconfigread.py new file mode 100644 index 0000000..7bb0f7b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/tcpwrappersconfigread/tests/test_library_tcpwrappersconfigread.py @@ -0,0 +1,167 @@ +import errno + +from leapp.libraries.actor import tcpwrappersconfigread +from leapp.libraries.common.testutils import make_IOError + + +class MockFileReader(object): + def __init__(self): + self.files = {} + self.files_read = {} + self.read_called = 0 + + def _increment_read_counters(self, path): + self.read_called += 1 + self.files_read.setdefault(path, 0) + self.files_read[path] += 1 + + def read(self, path): + self._increment_read_counters(path) + try: + return self.files[path] + except KeyError: + raise make_IOError(errno.ENOENT) + + +def test_get_daemon_list_in_line_simple(): + line = 'vsftpd : 192.168.2.*' + daemon_list = tcpwrappersconfigread._get_daemon_list_in_line(line) + assert daemon_list.value == ['vsftpd'] + + +def test_get_daemon_list_in_line_multiple(): + line = 'vsftpd, sendmail : 192.168.2.*' + daemon_list = tcpwrappersconfigread._get_daemon_list_in_line(line) + assert daemon_list.value == ['vsftpd', 'sendmail'] + + line = 'ALL EXCEPT sendmail : 192.168.2.*' + daemon_list = tcpwrappersconfigread._get_daemon_list_in_line(line) + assert daemon_list.value == ['ALL', 'EXCEPT', 'sendmail'] + + # different separators + line = 'vsftpd,sendmail : 192.168.2.*' + daemon_list = tcpwrappersconfigread._get_daemon_list_in_line(line) + assert daemon_list.value == ['vsftpd', 'sendmail'] + + line = 'vsftpd\tsendmail : 192.168.2.*' + daemon_list = tcpwrappersconfigread._get_daemon_list_in_line(line) + assert daemon_list.value == ['vsftpd', 'sendmail'] + + line = 'vsftpd, \t sendmail : 192.168.2.*' + daemon_list = tcpwrappersconfigread._get_daemon_list_in_line(line) + assert daemon_list.value == ['vsftpd', 'sendmail'] + + +def test_get_daemon_list_in_line_malformed(): + line = 'foo' + daemon_list = tcpwrappersconfigread._get_daemon_list_in_line(line) + # tcp_wrappers actually ignores lines like this, but there's no harm in being + # over-sensitive here. + assert daemon_list.value == ['foo'] + + +def test_get_lines_empty(): + content = '' + lines = tcpwrappersconfigread._get_lines(content) + assert lines == [''] + + +def test_get_lines_simple(): + content = 'vsftpd : 192.168.2.*\n' \ + 'ALL : 192.168.1.*\n' + lines = tcpwrappersconfigread._get_lines(content) + assert lines == content.split('\n') + + +def test_get_lines_continued_line(): + content = 'vsftpd : 192.168\\\n.2.*' + lines = tcpwrappersconfigread._get_lines(content) + expected = ['vsftpd : 192.168.2.*'] + assert lines == expected + + +def test_get_lines_backslash_followed_by_whitespace(): + content = 'foo \\ \nthis is not a continuation line' + lines = tcpwrappersconfigread._get_lines(content) + expected = ['foo \\ ', 'this is not a continuation line'] + assert lines == expected + + +def test_get_lines_continued_comment(): + content = '# foo \\\n' \ + 'this is still a comment' + lines = tcpwrappersconfigread._get_lines(content) + expected = ['# foo this is still a comment'] + assert lines == expected + + +def test_is_comment(): + assert tcpwrappersconfigread._is_comment('') is True + assert tcpwrappersconfigread._is_comment(' ') is True + assert tcpwrappersconfigread._is_comment('# foo') is True + assert tcpwrappersconfigread._is_comment('#') is True + assert tcpwrappersconfigread._is_comment(' # foo') is False + assert tcpwrappersconfigread._is_comment('foo') is False + assert tcpwrappersconfigread._is_comment(' foo') is False + + +def test_get_daemon_lists_in_file(): + path = '/etc/hosts.allow' + reader = MockFileReader() + reader.files[path] = 'vsftpd : 192.168.2.*\n' \ + 'ALL : 192.168.1.*\n' + + daemon_lists = tcpwrappersconfigread._get_daemon_lists_in_file(path, read_func=reader.read) + + num_lines = 2 + assert len(daemon_lists) == num_lines + assert daemon_lists[0].value == ['vsftpd'] + assert daemon_lists[1].value == ['ALL'] + + +def test_get_daemon_lists_in_file_nonexistent(): + reader = MockFileReader() + daemon_lists = tcpwrappersconfigread._get_daemon_lists_in_file('/etc/hosts.allow', read_func=reader.read) + assert not daemon_lists + + +def test_get_daemon_lists(): + reader = MockFileReader() + reader.files['/etc/hosts.allow'] = 'vsftpd : 192.168.2.*\n' \ + 'ALL : 192.168.1.*\n' + reader.files['/etc/hosts.deny'] = 'sendmail : 192.168.2.*\n' + + daemon_lists = tcpwrappersconfigread._get_daemon_lists(read_func=reader.read) + + num_lines = 3 + assert len(daemon_lists) == num_lines + assert daemon_lists[0].value == ['vsftpd'] + assert daemon_lists[1].value == ['ALL'] + assert daemon_lists[2].value == ['sendmail'] + + +def test_get_daemon_lists_nonexistent_config(): + reader = MockFileReader() + daemon_lists = tcpwrappersconfigread._get_daemon_lists(read_func=reader.read) + assert not daemon_lists + + +def test_get_tcp_wrappers_facts(): + reader = MockFileReader() + reader.files['/etc/hosts.allow'] = 'vsftpd : 192.168.2.*\n' \ + 'ALL : 192.168.1.*\n' + reader.files['/etc/hosts.deny'] = 'sendmail : 192.168.2.*\n' + + facts = tcpwrappersconfigread.get_tcp_wrappers_facts(read_func=reader.read) + + num_lines = 3 + assert len(facts.daemon_lists) == num_lines + assert facts.daemon_lists[0].value == ['vsftpd'] + assert facts.daemon_lists[1].value == ['ALL'] + assert facts.daemon_lists[2].value == ['sendmail'] + + +def test_get_tcp_wrappers_facts_nonexistent_config(): + reader = MockFileReader() + facts = tcpwrappersconfigread.get_tcp_wrappers_facts(read_func=reader.read) + assert not facts.daemon_lists diff --git a/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/actor.py b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/actor.py new file mode 100644 index 0000000..cfbdd6b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import updateetcsysconfigkernel +from leapp.tags import IPUWorkflowTag, PreparationPhaseTag + + +class UpdateEtcSysconfigKernel(Actor): + """ + Update /etc/sysconfig/kernel file. + + In order to proceed with Upgrade process, DEFAULTKERNEL entry should be updated from kernel to + kernel-core. + """ + + name = 'update_etc_sysconfig_kernel' + consumes = () + produces = () + tags = (PreparationPhaseTag, IPUWorkflowTag) + + def process(self): + updateetcsysconfigkernel.update_kernel_config('/etc/sysconfig/kernel') diff --git a/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/libraries/updateetcsysconfigkernel.py b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/libraries/updateetcsysconfigkernel.py new file mode 100644 index 0000000..34216c3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/libraries/updateetcsysconfigkernel.py @@ -0,0 +1,9 @@ +from leapp.libraries.stdlib import run + + +def update_kernel_config(path): + """ Update DEFAULTKERNEL entry at provided config file """ + run(['/bin/sed', + '-i', + 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-core/g', + path]) diff --git a/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/files/expected b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/files/expected new file mode 100644 index 0000000..78c9e37 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/files/expected @@ -0,0 +1,6 @@ +# UPDATEDEFAULT specifies if new-kernel-pkg should make +# new kernels the default +UPDATEDEFAULT=yes + +# DEFAULTKERNEL specifies the default kernel package type +DEFAULTKERNEL=kernel-core diff --git a/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/files/original b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/files/original new file mode 100644 index 0000000..704d612 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/files/original @@ -0,0 +1,6 @@ +# UPDATEDEFAULT specifies if new-kernel-pkg should make +# new kernels the default +UPDATEDEFAULT=yes + +# DEFAULTKERNEL specifies the default kernel package type +DEFAULTKERNEL=kernel diff --git a/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/unit_test_updateetcsysconfigkernel.py b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/unit_test_updateetcsysconfigkernel.py new file mode 100644 index 0000000..7fa444c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/updateetcsysconfigkernel/tests/unit_test_updateetcsysconfigkernel.py @@ -0,0 +1,29 @@ +import os +import tempfile + +import pytest + +from leapp.libraries.actor import updateetcsysconfigkernel + + +# TODO [Artem] could be solved +@pytest.mark.skip(reason='Failing on CI complaining about missing leapp.db fiel') +def test_update_kernel_config(monkeypatch): + temp = tempfile.NamedTemporaryFile(delete=False) + with open('tests/files/original') as f: + data = f.readlines() + temp.writelines(data) + temp.close() + + updateetcsysconfigkernel.update_kernel_config(temp.name) + + with open(temp.name) as f: + result = f.readlines() + + with open('tests/files/expected') as f: + expected = f.readlines() + + assert result == expected + + os.unlink(temp.name) + assert not os.path.exists(temp.name) diff --git a/repos/system_upgrade/el7toel8/actors/vimmigrate/actor.py b/repos/system_upgrade/el7toel8/actors/vimmigrate/actor.py new file mode 100644 index 0000000..7ac50d1 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vimmigrate/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor import vimmigrate +from leapp.models import InstalledRedHatSignedRPM +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class VimMigrate(Actor): + """ + Modify configuration files of Vim 8.0 and later to keep the same behavior + as Vim 7.4 and earlier had. + """ + + name = 'vim_migrate' + consumes = (InstalledRedHatSignedRPM,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + vimmigrate.update_vim() diff --git a/repos/system_upgrade/el7toel8/actors/vimmigrate/libraries/vimmigrate.py b/repos/system_upgrade/el7toel8/actors/vimmigrate/libraries/vimmigrate.py new file mode 100644 index 0000000..4c40322 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vimmigrate/libraries/vimmigrate.py @@ -0,0 +1,82 @@ +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + + +def _append_string(path, content): + """ + Appends string into file + + :param str path: path to file + :param str content: content to add + """ + with open(path, 'a') as f: + f.write(content) + + +# rpm : the default config file +vim_configs = { + 'vim-minimal': '/etc/virc', + 'vim-enhanced': '/etc/vimrc' +} + + +# list of macros that should be set +new_macros = [ + 'let skip_defaults_vim=1', + 'set t_BE=' +] + + +def update_config(path, append_function=_append_string): + """ + Insert expected content into the file on the path + + :param str path: string representing the full path of the config file + :param func append_function: appends string into file + """ + fmt_input = "\n{comment_line}\n{content}\n".format(comment_line='" content added by Leapp', + content='\n'.join(new_macros)) + + try: + append_function(path, fmt_input) + except IOError: + raise IOError('Error during writing to file: {}.'.format(path)) + + +def _check_package(pkg): + """ + Checks if a package is installed and signed + + :param str pkg: name of package + """ + return has_package(InstalledRedHatSignedRPM, pkg) + + +def update_vim(debug_log=api.current_logger().debug, + error_log=api.current_logger().error, + is_installed=_check_package, + append_function=_append_string): + """ + Do update of configuration files + + :param func debug_log: function for debug logging + :param func error_log: function for error logging + :param func is_installed: checks if a package is installed + :param func append_function: appends string into file + """ + error_list = [] + + for pkg, config_file in vim_configs.items(): + if not is_installed(pkg): + continue + + debug_log('Updating Vim configuration file {}.'.format(config_file)) + + try: + update_config(config_file, append_function) + except (OSError, IOError) as error: + error_list.append((config_file, error)) + if error_list: + error_log('The files below have not been modified (error message included):' + + ''.join(['\n - {}: {}'.format(err[0], err[1]) for err in error_list])) diff --git a/repos/system_upgrade/el7toel8/actors/vimmigrate/tests/test_update_config_vimmigrate.py b/repos/system_upgrade/el7toel8/actors/vimmigrate/tests/test_update_config_vimmigrate.py new file mode 100644 index 0000000..19597b4 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vimmigrate/tests/test_update_config_vimmigrate.py @@ -0,0 +1,41 @@ +import pytest + +from leapp.libraries.actor.vimmigrate import new_macros, update_config + + +class MockFile(object): + def __init__(self, path, content=None): + self.path = path + self.content = content + self.error = False + + def append(self, path, content): + if path != self.path: + self.error = True + if not self.error: + self.content += content + return self.content + raise IOError('Error during writing to file: {}.'.format(path)) + + +def test_update_config_file_errors(path='foo'): + f = MockFile(path, content='') + + with pytest.raises(IOError): + update_config('bar', f.append) + + assert f.content == '' + + +@pytest.mark.parametrize('content', ('', 'bleblaba')) +def test_update_config_append_into_file(content): + path = 'bar' + + fmt_input = "\n{comment_line}\n{content}\n".format(comment_line='" content added by Leapp', + content='\n'.join(new_macros)) + + f = MockFile(path, content) + res = update_config(path, f.append) + + assert res is None + assert f.content == content + fmt_input diff --git a/repos/system_upgrade/el7toel8/actors/vimmigrate/tests/test_update_vim_vimmigrate.py b/repos/system_upgrade/el7toel8/actors/vimmigrate/tests/test_update_vim_vimmigrate.py new file mode 100644 index 0000000..5defccd --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vimmigrate/tests/test_update_vim_vimmigrate.py @@ -0,0 +1,127 @@ +import pytest + +from leapp.libraries.actor.vimmigrate import update_vim, vim_configs + +packages = [ + { + 'vim-minimal': '/etc/virc', + 'vim-enhanced': '/etc/vimrc' + }, + { + 'vim-minimal': '/etc/virc', + 'vim-enhanced': '' + }, + { + 'vim-minimal': '', + 'vim-enhanced': '/etc/vimrc' + }, + { + 'vim-minimal': '', + 'vim-enhanced': '' + }, + { + 'vim-minimal': '/etc/virc', + 'ble': '' + }, + { + 'vim-minimal': '', + 'ble': '' + }, + { + 'vim-enhanced': '/etc/vimrc', + 'moo': '' + }, + { + 'vim-enhanced': '', + 'moo': '' + }, + { + 'you': '', + 'hele': '' + } +] + + +class MockLogger(object): + def __init__(self): + self.debugmsg = '' + self.errmsg = '' + + def debug(self, message): + self.debugmsg += message + + def error(self, message): + self.errmsg += message + + +class MockPackage(object): + def __init__(self, name, config): + self.name = name + self.config = config + + +class MockPackageSet(object): + def __init__(self): + self.installed_packages = None + + def add_packages(self, pkgs): + if self.installed_packages is None: + self.installed_packages = [] + + for rpm, config in pkgs.items(): + self.installed_packages.append(MockPackage(rpm, config)) + + def is_installed(self, pkg): + for rpm in self.installed_packages: + if pkg == rpm.name: + return True + return False + + def append_content(self, path, content): + found = False + + for rpm in self.installed_packages: + if path == rpm.config: + found = True + if not found: + raise IOError('Error during writing to file: {}.'.format(path)) + + +class ExpectedOutput(object): + def __init__(self): + self.debugmsg = '' + self.errmsg = '' + + def create(self, rpms): + error_list = [] + + for pkg, config in rpms.items(): + if pkg in vim_configs.keys(): + self.debugmsg += 'Updating Vim configuration file {}.'.format(vim_configs[pkg]) + if config == '': + error_list.append((vim_configs[pkg], 'Error during writing to file: {}.'.format(vim_configs[pkg]))) + + if error_list: + self.errmsg = ('The files below have not been modified ' + '(error message included):' + + ''.join(['\n - {}: {}'.format(err[0], err[1]) + for err in error_list])) + + +@pytest.mark.parametrize('rpms', packages) +def test_update_vim(rpms): + logger = MockLogger() + installed_packages = MockPackageSet() + + installed_packages.add_packages(rpms) + + expected = ExpectedOutput() + expected.create(rpms) + + update_vim(logger.debug, + logger.error, + installed_packages.is_installed, + installed_packages.append_content) + + assert expected.debugmsg == logger.debugmsg + assert expected.errmsg == logger.errmsg diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/actor.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/actor.py new file mode 100644 index 0000000..3d188cd --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/actor.py @@ -0,0 +1,26 @@ +from leapp.actors import Actor +from leapp.libraries.actor import vsftpdconfigcheck +from leapp.models import TcpWrappersFacts, VsftpdFacts +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class VsftpdConfigCheck(Actor): + """ + Checks whether the vsftpd configuration is supported in RHEL-8. Namely checks that + configuration files don't set tcp_wrappers=YES and vsftpd-related configuration is + not present in tcp_wrappers configuration files at the same time. + """ + + name = 'vsftpd_config_check' + consumes = (TcpWrappersFacts, VsftpdFacts,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + try: + vsftpd_facts = next(self.consume(VsftpdFacts)) + except StopIteration: + return + tcp_wrappers_facts = next(self.consume(TcpWrappersFacts)) + vsftpdconfigcheck.check_config_supported(tcp_wrappers_facts, vsftpd_facts) diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/libraries/vsftpdconfigcheck.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/libraries/vsftpdconfigcheck.py new file mode 100644 index 0000000..c87d70e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/libraries/vsftpdconfigcheck.py @@ -0,0 +1,32 @@ +from leapp import reporting +from leapp.libraries.common.tcpwrappersutils import config_applies_to_daemon +from leapp.reporting import create_report + + +def check_config_supported(tcpwrap_facts, vsftpd_facts): + bad_configs = [config.path for config in vsftpd_facts.configs if config.tcp_wrappers] + if bad_configs and config_applies_to_daemon(tcpwrap_facts, 'vsftpd'): + list_separator_fmt = '\n - ' + create_report([ + reporting.Title('Unsupported vsftpd configuration'), + reporting.Summary( + 'tcp_wrappers support has been removed in RHEL-8. ' + 'Some configuration files set the tcp_wrappers option to true and ' + 'there is some vsftpd-related configuration in /etc/hosts.deny ' + 'or /etc/hosts.allow. Please migrate it manually. ' + 'The list of problematic configuration files:{}{}'. + format( + list_separator_fmt, + list_separator_fmt.join(bad_configs) + ) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.NETWORK]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.ExternalLink( + title='Replacing TCP Wrappers in RHEL 8', + url='https://access.redhat.com/solutions/3906701' + ), + reporting.RelatedResource('package', 'tcp_wrappers'), + reporting.RelatedResource('package', 'vsftpd'), + ] + [reporting.RelatedResource('file', str(bc)) for bc in bad_configs]) diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/tests/test_library_vsftpdconfigcheck.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/tests/test_library_vsftpdconfigcheck.py new file mode 100644 index 0000000..6bdce11 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigcheck/tests/test_library_vsftpdconfigcheck.py @@ -0,0 +1,82 @@ +from leapp.models import DaemonList, TcpWrappersFacts, VsftpdConfig, VsftpdFacts +from leapp.reporting import Report +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def test_actor_with_unsupported_tcpwrap_and_vsftpd_config(current_actor_context): + config1 = VsftpdConfig(path='/etc/vsftpd/foo.conf', tcp_wrappers=False) + config2 = VsftpdConfig(path='/etc/vsftpd/bar.conf', tcp_wrappers=True) + vsftpd_facts = VsftpdFacts(configs=[config1, config2]) + daemon_list = DaemonList(value=['vsftpd']) + tcpwrap_facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + + current_actor_context.feed(vsftpd_facts) + current_actor_context.feed(tcpwrap_facts) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + + assert is_inhibitor(report_fields) + assert 'foo.conf' not in report_fields['summary'] + assert 'bar.conf' in report_fields['summary'] + + +def test_actor_with_unsupported_tcpwrap_multiple_unsupported_vsftpd_configs(current_actor_context): + config1 = VsftpdConfig(path='/etc/vsftpd/foo.conf', tcp_wrappers=True) + config2 = VsftpdConfig(path='/etc/vsftpd/bar.conf', tcp_wrappers=False) + config3 = VsftpdConfig(path='/etc/vsftpd/goo.conf', tcp_wrappers=True) + vsftpd_facts = VsftpdFacts(configs=[config1, config2, config3]) + daemon_list = DaemonList(value=['vsftpd']) + tcpwrap_facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + + current_actor_context.feed(vsftpd_facts) + current_actor_context.feed(tcpwrap_facts) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + + assert is_inhibitor(report_fields) + assert 'foo.conf' in report_fields['summary'] + assert 'bar.conf' not in report_fields['summary'] + assert 'goo.conf' in report_fields['summary'] + + +def test_actor_with_unsupported_tcpwrap_config(current_actor_context): + config1 = VsftpdConfig(path='/etc/vsftpd/foo.conf', tcp_wrappers=False) + config2 = VsftpdConfig(path='/etc/vsftpd/bar.conf', tcp_wrappers=None) + vsftpd_facts = VsftpdFacts(configs=[config1, config2]) + daemon_list = DaemonList(value=['vsftpd']) + tcpwrap_facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + + current_actor_context.feed(vsftpd_facts) + current_actor_context.feed(tcpwrap_facts) + current_actor_context.run() + + assert not current_actor_context.consume(Report) + + +def test_actor_with_unsupported_vsftpd_config(current_actor_context): + config1 = VsftpdConfig(path='/etc/vsftpd/foo.conf', tcp_wrappers=False) + config2 = VsftpdConfig(path='/etc/vsftpd/bar.conf', tcp_wrappers=True) + vsftpd_facts = VsftpdFacts(configs=[config1, config2]) + daemon_list = DaemonList(value=['all', 'except', 'vsftpd']) + tcpwrap_facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + + current_actor_context.feed(vsftpd_facts) + current_actor_context.feed(tcpwrap_facts) + current_actor_context.run() + + assert not current_actor_context.consume(Report) + + +def test_actor_with_supported_tcpwrap_and_vsftpd_config(current_actor_context): + config1 = VsftpdConfig(path='/etc/vsftpd/foo.conf', tcp_wrappers=False) + config2 = VsftpdConfig(path='/etc/vsftpd/bar.conf', tcp_wrappers=False) + vsftpd_facts = VsftpdFacts(configs=[config1, config2]) + daemon_list = DaemonList(value=['all', 'except', 'vsftpd']) + tcpwrap_facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + + current_actor_context.feed(vsftpd_facts) + current_actor_context.feed(tcpwrap_facts) + current_actor_context.run() + + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/actor.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/actor.py new file mode 100644 index 0000000..c478d6b --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor import vsftpdconfigread +from leapp.models import InstalledRedHatSignedRPM, VsftpdFacts +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class VsftpdConfigRead(Actor): + """ + Reads vsftpd configuration files (/etc/vsftpd/*.conf) and extracts necessary information. + """ + + name = 'vsftpd_config_read' + consumes = (InstalledRedHatSignedRPM,) + produces = (VsftpdFacts,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + installed_rpm_facts = next(self.consume(InstalledRedHatSignedRPM)) + if vsftpdconfigread.is_processable(installed_rpm_facts): + self.produce(vsftpdconfigread.get_vsftpd_facts()) diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/libraries/config_parser.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/libraries/config_parser.py new file mode 100644 index 0000000..a7a6c17 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/libraries/config_parser.py @@ -0,0 +1,102 @@ +class ParsingError(Exception): + pass + + +class VsftpdConfigOptionParser(object): + def _get_string_options(self): + return ["secure_chroot_dir", "ftp_username", "chown_username", "xferlog_file", + "vsftpd_log_file", "message_file", "nopriv_user", "ftpd_banner", + "banned_email_file", "chroot_list_file", "pam_service_name", "guest_username", + "userlist_file", "anon_root", "local_root", "banner_file", "pasv_address", + "listen_address", "user_config_dir", "listen_address6", "cmds_allowed", + "hide_file", "deny_file", "user_sub_token", "email_password_file", + "rsa_cert_file", "dsa_cert_file", "dh_param_file", "ecdh_param_file", + "ssl_ciphers", "rsa_private_key_file", "dsa_private_key_file", "ca_certs_file", + "cmds_denied"] + + def _get_boolean_options(self): + return ["anonymous_enable", "local_enable", "pasv_enable", "port_enable", + "chroot_local_user", "write_enable", "anon_upload_enable", + "anon_mkdir_write_enable", "anon_other_write_enable", "chown_uploads", + "connect_from_port_20", "xferlog_enable", "dirmessage_enable", + "anon_world_readable_only", "async_abor_enable", "ascii_upload_enable", + "ascii_download_enable", "one_process_model", "xferlog_std_format", + "pasv_promiscuous", "deny_email_enable", "chroot_list_enable", + "setproctitle_enable", "text_userdb_names", "ls_recurse_enable", + "log_ftp_protocol", "guest_enable", "userlist_enable", "userlist_deny", + "use_localtime", "check_shell", "hide_ids", "listen", "port_promiscuous", + "passwd_chroot_enable", "no_anon_password", "tcp_wrappers", "use_sendfile", + "force_dot_files", "listen_ipv6", "dual_log_enable", "syslog_enable", + "background", "virtual_use_local_privs", "session_support", "download_enable", + "dirlist_enable", "chmod_enable", "secure_email_list_enable", + "run_as_launching_user", "no_log_lock", "ssl_enable", "allow_anon_ssl", + "force_local_logins_ssl", "force_local_data_ssl", "ssl_sslv2", "ssl_sslv3", + "ssl_tlsv1", "ssl_tlsv1_1", "ssl_tlsv1_2", "tilde_user_enable", + "force_anon_logins_ssl", "force_anon_data_ssl", "mdtm_write", + "lock_upload_files", "pasv_addr_resolve", "reverse_lookup_enable", + "userlist_log", "debug_ssl", "require_cert", "validate_cert", + "strict_ssl_read_eof", "strict_ssl_write_shutdown", "ssl_request_cert", + "delete_failed_uploads", "implicit_ssl", "ptrace_sandbox", "require_ssl_reuse", + "isolate", "isolate_network", "ftp_enable", "http_enable", "seccomp_sandbox", + "allow_writeable_chroot", "better_stou", "log_die"] + + def _get_integer_options(self): + return ["accept_timeout", "connect_timeout", "local_umask", "anon_umask", + "ftp_data_port", "idle_session_timeout", "data_connection_timeout", + "pasv_min_port", "pasv_max_port", "anon_max_rate", "local_max_rate", + "listen_port", "max_clients", "file_open_mode", "max_per_ip", "trans_chunk_size", + "delay_failed_login", "delay_successful_login", "max_login_fails", + "chown_upload_mode", "bind_retries"] + + def _get_boolean(self, option, value): + value = value.upper() + if value in ['YES', 'TRUE', '1']: + return True + if value in ['NO', 'FALSE', '0']: + return False + raise ParsingError("Boolean option '%s' contains a non-boolean value '%s'" + % (option, value)) + + def _get_integer(self, option, value): + try: + return int(value) + except ValueError: + raise ParsingError("Integer option '%s' contains a non-integer value '%s'" + % (option, value)) + + def parse_value(self, option, value): + if option in self._get_string_options(): + return value + if option in self._get_boolean_options(): + return self._get_boolean(option, value) + if option in self._get_integer_options(): + return self._get_integer(option, value) + + raise ParsingError("Unknown option: '%s'" % option) + + +class VsftpdConfigParser(object): + def __init__(self, config_content): + self._option_parser = VsftpdConfigOptionParser() + self.parsed_config = self._parse_config(config_content) + + def _parse_config_line(self, line, conf_dict): + if not line or line.startswith('#') or line.isspace(): + return + try: + option, value = line.split('=', 1) + except ValueError: + raise ParsingError("The line does not have the form 'option=value': %s" % line) + option = option.strip() + value = value.strip() + value = self._option_parser.parse_value(option, value) + conf_dict[option] = value + + def _parse_config(self, contents): + res = {} + for (ix, line) in enumerate(contents.split('\n')): + try: + self._parse_config_line(line, res) + except ParsingError as e: + raise ParsingError("Syntax error on line %d: %s" % (ix + 1, e)) + return res diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/libraries/vsftpdconfigread.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/libraries/vsftpdconfigread.py new file mode 100644 index 0000000..64e8642 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/libraries/vsftpdconfigread.py @@ -0,0 +1,55 @@ +import errno +import os + +from leapp.libraries.actor import config_parser +from leapp.libraries.common import vsftpdutils as utils +from leapp.libraries.stdlib import api +from leapp.models import VsftpdConfig, VsftpdFacts + + +def _parse_config(path, content): + try: + parser = config_parser.VsftpdConfigParser(content) + return parser.parsed_config + except config_parser.ParsingError: + api.current_logger().info('File %s does not look like vsftpd configuration, skipping.' + % path) + return None + + +def _get_parsed_configs(read_func=utils.read_file, listdir=os.listdir): + res = [] + try: + for fname in listdir(utils.VSFTPD_CONFIG_DIR): + path = os.path.join(utils.VSFTPD_CONFIG_DIR, fname) + if not path.endswith('.conf'): + continue + content = utils.get_config_contents(path, read_func=read_func) + if content is None: + continue + parsed = _parse_config(path, content) + if parsed is not None: + res.append((path, parsed)) + except OSError as e: + if e.errno != errno.ENOENT: + api.current_logger().warning('Failed to read vsftpd configuration directory: %s' + % e) + return res + + +def get_vsftpd_facts(read_func=utils.read_file, listdir=os.listdir): + config_hash = utils.get_default_config_hash(read_func=read_func) + configs = _get_parsed_configs(read_func=read_func, listdir=listdir) + res_configs = [] + for path, config in configs: + res_configs.append(VsftpdConfig(path=path, + strict_ssl_read_eof=config.get(utils.STRICT_SSL_READ_EOF), + tcp_wrappers=config.get(utils.TCP_WRAPPERS))) + return VsftpdFacts(default_config_hash=config_hash, configs=res_configs) + + +def is_processable(installed_rpm_facts): + for pkg in installed_rpm_facts.items: + if pkg.name == 'vsftpd': + return True + return False diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/tests/test_config_parser_vsftpdconfigread.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/tests/test_config_parser_vsftpdconfigread.py new file mode 100644 index 0000000..b10ec4c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/tests/test_config_parser_vsftpdconfigread.py @@ -0,0 +1,103 @@ +import pytest + +from leapp.libraries.actor.config_parser import ParsingError, VsftpdConfigOptionParser, VsftpdConfigParser + + +def test_VsftpdConfigOptionParser_invalid_syntax(): + parser = VsftpdConfigOptionParser() + + with pytest.raises(ParsingError): + parser.parse_value('unknown option', 'foo') + with pytest.raises(ParsingError): + parser.parse_value('anonymous_enable', 'non-boolean value') + with pytest.raises(ParsingError): + parser.parse_value('require_cert', 'non-boolean value') + with pytest.raises(ParsingError): + parser.parse_value('anon_mkdir_write_enable', '') + with pytest.raises(ParsingError): + parser.parse_value('accept_timeout', 'non-integer value') + with pytest.raises(ParsingError): + parser.parse_value('max_per_ip', 'non-integer value') + with pytest.raises(ParsingError): + parser.parse_value('listen_port', '') + + +def test_VsftpdConfigOptionParser_string_option(): + parser = VsftpdConfigOptionParser() + + assert parser.parse_value('secure_chroot_dir', 'foo') == 'foo' + assert parser.parse_value('user_config_dir', '') == '' + assert parser.parse_value('dsa_cert_file', 'value with spaces') == 'value with spaces' + + +def test_VsftpdConfigOptionParser_boolean_option(): + parser = VsftpdConfigOptionParser() + + assert parser.parse_value('background', 'TRUE') is True + assert parser.parse_value('run_as_launching_user', 'true') is True + assert parser.parse_value('no_log_lock', 'YES') is True + assert parser.parse_value('force_local_data_ssl', 'yES') is True + assert parser.parse_value('ssl_tlsv1_2', '1') is True + + assert parser.parse_value('background', 'FALSE') is False + assert parser.parse_value('run_as_launching_user', 'false') is False + assert parser.parse_value('no_log_lock', 'NO') is False + assert parser.parse_value('force_local_data_ssl', 'No') is False + assert parser.parse_value('ssl_tlsv1_2', '0') is False + + +def test_VsftpdConfigOptionParser_integer_option(): + parser = VsftpdConfigOptionParser() + + assert parser.parse_value('connect_timeout', '0') == 0 + assert parser.parse_value('idle_session_timeout', '1') == 1 + assert parser.parse_value('data_connection_timeout', '2') == 2 + assert parser.parse_value('pasv_max_port', '6234') == 6234 + + +def test_VsftpdConfigParser_invalid_syntax(): + with pytest.raises(ParsingError): + VsftpdConfigParser('unknown_option=foo') + with pytest.raises(ParsingError): + VsftpdConfigParser('anonymous_enable=non-boolean') + with pytest.raises(ParsingError): + VsftpdConfigParser(' # comment with whitespace before the # character') + with pytest.raises(ParsingError): + VsftpdConfigParser('anonymous_enable') + + # Make sure that line num is properly shown + with pytest.raises(ParsingError) as err: + VsftpdConfigParser('background=0\n#andthislineisalso=fine\nError on line 3') + assert "Syntax error on line 3" in str(err.value) + + +def test_VsftpdConfigParser_empty_config(): + parser = VsftpdConfigParser('') + assert isinstance(parser.parsed_config, dict) + assert not parser.parsed_config + + +def test_VsftpdConfigParser_only_comments(): + parser = VsftpdConfigParser('# foo\n\n#bar\n') + assert isinstance(parser.parsed_config, dict) + assert not parser.parsed_config + + parser = VsftpdConfigParser('#anonymous_enable=yes\n') + assert isinstance(parser.parsed_config, dict) + assert not parser.parsed_config + + +def test_VsftpdConfigParser_one_option(): + parser = VsftpdConfigParser('anonymous_enable=yes\n') + assert len(parser.parsed_config) == 1 + assert parser.parsed_config['anonymous_enable'] is True + + +def test_VsftpdConfigParser_multiple_options(): + content = '# foo\n\nanonymous_enable=no\nbanned_email_file=/foo/bar\n# bar\nmax_login_fails=3\n' + parser = VsftpdConfigParser(content) + + assert len(parser.parsed_config) == 3 + assert parser.parsed_config['anonymous_enable'] is False + assert parser.parsed_config['banned_email_file'] == '/foo/bar' + assert parser.parsed_config['max_login_fails'] == 3 diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/tests/test_library_vsftpdconfigread.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/tests/test_library_vsftpdconfigread.py new file mode 100644 index 0000000..d92ac1e --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigread/tests/test_library_vsftpdconfigread.py @@ -0,0 +1,214 @@ +import errno +import os + +from leapp.libraries.actor import vsftpdconfigread +from leapp.libraries.common.testutils import make_IOError, make_OSError +from leapp.models import InstalledRedHatSignedRPM, RPM + + +class MockFileOperations(object): + def __init__(self): + self.files = {} + self.files_read = {} + self.read_called = 0 + + def _increment_read_counters(self, path): + self.read_called += 1 + self.files_read.setdefault(path, 0) + self.files_read[path] += 1 + + def read(self, path): + self._increment_read_counters(path) + try: + return self.files[path] + except KeyError: + raise make_IOError(errno.ENOENT) + + +class MockListDir(object): + def __init__(self, path=None, file_names=None, to_raise=None): + self.path = None if path is None else os.path.normpath(path) + self.file_names = file_names + self.to_raise = to_raise + self.error = False + + def listdir(self, path): + if self.to_raise: + raise self.to_raise + if os.path.normpath(path) == self.path: + return self.file_names + + self.error = True + raise make_OSError(errno.ENOENT) + + +def test_parse_config(): + content = 'anonymous_enable=YES' + path = 'my_file' + + parsed = vsftpdconfigread._parse_config(path, content) + + assert parsed['anonymous_enable'] is True + + +def test_parsing_bad_config_gives_None(): + content = 'foo' + path = 'my_file' + + parsed = vsftpdconfigread._parse_config(path, content) + + assert parsed is None + + +def test_get_parsed_configs(): + directory = '/etc/vsftpd' + file_names = ['vsftpd.conf', 'foo.conf'] + listdir = MockListDir(directory, file_names) + fileops = MockFileOperations() + fileops.files[os.path.join(directory, file_names[0])] = 'anonymous_enable=YES\n' \ + 'ca_certs_file=/foo/bar\n' + fileops.files[os.path.join(directory, file_names[1])] = 'anonymous_enable=NO\n' + + parsed_configs = list(vsftpdconfigread._get_parsed_configs(read_func=fileops.read, + listdir=listdir.listdir)) + + assert not listdir.error + assert len(fileops.files_read) == 2 + assert os.path.join(directory, file_names[0]) in fileops.files_read + assert os.path.join(directory, file_names[1]) in fileops.files_read + assert len(parsed_configs) == 2 + if parsed_configs[0][0] != os.path.join(directory, file_names[0]): + parsed_configs.reverse() + assert (os.path.join(directory, file_names[0]), {'anonymous_enable': True, + 'ca_certs_file': '/foo/bar'}) in parsed_configs + assert (os.path.join(directory, file_names[1]), {'anonymous_enable': False}) in parsed_configs + + +def test_get_parsed_configs_empty_dir(): + directory = '/etc/vsftpd' + listdir = MockListDir(directory, []) + fileops = MockFileOperations() + + parsed_configs = vsftpdconfigread._get_parsed_configs(read_func=fileops.read, + listdir=listdir.listdir) + + assert not listdir.error + assert fileops.read_called == 0 + assert not parsed_configs + + +def test_get_parsed_configs_nonexistent_dir(): + listdir = MockListDir(to_raise=make_OSError(errno.ENOENT)) + fileops = MockFileOperations() + + parsed_configs = vsftpdconfigread._get_parsed_configs(read_func=fileops.read, + listdir=listdir.listdir) + + assert fileops.read_called == 0 + assert not parsed_configs + + +def test_get_parsed_configs_inaccessible_dir(): + listdir = MockListDir(to_raise=make_OSError(errno.EACCES)) + fileops = MockFileOperations() + + parsed_configs = vsftpdconfigread._get_parsed_configs(read_func=fileops.read, + listdir=listdir.listdir) + + assert fileops.read_called == 0 + assert not parsed_configs + + +def test_get_vsftpd_facts(): + directory = '/etc/vsftpd' + file_names = ['vsftpd.conf', 'foo.conf', 'bar.conf'] + listdir = MockListDir(directory, file_names) + fileops = MockFileOperations() + fileops.files[os.path.join(directory, file_names[0])] = 'anonymous_enable=YES\n' \ + 'ca_certs_file=/foo/bar\n' + fileops.files[os.path.join(directory, file_names[1])] = 'anonymous_enable=NO\n' \ + 'tcp_wrappers=YES\n' + fileops.files[os.path.join(directory, file_names[2])] = 'strict_ssl_read_eof=yes\n' \ + 'tcp_wrappers=no\n' + + facts = vsftpdconfigread.get_vsftpd_facts(read_func=fileops.read, listdir=listdir.listdir) + + assert facts.default_config_hash == '892bae7b69eb66ec16afe842a15e53a5242155a4' + assert len(facts.configs) == 3 + used_indices = set() + for config in facts.configs: + assert os.path.dirname(config.path) == directory + file_name = os.path.basename(config.path) + ix = file_names.index(file_name) + if ix in used_indices: + assert False + used_indices.add(ix) + if ix == 0: + assert config.strict_ssl_read_eof is None + assert config.tcp_wrappers is None + elif ix == 1: + assert config.strict_ssl_read_eof is None + assert config.tcp_wrappers is True + elif ix == 2: + assert config.strict_ssl_read_eof is True + assert config.tcp_wrappers is False + else: + assert False + + +def test_get_vsftpd_facts_empty_dir(): + listdir = MockListDir('/etc/vsftpd', []) + fileops = MockFileOperations() + + facts = vsftpdconfigread.get_vsftpd_facts(read_func=fileops.read, listdir=listdir.listdir) + + assert facts.default_config_hash is None + assert not facts.configs + + +def test_get_vsftpd_facts_nonexistent_dir(): + listdir = MockListDir(to_raise=make_OSError(errno.ENOENT)) + fileops = MockFileOperations() + + facts = vsftpdconfigread.get_vsftpd_facts(read_func=fileops.read, listdir=listdir.listdir) + + assert facts.default_config_hash is None + assert not facts.configs + + +def test_get_vsftpd_facts_inaccessible_dir(): + listdir = MockListDir(to_raise=make_OSError(errno.EACCES)) + fileops = MockFileOperations() + + facts = vsftpdconfigread.get_vsftpd_facts(read_func=fileops.read, listdir=listdir.listdir) + + assert facts.default_config_hash is None + assert not facts.configs + + +def test_is_processable_vsftpd_installed(): + installed_rpms = [ + RPM(name='sendmail', version='8.14.7', release='5.el7', epoch='0', + packager='foo', arch='x86_64', pgpsig='bar'), + RPM(name='vsftpd', version='3.0.2', release='25.el7', epoch='0', + packager='foo', arch='x86_64', pgpsig='bar'), + RPM(name='postfix', version='2.10.1', release='7.el7', epoch='0', + packager='foo', arch='x86_64', pgpsig='bar')] + installed_rpm_facts = InstalledRedHatSignedRPM(items=installed_rpms) + + res = vsftpdconfigread.is_processable(installed_rpm_facts) + + assert res is True + + +def test_is_processable_vsftpd_not_installed(): + installed_rpms = [ + RPM(name='sendmail', version='8.14.7', release='5.el7', epoch='0', + packager='foo', arch='x86_64', pgpsig='bar'), + RPM(name='postfix', version='2.10.1', release='7.el7', epoch='0', + packager='foo', arch='x86_64', pgpsig='bar')] + installed_rpm_facts = InstalledRedHatSignedRPM(items=installed_rpms) + + res = vsftpdconfigread.is_processable(installed_rpm_facts) + + assert res is False diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/actor.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/actor.py new file mode 100644 index 0000000..a3c2d4f --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/actor.py @@ -0,0 +1,33 @@ +from leapp.actors import Actor +from leapp.libraries.actor import vsftpdconfigupdate +from leapp.models import VsftpdFacts +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class VsftpdConfigUpdate(Actor): + """ + Modifies vsftpd configuration files on the target RHEL-8 system so that the effective + configuration is the same, where possible. This means doing two things: + 1. Reverting the default configuration file (/etc/vsftpd/vsftpd.conf) to its state + before the upgrade (where it makes sense), if the configuration file was being used + with its default content (i.e., unmodified) on the source system (the configuration + file gets replaced with a new version during the RPM upgrade in this case). + The anonymous_enable option falls in this category. + 2. Adding 'option=old_effective_value' to configuration files for options whose default + value has changed, if the option is not explicitly specified in the configuration file. + The strict_ssl_read_eof option falls in this category. + 3. Disabling options that cannot be enabled, otherwise vsftpd wouldn't work. + The tcp_wrappers option falls in this category. + """ + + name = 'vsftpd_config_update' + consumes = (VsftpdFacts,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + try: + vsftpd_facts = next(self.consume(VsftpdFacts)) + except StopIteration: + return + vsftpdconfigupdate.migrate_configs(vsftpd_facts) diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/libraries/vsftpdconfigupdate.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/libraries/vsftpdconfigupdate.py new file mode 100644 index 0000000..eaa5c2d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/libraries/vsftpdconfigupdate.py @@ -0,0 +1,82 @@ +import re + +from leapp.libraries.common.vsftpdutils import ( + get_default_config_hash, + STRICT_SSL_READ_EOF, + TCP_WRAPPERS, + VSFTPD_DEFAULT_CONFIG_PATH +) +from leapp.libraries.stdlib import api + +ANONYMOUS_ENABLE = 'anonymous_enable' + + +class FileOperations(object): + def read(self, path): + with open(path, 'r') as f: + return f.read() + + def write(self, path, content): + with open(path, 'w') as f: + f.write(content) + + +def _replace_in_config(config_lines, option, value): + res = [] + for line in config_lines: + if re.match(r'^\s*' + option, line) is None: + res.append(line) + else: + res.append('# Commented out by Leapp:') + res.append('#' + line) + if value is not None: + res.append('# Added by Leapp:') + res.append('%s=%s' % (option, value)) + return res + + +def _restore_default_config_file(fileops=FileOperations()): + try: + content = fileops.read(VSFTPD_DEFAULT_CONFIG_PATH) + except IOError as e: + api.current_logger().warning('Failed to read vsftpd configuration file: %s' % e) + return + lines = content.split('\n') + lines = _replace_in_config(lines, ANONYMOUS_ENABLE, 'YES') + content = '\n'.join(lines) + content += '\n' + fileops.write(VSFTPD_DEFAULT_CONFIG_PATH, content) + + +def _migrate_config(config, fileops=FileOperations()): + if not config.tcp_wrappers and config.strict_ssl_read_eof is not None: + return + try: + content = fileops.read(config.path) + except IOError as e: + api.current_logger().warning('Failed to read vsftpd configuration file %s: %s' + % (config.path, e)) + return + lines = content.split('\n') + if config.tcp_wrappers: + lines = _replace_in_config(lines, TCP_WRAPPERS, 'NO') + if config.strict_ssl_read_eof is None: + lines = _replace_in_config(lines, STRICT_SSL_READ_EOF, 'NO') + content = '\n'.join(lines) + content += '\n' + try: + fileops.write(config.path, content) + except IOError as e: + api.current_logger().warning('Failed to write vsftpd configuration file %s: %s' + % (config.path, e)) + + +def migrate_configs(facts, fileops=FileOperations()): + if facts.default_config_hash is not None: + new_hash = get_default_config_hash(read_func=fileops.read) + # If the default config file was unmodified, it got replaced during the RPM upgrade, + # so we have to change it back. + if facts.default_config_hash != new_hash: + _restore_default_config_file(fileops=fileops) + for config in facts.configs: + _migrate_config(config, fileops=fileops) diff --git a/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/tests/test_library_vsftpdconfigupdate.py b/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/tests/test_library_vsftpdconfigupdate.py new file mode 100644 index 0000000..3b506a1 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/vsftpdconfigupdate/tests/test_library_vsftpdconfigupdate.py @@ -0,0 +1,110 @@ +import errno + +from leapp.libraries.actor.vsftpdconfigupdate import migrate_configs +from leapp.libraries.common.testutils import make_IOError +from leapp.libraries.common.vsftpdutils import VSFTPD_DEFAULT_CONFIG_PATH +from leapp.models import VsftpdConfig, VsftpdFacts + + +class MockFileOperations(object): + def __init__(self): + self.files = {} + self.files_read = {} + self.files_written = {} + self.read_called = 0 + self.write_called = 0 + + def _increment_read_counters(self, path): + self.read_called += 1 + self.files_read.setdefault(path, 0) + self.files_read[path] += 1 + + def read(self, path): + self._increment_read_counters(path) + try: + return self.files[path] + except KeyError: + raise make_IOError(errno.ENOENT) + + def _increment_write_counters(self, path): + self.write_called += 1 + self.files_written.setdefault(path, 0) + self.files_written[path] += 1 + + def write(self, path, content): + self._increment_write_counters(path) + self.files[path] = content + + +def test_restoring_default_config(): + content = 'anonymous_enable=NO\n' \ + 'tcp_wrappers=NO\n' \ + 'strict_ssl_read_eof=NO\n' + fileops = MockFileOperations() + fileops.files[VSFTPD_DEFAULT_CONFIG_PATH] = content + config = VsftpdConfig(path=VSFTPD_DEFAULT_CONFIG_PATH, + tcp_wrappers=False, strict_ssl_read_eof=False) + facts = VsftpdFacts(default_config_hash='foobar', configs=[config]) + + migrate_configs(facts, fileops=fileops) + + assert len(fileops.files_read) == 1 + assert VSFTPD_DEFAULT_CONFIG_PATH in fileops.files_read + assert len(fileops.files_written) == 1 + assert VSFTPD_DEFAULT_CONFIG_PATH in fileops.files_written + expected_lines = ['# Commented out by Leapp:', + '#anonymous_enable=NO', + 'tcp_wrappers=NO', + 'strict_ssl_read_eof=NO', + '', + '# Added by Leapp:', + 'anonymous_enable=YES', + ''] + assert fileops.files[VSFTPD_DEFAULT_CONFIG_PATH] == '\n'.join(expected_lines) + + +def test_setting_tcp_wrappers(): + path = '/etc/vsftpd/foo.conf' + content = 'tcp_wrappers=YES\n' \ + 'strict_ssl_read_eof=NO\n' + fileops = MockFileOperations() + fileops.files[path] = content + config = VsftpdConfig(path=path, + tcp_wrappers=True, strict_ssl_read_eof=False) + facts = VsftpdFacts(configs=[config]) + + migrate_configs(facts, fileops=fileops) + + assert path in fileops.files_read + assert len(fileops.files_written) == 1 + assert path in fileops.files_written + expected_lines = ['# Commented out by Leapp:', + '#tcp_wrappers=YES', + 'strict_ssl_read_eof=NO', + '', + '# Added by Leapp:', + 'tcp_wrappers=NO', + ''] + assert fileops.files[path] == '\n'.join(expected_lines) + + +def test_setting_strict_ssl_read_eof(): + path = '/etc/vsftpd/bar.conf' + content = 'local_enable=YES\n' + fileops = MockFileOperations() + fileops.files[path] = content + config = VsftpdConfig(path=path, + tcp_wrappers=None, strict_ssl_read_eof=None) + facts = VsftpdFacts(configs=[config]) + + migrate_configs(facts, fileops=fileops) + + assert path in fileops.files_read + assert len(fileops.files_written) == 1 + assert path in fileops.files_written + expected_lines = ['local_enable=YES', + '', + '# Added by Leapp:', + 'strict_ssl_read_eof=NO', + ''] + assert fileops.files[path] == '\n'.join(expected_lines) diff --git a/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/actor.py b/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/actor.py new file mode 100644 index 0000000..019c6e5 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor.ziplcheckbootentries import inhibit_if_invalid_zipl_configuration +from leapp.models import SourceBootLoaderConfiguration +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class ZiplCheckBootEntries(Actor): + """ + Inhibits the upgrade if a problematic Zipl configuration is detected on the system. + + The configuration is considered problematic if it will cause troubles during its conversion to BLS. + Such troubles can be caused by either containing multiple rescue entries, or containing rescue entries + sharing the same kernel image version. + """ + + name = 'zipl_check_boot_entries' + consumes = (SourceBootLoaderConfiguration,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + boot_loader_configuration = next(self.consume(SourceBootLoaderConfiguration)) + inhibit_if_invalid_zipl_configuration(boot_loader_configuration) diff --git a/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/libraries/ziplcheckbootentries.py b/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/libraries/ziplcheckbootentries.py new file mode 100644 index 0000000..757af6c --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/libraries/ziplcheckbootentries.py @@ -0,0 +1,134 @@ +from collections import defaultdict + +from leapp import reporting +from leapp.libraries.common.config import architecture + +FMT_LIST_SEPARATOR = '\n - ' +ZIPL_CONFIG_PATH = '/etc/zipl.conf' + + +def is_rescue_entry(boot_entry): + """ + Determines whether the given boot entry is rescue. + + :param BootEntry boot_entry: Boot entry to assess + :return: True is the entry is rescue + :rtype: bool + """ + return 'rescue' in boot_entry.kernel_image.lower() + + +def inhibit_if_multiple_zipl_rescue_entries_present(bootloader_config): + """ + Inhibits the upgrade if we are running on s390x and the bootloader configuration + contains multiple rescue boot entries. + + A boot entry is recognized as a rescue entry when its title contains the `rescue` substring. + + :param SourceBootloaderConfiguration bootloader_config: The configuration of the source boot loader. + """ + + # Keep the whole information about boot entries not just their count as + # we want to provide user with the details + rescue_entries = [] + for boot_entry in bootloader_config.entries: + if is_rescue_entry(boot_entry): + rescue_entries.append(boot_entry) + + if len(rescue_entries) > 1: + # Prepare the list of available rescue entries for user + rescue_entries_text = '' + for rescue_entry in rescue_entries: + rescue_entries_text += '{0}{1}'.format(FMT_LIST_SEPARATOR, rescue_entry.title) + + summary = ('The Zipl configuration file {0} contains multiple rescue boot entries preventing migration ' + 'to BLS. Problematic entries: {1}') + + reporting.create_report([ + reporting.Title('Multiple rescue boot entries present in the bootloader configuration.'), + reporting.Summary(summary.format(ZIPL_CONFIG_PATH, rescue_entries_text)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.BOOT]), + reporting.Remediation(hint='Remove rescue boot entries from the configuration and leave just one.'), + reporting.Groups([reporting.Groups.INHIBITOR]) + ]) + + +def extract_kernel_version(kernel_img_path): + """ + Extracts the kernel version out of the given image path. + + The extraction logic is designed to closely mimic the logic Zipl configuration to BLS + conversion script works, so that it is possible to identify the possible issues with kernel + images. + + :param str kernel_img_path: The path to the kernel image. + :returns: Extracted kernel version from the given path + :rtype: str + """ + + # Mimic bash substitution used in the conversion script, see: + # https://github.com/ibm-s390-linux/s390-tools/blob/b5604850ab66f862850568a37404faa647b5c098/scripts/zipl-switch-to-blscfg#L168 + if 'vmlinuz-' in kernel_img_path: + fragments = kernel_img_path.rsplit('/vmlinuz-', 1) + return fragments[1] if len(fragments) > 1 else fragments[0] + + fragments = kernel_img_path.rsplit('/', 1) + return fragments[1] if len(fragments) > 1 else fragments[0] + + +def inhibit_if_entries_share_kernel_version(bootloader_config): + """ + Inhibits the upgrade if there are boot entries sharing the same kernel image version. + + The logic of identification whether the images are the same mimics the zipl-switch-to-blscfg, as it fails + to perform the conversion if there are entries with the same kernel image. + + :param SourceBootloaderConfiguration bootloader_config: The configuration of the source boot loader. + """ + + used_kernel_versions = defaultdict(list) # Maps images to the boot entries in which they are used + for boot_entry in bootloader_config.entries: + if is_rescue_entry(boot_entry): + # Rescue entries are handled differently and their images should not cause naming collisions + continue + + kernel_version = extract_kernel_version(boot_entry.kernel_image) + used_kernel_versions[kernel_version].append(boot_entry) + + versions_used_multiple_times = [] + for version, version_boot_entries in used_kernel_versions.items(): + if len(version_boot_entries) > 1: + # Keep the information about entries for the report + versions_used_multiple_times.append((version, version_boot_entries)) + + if versions_used_multiple_times: + problematic_entries_details = '' + for version, version_boot_entries in versions_used_multiple_times: + entry_titles = ['"{0}"'.format(entry.title) for entry in version_boot_entries] + problematic_entries_details += '{0}{1} (found in entries: {2})'.format( + FMT_LIST_SEPARATOR, + version, + ', '.join(entry_titles) + ) + + summary = ('The zipl configuration file {0} contains boot entries sharing the same kernel version ' + 'preventing migration to BLS. Kernel versions shared: {1}') + reporting.create_report([ + reporting.Title('Boot entries sharing the same kernel version found.'), + reporting.Summary(summary.format(ZIPL_CONFIG_PATH, problematic_entries_details)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.BOOT]), + reporting.Remediation( + hint='Remove boot entries sharing the same kernel version from the configuration and leave just one.'), + reporting.Groups([reporting.Groups.INHIBITOR]) + ]) + + +def inhibit_if_invalid_zipl_configuration(bootloader_config): + if not architecture.matches_architecture(architecture.ARCH_S390X): + # Zipl is used only on s390x + return + + inhibit_if_multiple_zipl_rescue_entries_present(bootloader_config) + inhibit_if_entries_share_kernel_version(bootloader_config) diff --git a/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/tests/test_ziplcheckbootentries.py b/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/tests/test_ziplcheckbootentries.py new file mode 100644 index 0000000..0bb0c8d --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/ziplcheckbootentries/tests/test_ziplcheckbootentries.py @@ -0,0 +1,157 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import ziplcheckbootentries +from leapp.libraries.actor.ziplcheckbootentries import ( + extract_kernel_version, + inhibit_if_entries_share_kernel_version, + inhibit_if_invalid_zipl_configuration, + inhibit_if_multiple_zipl_rescue_entries_present +) +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import BootEntry, SourceBootLoaderConfiguration +from leapp.snactor.fixture import current_actor_context +from leapp.utils.report import is_inhibitor + + +def test_inhibition_multiple_rescue_entries_present(monkeypatch): + """Tests whether the upgrade process is inhibited when multiple rescue boot entries are present.""" + mocked_report = create_report_mocked() + monkeypatch.setattr(architecture, 'matches_architecture', lambda dummy: True) + monkeypatch.setattr(reporting, 'create_report', mocked_report) + + boot_entries = [ + BootEntry(title='entry_1', kernel_image="img"), + BootEntry(title='entry_1_Rescue', kernel_image="img_Rescue"), + BootEntry(title='entry_2', kernel_image="img"), + BootEntry(title='entry_2_rescue-ver2.3', kernel_image="img_rescue"), + ] + + inhibit_if_multiple_zipl_rescue_entries_present(SourceBootLoaderConfiguration(entries=boot_entries)) + + assert mocked_report.called, 'Report should be created when multiple rescue entries are present.' + + fail_description = 'The correct rescue entries are not present in the report summary.' + report_summary = mocked_report.report_fields['summary'] + for expected_rescue_entry in ['entry_1_Rescue', 'entry_2_rescue-ver2.3']: + assert expected_rescue_entry in report_summary, fail_description + + fail_description = 'Upgrade should be inhibited on multiple rescue entries.' + assert is_inhibitor(mocked_report.report_fields), fail_description + + +def test_inhibition_multiple_rescue_entries_not_present(monkeypatch): + """Tests whether the upgrade process is not inhibited when multiple rescue boot entries are not present.""" + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + boot_entries = [ + BootEntry(title='entry_1', kernel_image="img"), + BootEntry(title='entry_2', kernel_image="img"), + BootEntry(title='entry_2_rescue-ver2.3', kernel_image="img_rescue"), + ] + + inhibit_if_multiple_zipl_rescue_entries_present(SourceBootLoaderConfiguration(entries=boot_entries)) + + assert not reporting.create_report.called, 'Report was created, even if multiple rescue entries were not present.' + + +def test_inhibition_when_entries_do_not_share_kernel_image(monkeypatch): + """Tests whether the IPU is not inhibited when there are no kernel images shared between boot entries.""" + entries = [ + BootEntry(title='Linux#0', kernel_image='/boot/vmlinuz-4.17.0-240.1.1.el8_3.x86_64'), + BootEntry(title='Linux#1', kernel_image='/boot/vmlinuz-4.18.0-240.1.1.el8_3.x86_64') + ] + + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + inhibit_if_entries_share_kernel_version(SourceBootLoaderConfiguration(entries=entries)) + assert not reporting.create_report.called + + +@pytest.mark.parametrize( + ('boot_entries',), + [([BootEntry(title='Linux0', kernel_image='/boot/vmlinuz-4.18.0-240.1.1.el8_3.x86_64'), + BootEntry(title='Linux1', kernel_image='/boot/4.18.0-240.1.1.el8_3.x86_64')],), + ([BootEntry(title='Linux0', kernel_image='/boot/vmlinuz-4.18.0-240.1.1.el8_3.x86_64'), + BootEntry(title='Linux1', kernel_image='/boot/vmlinuz-4.18.0-240.1.1.el8_3.x86_64')],)]) +def test_inhibit_when_entries_share_kernel_image(monkeypatch, boot_entries): + """Tests whether the IPU gets inhibited when there are kernel images shared between boot entries.""" + + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + inhibit_if_entries_share_kernel_version(SourceBootLoaderConfiguration(entries=boot_entries)) + + assert reporting.create_report.called + assert is_inhibitor(reporting.create_report.report_fields) + + report_summary = reporting.create_report.report_fields['summary'] + assert '- 4.18.0-240.1.1.el8_3.x86_64 (found in entries: "Linux0", "Linux1")' in report_summary + + +@pytest.mark.parametrize( + ('boot_entries',), + [([BootEntry(title='Linux', kernel_image='/boot/vmlinuz-4.18.0-240.1.1.el8_3.x86_64'), + BootEntry(title='Linux-rescue', kernel_image='/boot/vmlinuz-rescue-4.18.0-240.1.1.el8_3.x86_64')],), + ([BootEntry(title='Linux0-rescue', kernel_image='/boot/vmlinuz-rescue-4.18.0-240.1.1.el8_3.x86_64'), + BootEntry(title='Linux1-rescue', kernel_image='/boot/vmlinuz-rescue-4.18.0-240.1.1.el8_3.x86_64')],)]) +def test_inhibition_when_rescue_entries_share_kernel(monkeypatch, boot_entries): + """ + Tests whether the IPU is not inhibited when there are kernel images with the same version shared between rescue + boot entries. + """ + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + inhibit_if_entries_share_kernel_version(SourceBootLoaderConfiguration(entries=boot_entries)) + assert not reporting.create_report.called + + +@pytest.mark.parametrize(('arch',), [(arch,) for arch in architecture.ARCH_SUPPORTED]) +def test_checks_performed_only_on_s390x_arch(arch, monkeypatch): + """Tests whether the actor doesn't perform different architectures than s390x.""" + should_perform = False + if arch == architecture.ARCH_S390X: # Rescue entries should be checked only on s390x. + should_perform = True + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=arch)) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + + boot_entries = [BootEntry(title='rescue0', kernel_image='/boot/vmlinuz-rescue-4.18.0-240.1.1.el8_3.x86_64'), + BootEntry(title='rescue1', kernel_image='/boot/vmlinuz-rescue-4.19.0-240.1.1.el8_3.x86_64')] + + inhibit_if_invalid_zipl_configuration(SourceBootLoaderConfiguration(entries=boot_entries)) + + fail_description = 'Rescue entries should not be checked on non s390x architecture.' + if should_perform: + fail_description = 'No report was created when running on s390x and multiple rescue entries were used.' + assert bool(reporting.create_report.called) == should_perform, fail_description + + if should_perform: + inhibitor_description = 'contains multiple rescue boot entries' + assert inhibitor_description in reporting.create_report.report_fields['summary'] + + boot_entries = [BootEntry(title='Linux1', kernel_image='/boot/vmlinuz-4.18.0-240.1.1.el8_3.x86_64'), + BootEntry(title='Linux2', kernel_image='/boot/vmlinuz-4.18.0-240.1.1.el8_3.x86_64')] + + inhibit_if_invalid_zipl_configuration(SourceBootLoaderConfiguration(entries=boot_entries)) + + fail_description = 'Check for boot entries with the same kernel version should not be performed on non s390x arch.' + if should_perform: + fail_description = ('No report was created when running on s390x and boot entries' + 'with the same kernel version are present') + assert bool(reporting.create_report.called) == should_perform, fail_description + if should_perform: + inhibitor_description = 'contains boot entries sharing the same kernel version' + assert inhibitor_description in reporting.create_report.report_fields['summary'] + + +def test_extract_kernel_version(): + # Manually generated via experimentation with the zipl-switch-to-blscfg + versions_from_img_paths = [ + ('/boot/vmlinuz-4.18.0-240.1.1.el8_3.x86_64', '4.18.0-240.1.1.el8_3.x86_64'), + ('/boot/4.18.0-240.1.1.el8_3.x86_64', '4.18.0-240.1.1.el8_3.x86_64'), + ('/boot/patched-4.18.0-240.1.1.el8_3.x86_64', 'patched-4.18.0-240.1.1.el8_3.x86_64'), + ('patched-4.18.0-240.1.1.el8_3.x86_64', 'patched-4.18.0-240.1.1.el8_3.x86_64'), + ] + + for path, version in versions_from_img_paths: + assert extract_kernel_version(path) == version diff --git a/repos/system_upgrade/el7toel8/actors/ziplconverttoblscfg/actor.py b/repos/system_upgrade/el7toel8/actors/ziplconverttoblscfg/actor.py new file mode 100644 index 0000000..441c538 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/ziplconverttoblscfg/actor.py @@ -0,0 +1,77 @@ +import filecmp +import os + +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import mounting +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import CalledProcessError +from leapp.models import TargetUserSpaceInfo +from leapp.tags import IPUWorkflowTag, PreparationPhaseTag + + +class ZiplConvertToBLSCFG(Actor): + """ + Convert the zipl boot loader configuration to the the boot loader specification on s390x systems. + """ + + name = 'zipl_convert_to_blscfg' + consumes = (TargetUserSpaceInfo,) + produces = () + tags = (IPUWorkflowTag, PreparationPhaseTag) + + def process(self): + if not architecture.matches_architecture(architecture.ARCH_S390X): + return + userspace = next(self.consume(TargetUserSpaceInfo), None) + if not userspace: + # actually this should not happen, but in such case, we want to still + # rather continue even if we boot into the old kernel, but in such + # case, people will have to do manual actions. + # NOTE: it is really just hypothetical + self.log_error( + 'TargetUserSpaceInfo is missing. Cannot execute zipl-switch-to-blscfg' + ' to convert the zipl configuration to BLS.' + ) + raise StopActorExecutionError('GENERAL FAILURE: Input data for the actor are missing.') + + # replace the original boot directory inside the container by the host one + # - as we cannot use zipl* pointing anywhere else than default directory + # - no, --bls-directory is not solution + # also make sure device nodes are available (requirement for zipl-switch-to-blscfg) + binds = ['/boot', '/dev'] + with mounting.NspawnActions(base_dir=userspace.path, binds=binds) as context: + userspace_zipl_conf = os.path.join(userspace.path, 'etc', 'zipl.conf') + if os.path.exists(userspace_zipl_conf): + os.remove(userspace_zipl_conf) + context.copy_to('/etc/zipl.conf', '/etc/zipl.conf') + # zipl needs this one as well + context.copy_to('/etc/machine-id', '/etc/machine-id') + try: + context.call(['/usr/sbin/zipl-switch-to-blscfg']) + if filecmp.cmp('/etc/zipl.conf', userspace_zipl_conf): + # When the files are same, zipl failed - see the switch script + raise OSError('Failed to convert the ZIPL configuration to BLS.') + context.copy_from('/etc/zipl.conf', '/etc/zipl.conf') + except OSError as e: + self.log.error('Could not call zipl-switch-to-blscfg command.', + exc_info=True) + raise StopActorExecutionError( + message='Failed to execute zipl-switch-to-blscfg.', + details={'details': str(e)} + ) + except CalledProcessError as e: + self.log.error('zipl-switch-to-blscfg execution failed,', + exc_info=True) + raise StopActorExecutionError( + message='zipl-switch-to-blscfg execution failed with non zero exit code.', + details={'details': str(e), 'stdout': e.stdout, 'stderr': e.stderr} + ) + + # FIXME: we do not want to continue anymore, but we should clean + # better. + # NOTE: Basically, just removal of the /boot/loader dir content inside + # could be enough, but we cannot remove /boot/loader because of boom + # - - if we remove it, we will remove the snapshot as well + # - - on the other hand, we shouldn't keep it there if zipl + # - - has not been converted to BLS diff --git a/repos/system_upgrade/el7toel8/actors/ziplconverttoblscfg/tests/unit_test_ziplconverttoblscfg.py b/repos/system_upgrade/el7toel8/actors/ziplconverttoblscfg/tests/unit_test_ziplconverttoblscfg.py new file mode 100644 index 0000000..353e707 --- /dev/null +++ b/repos/system_upgrade/el7toel8/actors/ziplconverttoblscfg/tests/unit_test_ziplconverttoblscfg.py @@ -0,0 +1,2 @@ +def test_actor(): + pass diff --git a/repos/system_upgrade/el7toel8/files/bundled-rpms/kernel-workaround-0.1-1.el8.noarch.rpm b/repos/system_upgrade/el7toel8/files/bundled-rpms/kernel-workaround-0.1-1.el8.noarch.rpm new file mode 100644 index 0000000000000000000000000000000000000000..ac0b18c8bff6d35e070bffc072fd2457d0b52f93 GIT binary patch literal 2252 zcma)-Yitx%6vyxEuJUZGpz;VIW3&WJXS(7Fb0iC;vKO0j5MibuIskN*Et1a{xuVF!+l2~>x^ z&0vjSv%p%ws-fd5(EGu#Kx}vnGy+yj{2M67$G{*yd=(V^O<;m*#52icj3?7dCZ)>h zxROaKnr37bIUQ4zvYM6^O;02s7Rs#mhkrf#O3TsZf4;Ufw5UI;jX(;_RUXsiIg-!UH70r>$?jQ^b&*BJRPVq8ZY!{5XY zgF<^j1jY7?Kp|du92E8-g6oX_u8KyMkbf8PQsPgESAs%*;UXyJtFP1xW5fz5=ARnx z>I#RJk-rrb+J`U>+phzK{zKS5avL%2XQUk%@`Y$WBd8eP2a4nGA%B(_>(TFmV!j>Z z4~U;7-b<{3;&^C(BbWy`Ttj|N`~A8b;Q^Y^dH7~VE;wp4&nh&m``|WzJuhS zn%@vH&I8+*K=FIp1zOG6!k0iXe|dh*?4J9G!F|Lk_tDekyGq*_q7&8tCF zcM8lh?cxx#9o5tGm3DjJYsGv#sl{|zPAK(;9@pctq8geZ>-CC~HZ&z6Co(FR<6OpT zNJ+}NDk~{PiEEkqR6?syr7GDN^BgCrJnotI%sm|SJw58V1!x3!)nr}K_v(DjwCij> zC{a7NKldL?hYLRUPJ=9#sjX~w3a-a}pJ!W5i*Ha1++W4Whczu`j{Ct(U6;Dsa@2CL z-=+@mE{_}L&~y`WxBK0tRV*2eMP(_@g3Ai3Oo&@uAY{(?Js;3qjeBYI{qG53Gm?hpI zLpL7R9WN{8bY1cX%|Op{Ulc{DkOpTVDB8Rs$8GMJI@4X#VM8UBpra{Oj;vHZu2Rm% zFO&)|xWVoz0R5ux#OEKZUGZwioD(~j+!#3pRq*Xr{&AC&w+_O4^+cxB-3#aD$A9LJ zgxI6P0;qiK`2N}-gfQ#g!4_9th-itM#d*&kKDApiH$C^_M@QN^J5FBhR~BzMwk!Gi z(%wIA4mvfToXvlKV-H_3n)rG6jft~HmHo`gFKhPCQqFr#2d&Pn&CxU0)?XPt-Tlq+ zzUsHf89P__aQNnX!tDpooo`&fuy60j^CvERX8g1v8#}aSwC9mVCcGf*gB$YncjMPb OFI`*)uQ1A<-hTmqQ@Sw# literal 0 HcmV?d00001 diff --git a/repos/system_upgrade/el7toel8/libraries/Makefile b/repos/system_upgrade/el7toel8/libraries/Makefile new file mode 100644 index 0000000..27cda18 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/Makefile @@ -0,0 +1,2 @@ +install-deps: + yum install -y python*-pyudev diff --git a/repos/system_upgrade/el7toel8/libraries/isccfg.py b/repos/system_upgrade/el7toel8/libraries/isccfg.py new file mode 100644 index 0000000..dff9bf2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/isccfg.py @@ -0,0 +1,950 @@ +#!/usr/bin/env python +# +# Simplified parsing of bind configuration, with include support and nested sections. + +import re +import string + + +class ConfigParseError(Exception): + """Generic error when parsing config file.""" + + def __init__(self, error=None, parent=None): + # IOError on python3 includes path, on python2 it does not + message = "Cannot open the configuration file \"{path}\": {error}".format( + path=error.filename, error=str(error)) + if parent: + message += "; included from \"{0}\"".format(parent) + super(ConfigParseError, self).__init__(message) + self.error = error + self.parent = parent + pass + + +class ConfigFile(object): + """Representation of single configuration file and its contents.""" + def __init__(self, path): + """Load config file contents from path. + + :param path: Path to file + """ + self.path = path + self.load(path) + self.status = None + + def __str__(self): + return self.buffer + + def __repr__(self): + return 'ConfigFile {0} ({1})'.format( + self.path, self.buffer) + + def load(self, path): + with open(path, 'r') as f: + self.buffer = self.original = f.read() + + def is_modified(self): + return self.original == self.buffer + + def root_section(self): + return ConfigSection(self, None, 0, len(self.buffer)) + + +class MockConfig(ConfigFile): + """Configuration file with contents defined on constructor. + + Intended for testing the library. + """ + DEFAULT_PATH = '/etc/named/mock.conf' + + def __init__(self, contents, path=DEFAULT_PATH): + self.original = contents + super(MockConfig, self).__init__(path) + + def load(self, path): + self.buffer = self.original + + +class ConfigSection(object): + """Representation of section or key inside single configuration file. + + Section means statement, block, quoted string or any similar.""" + + TYPE_BARE = 1 + TYPE_QSTRING = 2 + TYPE_BLOCK = 3 + TYPE_IGNORED = 4 # comments and whitespaces + + def __init__(self, config, name=None, start=None, end=None, kind=None, parser=None): + """ + :param config: config file inside which is this section + :type config: ConfigFile + :param kind: type of this section + """ + self.config = config + self.name = name + self.start = start + self.end = end + self.ctext = self.original_value() # a copy for modification + self.parser = parser + if kind is None: + if self.config.buffer.startswith('{', self.start): + self.kind = self.TYPE_BLOCK + elif self.config.buffer.startswith('"', self.start): + self.kind = self.TYPE_QSTRING + else: + self.kind = self.TYPE_BARE + else: + self.kind = kind + self.statements = [] + + def __repr__(self): + text = self.value() + path = self.config.path + return 'ConfigSection#{kind}({path}:{start}-{end}: "{text}")'.format( + path=path, start=self.start, end=self.end, + text=text, kind=self.kind + ) + + def __str__(self): + return self.value() + + def copy(self): + return ConfigSection(self.config, self.name, self.start, self.end, self.kind) + + def type(self): + return self.kind + + def value(self): + return self.ctext + + def original_value(self): + return self.config.buffer[self.start:self.end+1] + + def invalue(self): + """Return just inside value of blocks and quoted strings.""" + t = self.type() + if t in (self.TYPE_QSTRING, self.TYPE_BLOCK): + return self.ctext[1:-1] + return self.value() + + def children(self, comments=False): + """Return list of items inside this section.""" + start = self.start + if self.type() == self.TYPE_BLOCK: + start += 1 + return list(IscIterator(self.parser, self, comments, start)) + + def serialize(self): + return self.value() + + +class IscIterator(object): + """Iterator for walking over parsed configuration. + + Creates sequence of ConfigSection objects for a given file. + That means a stream of objects. + """ + + def __init__(self, parser, section, comments=False, start=None): + """Create iterator. + + :param comments: Include comments and whitespaces + :param start: Index for starting, None means beginning of section + """ + self.parser = parser + self.section = section + self.current = None + self.key_wanted = True + self.comments = comments + self.waiting = None + if start is None: + start = section.start + self.start = start + + def __iter__(self): + self.current = None + self.key_wanted = True + self.waiting = None + return self + + def __next__(self): + index = self.start + cfg = self.section.config + if self.waiting: + self.current = self.waiting + self.waiting = None + return self.current + if self.current is not None: + index = self.current.end+1 + if self.key_wanted: + val = self.parser.find_next_key(cfg, index, self.section.end) + self.key_wanted = False + else: + val = self.parser.find_next_val(cfg, None, index, self.section.end, end_report=True) + if val is not None and val.value() in self.parser.CHAR_DELIM: + self.key_wanted = True + if val is None: + if self.current is not None and self.current.end < self.section.end and self.comments: + self.current = ConfigSection(self.section.config, None, + index, self.section.end, ConfigSection.TYPE_IGNORED) + return self.current + raise StopIteration + if index != val.start and self.comments: + # Include comments and spaces as ignored section + self.waiting = val + val = ConfigSection(val.config, None, index, val.start-1, ConfigSection.TYPE_IGNORED) + + self.current = val + return val + + next = __next__ # Python2 compat + + +class IscVarIterator(object): + """Iterator for walking over parsed configuration. + + Creates sequence of ConfigVariableSection objects for a given + file or section. + """ + + def __init__(self, parser, section, comments=False, start=None): + """Create iterator.""" + self.parser = parser + self.section = section + self.iter = IscIterator(parser, section, comments, start) + + def __iter__(self): + return self + + def __next__(self): + vl = [] + try: + statement = next(self.iter) + while statement: + vl.append(statement) + if self.parser.is_terminal(statement): + return ConfigVariableSection(vl, None, parent=self.section) + statement = next(self.iter) + except StopIteration: + if vl: + return ConfigVariableSection(vl, None, parent=self.section) + raise StopIteration + + next = __next__ # Python2 compat + + +class ConfigVariableSection(ConfigSection): + """Representation for key and values of variable length. + + Intended for view and zone. + """ + + def __init__(self, sectionlist, name, zone_class=None, parent=None, parser=None): + """Creates variable block for zone or view. + + :param sectionlist: list of ConfigSection, obtained from IscConfigParser.find_values() + """ + last = next(reversed(sectionlist)) + first = sectionlist[0] + self.values = sectionlist + super(ConfigVariableSection, self).__init__( + first.config, name, start=first.start, end=last.end, parser=parser + ) + if name is None: + try: + self.name = self.var(1).invalue() + except IndexError: + pass + # For optional dns class, like IN or CH + self.zone_class = zone_class + self.parent = parent + + def key(self): + if self.zone_class is None: + return self.name + return self.zone_class + '_' + self.name + + def firstblock(self): + """Return first block section in this tool.""" + return self.vartype(0, self.TYPE_BLOCK) + + def var(self, i): + """Return value by index, ignore spaces.""" + n = 0 + for v in self.values: + if v.type() != ConfigSection.TYPE_IGNORED: + if n == i: + return v + n += 1 + raise IndexError + + def vartype(self, i, vtype): + n = 0 + for v in self.values: + if v.type() == vtype: + if n == i: + return v + n += 1 + raise IndexError + + def serialize(self): + s = '' + for v in self.values: + s += v.serialize() + return s + + def serialize_skip(self, replace_ignored=None): + """ + Create single string from section, but skip whitespace on start. + + :type section: ConfigVariableSection + :param replace_ignored: Specify replaced text for whitespace + + Allows normalizing with replace ignored sections. + Is intended to strip possible comments between parts. + """ + s = '' + nonwhite = None + for v in self.values: + if nonwhite is None: + if v.type() != self.TYPE_IGNORED: + nonwhite = v + s += v.serialize() + elif replace_ignored is not None and v.type() == self.TYPE_IGNORED: + s += replace_ignored + else: + s += v.serialize() + return s + + +class ModifyState(object): + """Object keeping state of modifications when walking configuration file statements. + + It would keep modified configuration file and position of last found statement. + """ + + def __init__(self): + self.value = '' + self.lastpos = 0 + + def append_before(self, section): + """Appends content from last seen section to beginning of current one. + + It adds also whitespace on beginning of statement, + which is usually not interesting for any changes. + + :type section: ConfigVariableSection + """ + + end = section.start + first = section.values[0] + if first.type() == first.TYPE_IGNORED: + end = first.end + cfg = section.config.buffer + self.value += cfg[self.lastpos:end+1] + self.lastpos = end+1 + + def move_after(self, section): + """Set position to the end of section.""" + self.lastpos = section.end+1 + + def finish(self, section): + """Append remaining part of file to modified state.""" + if self.lastpos < section.end: + self.value += section.config.buffer[self.lastpos:section.end+1] + self.lastpos = section.end + + def content(self): + """Get content of (modified) section. + + Would be valid after finish() was called. + """ + return self.value + + @staticmethod + def callback_comment_out(section, state): + """parser.walk callback for commenting out the section.""" + state.append_before(section) + state.value += '/* ' + section.serialize_skip(' ') + ' */' + state.move_after(section) + + @staticmethod + def callback_remove(section, state): + """parser.walk callback for skipping a section.""" + state.append_before(section) + state.move_after(section) + + +# Main parser class +class IscConfigParser(object): + """Parser file with support of included files. + + Reads ISC BIND configuration file and tries to skip commented blocks, nested sections and similar stuff. + Imitates what isccfg does in native code, but without any use of native code. + """ + + CONFIG_FILE = "/etc/named.conf" + FILES_TO_CHECK = [] + + CHAR_DELIM = ";" # Must be single character + CHAR_CLOSING = CHAR_DELIM + "})]" + CHAR_CLOSING_WHITESPACE = CHAR_CLOSING + string.whitespace + CHAR_KEYWORD = string.ascii_letters + string.digits + '-_.:' + CHAR_STR_OPEN = '"' + + def __init__(self, config=None): + """Construct parser. + + :param config: path to file or already loaded ConfigFile instance + + Initialize contents from path to real config or already loaded ConfigFile class. + """ + if isinstance(config, ConfigFile): + self.FILES_TO_CHECK = [config] + self.load_included_files() + elif config is not None: + self.load_config(config) + + # + # function for parsing of config files + # + def is_comment_start(self, istr, index=0): + if istr[index] == "#" or ( + index+1 < len(istr) and istr[index:index+2] in ["//", "/*"]): + return True + return False + + def _find_end_of_comment(self, istr, index=0): + """Returns index where the comment ends. + + :param istr: input string + :param index: begin search from the index; from the start by default + + Support usual comments till the end of line (//, #) and block comment + like (/* comment */). In case that index is outside of the string or end + of the comment is not found, return -1. + + In case of block comment, returned index is position of slash after star. + """ + length = len(istr) + + if index >= length or index < 0: + return -1 + + if istr[index] == "#" or istr[index:].startswith("//"): + return istr.find("\n", index) + + if index+2 < length and istr[index:index+2] == "/*": + res = istr.find("*/", index+2) + if res != -1: + return res + 1 + + return -1 + + def is_opening_char(self, c): + return c in "\"'{([" + + def _remove_comments(self, istr, space_replace=False): + """Removes all comments from the given string. + + :param istr: input string + :param space_replace When true, replace comments with spaces. Skip them by default. + :return: istr without comments + """ + + ostr = "" + + length = len(istr) + index = 0 + + while index < length: + if self.is_comment_start(istr, index): + index = self._find_end_of_comment(istr, index) + if index == -1: + index = length + if space_replace: + ostr = ostr.ljust(index) + if index < length and istr[index] == "\n": + ostr += "\n" + elif istr[index] in self.CHAR_STR_OPEN: + end_str = self._find_closing_char(istr, index) + if end_str == -1: + ostr += istr[index:] + break + ostr += istr[index:end_str+1] + index = end_str + else: + ostr += istr[index] + index += 1 + + return ostr + + def _replace_comments(self, istr): + """Replaces all comments by spaces in the given string. + + :param istr: input string + :returns: string of the same length with comments replaced + """ + return self._remove_comments(istr, True) + + def find_next_token(self, istr, index=0, end_index=-1, end_report=False): + """ + Return index of another interesting token or -1 when there is not next. + + :param istr: input string + :param index: begin search from the index; from the start by default + :param end_index: stop searching at the end_index or end of the string + + In case that initial index contains already some token, skip to another. + But when searching starts on whitespace or beginning of the comment, + choose the first one. + + The function would be confusing in case of brackets, but content between + brackets is not evaluated as new tokens. + E.g.: + + "find { me };" : 5 + " me" : 1 + "find /* me */ me " : 13 + "/* me */ me" : 9 + "me;" : 2 + "{ me }; me" : 6 + "{ me } me" : 8 + "me } me" : 3 + "}} me" : 1 + "me" : -1 + "{ me } " : -1 + """ + length = len(istr) + if length < end_index or end_index < 0: + end_index = length + + if index >= end_index or index < 0: + return -1 + + # skip to the end of the current token + if istr[index] == '\\': + index += 2 + elif self.is_opening_char(istr[index]): + index = self._find_closing_char(istr, index, end_index) + if index != -1: + index += 1 + elif self.is_comment_start(istr, index): + index = self._find_end_of_comment(istr, index) + if index != -1: + index += 1 + elif istr[index] not in self.CHAR_CLOSING_WHITESPACE: + # so we have to skip to the end of the current token + index += 1 + while index < end_index: + if (istr[index] in self.CHAR_CLOSING_WHITESPACE + or self.is_comment_start(istr, index) + or self.is_opening_char(istr[index])): + break + index += 1 + elif end_report and istr[index] in self.CHAR_DELIM: + # Found end of statement. Report delimiter + return index + elif istr[index] in self.CHAR_CLOSING: + index += 1 + + # find next token (can be already under the current index) + while 0 <= index < end_index: + if istr[index] == '\\': + index += 2 + continue + if self.is_comment_start(istr, index): + index = self._find_end_of_comment(istr, index) + if index == -1: + break + elif self.is_opening_char(istr[index]) or istr[index] not in string.whitespace: + return index + index += 1 + return -1 + + def _find_closing_char(self, istr, index=0, end_index=-1): + """ + Returns index of equivalent closing character. + + :param istr: input string + + It's similar to the "find" method that returns index of the first character + of the searched character or -1. But in this function the corresponding + closing character is looked up, ignoring characters inside strings + and comments. E.g. for + "(hello (world) /* ) */ ), he would say" + index of the third ")" is returned. + """ + important_chars = { # TODO: should be that rather global var? + "{": "}", + "(": ")", + "[": "]", + "\"": "\"", + self.CHAR_DELIM: None, + } + length = len(istr) + if 0 <= end_index < length: + length = end_index + + if length < 2: + return -1 + + if index >= length or index < 0: + return -1 + + closing_char = important_chars.get(istr[index], self.CHAR_DELIM) + if closing_char is None: + return -1 + + isString = istr[index] in "\"" + index += 1 + curr_c = "" + while index < length: + curr_c = istr[index] + if curr_c == '//': + index += 2 + elif self.is_comment_start(istr, index) and not isString: + index = self._find_end_of_comment(istr, index) + if index == -1: + return -1 + elif not isString and self.is_opening_char(curr_c): + deep_close = self._find_closing_char(istr[index:]) + if deep_close == -1: + break + index += deep_close + elif curr_c == closing_char: + if curr_c == self.CHAR_DELIM: + index -= 1 + return index + index += 1 + + return -1 + + def find_key(self, istr, key, index=0, end_index=-1, only_first=True): + """ + Return index of the key or -1. + + :param istr: input string; it could be whole file or content of a section + :param key: name of the searched key in the current scope + :param index: start searching from the index + :param end_index: stop searching at the end_index or end of the string + + Function is not recursive. Searched key has to be in the current scope. + Attention: + + In case that input string contains data outside of section by mistake, + the closing character is ignored and the key outside of scope could be + found. Example of such wrong input could be: + key1 "val" + key2 { key-ignored "val-ignored" }; + }; + controls { ... }; + In this case, the key "controls" is outside of original scope. But for this + cases you can set end_index to value, where searching should end. In case + you set end_index higher then length of the string, end_index will be + automatically corrected to the end of the input string. + """ + length = len(istr) + keylen = len(key) + + if length < end_index or end_index < 0: + end_index = length + + if index >= end_index or index < 0: + return -1 + + while index != -1: + if istr.startswith(key, index): + if index+keylen < end_index and istr[index+keylen] not in self.CHAR_KEYWORD: + # key has been found + return index + + while not only_first and index != -1 and istr[index] != self.CHAR_DELIM: + index = self.find_next_token(istr, index) + index = self.find_next_token(istr, index) + + return -1 + + def find_next_key(self, cfg, index=0, end_index=-1, end_report=False): + """Modernized variant of find_key. + + :type cfg: ConfigFile + :param index: Where to start search + :rtype: ConfigSection + + Searches for first place of bare keyword, without quotes or block. + """ + istr = cfg.buffer + length = len(istr) + + if length < end_index or end_index < 0: + end_index = length + + if index > end_index or index < 0: + raise IndexError("Invalid cfg index") + + while index != -1: + keystart = index + while istr[index] in self.CHAR_KEYWORD and index < end_index: + index += 1 + + if keystart < index <= end_index and istr[index] not in self.CHAR_KEYWORD: + # key has been found + return ConfigSection(cfg, istr[keystart:index], keystart, index-1) + if istr[index] in self.CHAR_DELIM: + return ConfigSection(cfg, istr[index], index, index) + + index = self.find_next_token(istr, index, end_index, end_report) + + return None + + def find_next_val(self, cfg, key=None, index=0, end_index=-1, end_report=False): + """Find following token. + + :param cfg: input token + :type cfg: ConfigFile + :returns: ConfigSection object or None + :rtype: ConfigSection + """ + start = self.find_next_token(cfg.buffer, index, end_index, end_report) + if start < 0: + return None + if end_index < 0: + end_index = len(cfg.buffer) + # remains = cfg.buffer[start:end_index] + if not self.is_opening_char(cfg.buffer[start]): + return self.find_next_key(cfg, start, end_index, end_report) + + end = self._find_closing_char(cfg.buffer, start, end_index) + if end == -1 or (0 < end_index < end): + return None + return ConfigSection(cfg, key, start, end) + + def find_val(self, cfg, key, index=0, end_index=-1): + """Find value of keyword specified by key. + + :param cfg: ConfigFile + :param key: name of searched key (str) + :param index: start of search in cfg (int) + :param end_index: end of search in cfg (int) + :returns: ConfigSection object or None + :rtype: ConfigSection + """ + if not isinstance(cfg, ConfigFile): + raise TypeError("cfg must be ConfigFile parameter") + + if end_index < 0: + end_index = len(cfg.buffer) + key_start = self.find_key(cfg.buffer, key, index, end_index) + if key_start < 0 or key_start+len(key) >= end_index: + return None + return self.find_next_val(cfg, key, key_start+len(key), end_index) + + def find_val_section(self, section, key): + """Find value of keyword in section. + + :param section: section object returned from find_val + + Section is object found by previous find_val call. + """ + if not isinstance(section, ConfigSection): + raise TypeError("section must be ConfigSection") + return self.find_val(section.config, key, section.start+1, section.end) + + def find_values(self, section, key): + """Find key in section and list variable parameters. + + :param key: Name to statement to find + :returns: List of all found values in form of ConfigSection. First is key itself. + + Returns all sections of keyname. They can be mix of "quoted strings", {nested blocks} + or just bare keywords. First key is section of key itself, final section includes ';'. + Makes it possible to comment out whole section including terminal character. + """ + + if isinstance(section, ConfigFile): + cfg = section + index = 0 + end_index = len(cfg.buffer) + elif isinstance(section, ConfigSection): + cfg = section.config + index = section.start+1 + end_index = section.end + if end_index > index: + end_index -= 1 + else: + raise TypeError('Unexpected type') + + if key is None: + v = self.find_next_key(cfg, index, end_index) + else: + key_start = self.find_key(cfg.buffer, key, index, end_index) + key_end = key_start+len(key)-1 + if key_start < 0 or key_end >= end_index: + return None + # First value is always just keyword + v = ConfigSection(cfg, key, key_start, key_end) + + values = [] + while isinstance(v, ConfigSection): + values.append(v) + if v.value() == self.CHAR_DELIM: + break + v = self.find_next_val(cfg, key, v.end+1, end_index, end_report=True) + return values + + def find(self, key_string, cfg=None, delimiter='.'): + """Helper searching for values under requested sections. + + Search for statement under some sections. It is inspired by xpath style paths, + but searches section in bind configuration. + + :param key_string: keywords delimited by dots. For example options.dnssec-lookaside + :type key_string: str + :param cfg: Search only in given config file + :type cfg: ConfigFile + :returns: list of ConfigVariableSection + """ + keys = key_string.split(delimiter) + if cfg is not None: + return self._find_values_simple(cfg.root_section(), keys) + + items = [] + for cfgs in self.FILES_TO_CHECK: + items.extend(self._find_values_simple(cfgs.root_section(), keys)) + return items + + def is_terminal(self, section): + """.Returns true when section is final character of one statement.""" + return section.value() in self.CHAR_DELIM + + def _variable_section(self, vl, parent=None, offset=1): + """Create ConfigVariableSection with a name and optionally class. + + Intended for view and zone in bind. + :returns: ConfigVariableSection + """ + vname = self._list_value(vl, 1).invalue() + vclass = None + v = self._list_value(vl, 2) + if v.type() != ConfigSection.TYPE_BLOCK and self._list_value(vl, 2): + vclass = v.value() + return ConfigVariableSection(vl, vname, vclass, parent) + + def _list_value(self, vl, i): + n = 0 + for v in vl: + if v.type() != ConfigSection.TYPE_IGNORED: + if n == i: + return v + n += 1 + raise IndexError + + def _find_values_simple(self, section, keys): + found_values = [] + sect = section.copy() + + while sect is not None: + vl = self.find_values(sect, keys[0]) + if vl is None: + break + if len(keys) <= 1: + variable = self._variable_section(vl, section) + found_values.append(variable) + sect.start = variable.end+1 + else: + for v in vl: + if v.type() == ConfigSection.TYPE_BLOCK: + vl2 = self._find_values_simple(v, keys[1:]) + if vl2 is not None: + found_values.extend(vl2) + sect.start = vl[-1].end+1 + + return found_values + + def walk(self, section, callbacks, state=None, parent=None, start=0): + """Walk over section also with nested blocks. + + :param section: Section to iterate, usually ConfigFile.root_section() + :param callbacks: Set of callbacks with name: f(section, state) parameters, indexed by statement name + :param start: Offset from beginning of section + + Call specified actions specified in callbacks, which can react on desired statements. + Pass state and matching section to callback. + """ + if start == 0 and section.type() == ConfigSection.TYPE_BLOCK: + start = 1 + it = IscVarIterator(self, section, True, start=section.start+start) + for statement in it: + try: + name = statement.var(0).value() + if name in callbacks: + f = callbacks[name] + f(statement, state) + except IndexError: + pass + for child in statement.values: + if child.type() == ConfigSection.TYPE_BLOCK: + self.walk(child, callbacks, state, parent=statement) + return state + + # + # CONFIGURATION fixes PART - END + # + + def is_file_loaded(self, path=""): + """ + Checks if the file with a given 'path' is already loaded in FILES_TO_CHECK. + """ + for f in self.FILES_TO_CHECK: + if f.path == path: + return True + return False + + def new_config(self, path, parent=None): + config = ConfigFile(path) + self.FILES_TO_CHECK.append(config) + return config + + def on_include_error(self, e): + """Handle IO errors on file reading. + + Override to create custom error handling.""" + raise e + + def load_included_files(self): + """Add included list to parser. + + Finds the configuration files that are included in some configuration + file, reads it, closes and adds into the FILES_TO_CHECK list. + """ + # TODO: use parser instead of regexp + pattern = re.compile(r'include\s*"(.+?)"\s*;') + # find includes in all files + for ch_file in self.FILES_TO_CHECK: + nocomments = self._remove_comments(ch_file.buffer) + includes = re.findall(pattern, nocomments) + for include in includes: + # don't include already loaded files -> prevent loops + if self.is_file_loaded(include): + continue + try: + self.new_config(include) + except IOError as e: + self.on_include_error(ConfigParseError(e, include)) + + def load_main_config(self): + """Loads main CONFIG_FILE.""" + try: + self.new_config(self.CONFIG_FILE) + except IOError as e: + raise ConfigParseError(e) + + def load_config(self, path=None): + """Loads main config file with all included files.""" + if path is not None: + self.CONFIG_FILE = path + self.load_main_config() + self.load_included_files() + pass diff --git a/repos/system_upgrade/el7toel8/libraries/pam.py b/repos/system_upgrade/el7toel8/libraries/pam.py new file mode 100644 index 0000000..8494e46 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/pam.py @@ -0,0 +1,66 @@ +import os +import re + + +class PAM(object): + files = [ + '/etc/pam.d/system-auth', + '/etc/pam.d/smartcard-auth', + '/etc/pam.d/password-auth', + '/etc/pam.d/fingerprint-auth', + '/etc/pam.d/postlogin' + ] + """ + List of system PAM configuration files. + """ + + def __init__(self, config): + self.modules = self.parse(config) + + def parse(self, config): + """ + Parse configuration and return list of modules that are present in the + configuration. + """ + result = re.findall( + r"^[ \t]*[^#\s]+.*(pam_\S+)\.so.*$", + config, + re.MULTILINE + ) + + return result + + def has(self, module): + """ + Return True if the module exist in the configuration, False otherwise. + """ + return module in self.modules + + def has_unknown_module(self, known_modules): + """ + Return True if the configuration has any module which is not known to + the caller, False otherwise. + """ + for module in self.modules: + if module not in known_modules: + return True + + return False + + @staticmethod + def read_file(config): + """ + Read file contents. Return empty string if the file does not exist. + """ + if not os.path.isfile(config): + return "" + with open(config) as f: + return f.read() + + @staticmethod + def from_system_configuration(): + config = "" + for f in PAM.files: + config += PAM.read_file(f) + + return PAM(config) diff --git a/repos/system_upgrade/el7toel8/libraries/spamassassinutils.py b/repos/system_upgrade/el7toel8/libraries/spamassassinutils.py new file mode 100644 index 0000000..9f5c1d1 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/spamassassinutils.py @@ -0,0 +1,44 @@ +import re + +SPAMC_CONFIG_FILE = '/etc/mail/spamassassin/spamc.conf' +SPAMASSASSIN_SERVICE_OVERRIDE = '/etc/systemd/system/spamassassin.service' +SYSCONFIG_SPAMASSASSIN = '/etc/sysconfig/spamassassin' +SYSCONFIG_VARIABLE = 'SPAMDOPTIONS' +SPAMD_SHORTOPTS_NOARG = "ch46LlxPQqVv" +""" All short options in spamd that do not accept an argument, excluding -d. """ + + +def parse_sysconfig_spamassassin(content): + """ + Splits up a spamassassin sysconfig file into three parts and returns those parts: + 1. Beginning of the file up to the SPAMDOPTIONS assignment + 2. The assignment to the SPAMDOPTIONS variable (this is the assignment + that takes effect, i.e. the last assignment to the variable) + 3. End of the file after the SPAMDOPTIONS assignment + """ + line_continues = False + is_assignment = False + assignment_start = None + assignment_end = None + lines = content.split('\n') + for ix, line in enumerate(lines): + is_assignment = ((is_assignment and line_continues) or + (not (not is_assignment and line_continues) and + re.match(r'\s*' + SYSCONFIG_VARIABLE + '=', line))) + if is_assignment: + if line_continues: + assignment_end += 1 + else: + assignment_start = ix + assignment_end = ix + 1 + line_continues = line.endswith('\\') + + if assignment_start is None: + return content, '', '' + assignment = '' + for line in lines[assignment_start:assignment_end - 1]: + assignment += line[:-1] + assignment += lines[assignment_end - 1] + pre_assignment = '\n'.join(lines[:assignment_start]) + post_assignment = '\n'.join(lines[assignment_end:]) + return pre_assignment, assignment, post_assignment diff --git a/repos/system_upgrade/el7toel8/libraries/tcpwrappersutils.py b/repos/system_upgrade/el7toel8/libraries/tcpwrappersutils.py new file mode 100644 index 0000000..e17b029 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/tcpwrappersutils.py @@ -0,0 +1,83 @@ +import re + + +def _build_regex(pattern): + regex = '^' + part_beginning = 0 + while part_beginning < len(pattern): + ix1 = pattern.find('*', part_beginning) + ix2 = pattern.find('?', part_beginning) + ix1 = len(pattern) if ix1 < 0 else ix1 + ix2 = len(pattern) if ix2 < 0 else ix2 + part_end = min(ix1, ix2) + + regex += re.escape(pattern[part_beginning:part_end]) + + if part_end < len(pattern): + if pattern[part_end] == '*': + regex += '.*' + else: + regex += '.' + + part_beginning = part_end + 1 + + regex += '$' + return regex + + +def _pattern_matches(pattern, string): + if pattern.lower() == 'all': + return True + regex = _build_regex(pattern) + return re.match(regex, string, re.IGNORECASE) is not None + + +def _daemon_list_matches_daemon(daemon_list, daemon, recursion_depth): + try: + cur_list_end = daemon_list.index('except') + except ValueError: + cur_list_end = len(daemon_list) + cur_list = daemon_list[:cur_list_end] + matches_cur_list = False + for item in cur_list: + try: + ix = item.index('@') + # For simplicity, we ignore the host part. So we must make sure + # that a daemon list containing a host-based pattern will always match + # the daemon part of that host-based pattern (e.g. 'all except vsftpd@localhost + # matches 'vsftpd'). See test_config_applies_to_daemon_with_host_except(). + if recursion_depth % 2 == 1: + continue + pattern = item[:ix] + except ValueError: + pattern = item + if _pattern_matches(pattern, daemon): + matches_cur_list = True + break + + next_list = daemon_list[cur_list_end + 1:] + if not next_list: + matches_next_list = False + else: + matches_next_list = _daemon_list_matches_daemon(next_list, daemon, recursion_depth + 1) + + return matches_cur_list and not matches_next_list + + +def config_applies_to_daemon(facts, daemon): + """ + Returns True if the specified tcp_wrappers configuration applies to the specified daemon. + Otherwise returns False. + + This information is intended to be used in the Checks phase to check whether there is + any tcp_wrappers configuration that the user needs to migrate manually and whether we + should inhibit the upgrade, so that the upgraded system is not insecure. + + :param facts: A TcpWrappersFacts representation of the tcp_wrappers configuration + :param daemon: The daemon name + """ + for daemon_list in facts.daemon_lists: + value = [item.lower() for item in daemon_list.value] + if _daemon_list_matches_daemon(value, daemon, 0): + return True + return False diff --git a/repos/system_upgrade/el7toel8/libraries/tests/test_isccfg.py b/repos/system_upgrade/el7toel8/libraries/tests/test_isccfg.py new file mode 100644 index 0000000..7438fa3 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/tests/test_isccfg.py @@ -0,0 +1,347 @@ +#!/usr/bin/env python +# +# Tests for bind configuration parsing + +from leapp.libraries.common import isccfg + +# +# Sample configuration stubs +# +named_conf_default = isccfg.MockConfig(""" +// +// named.conf +// +// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS +// server as a caching only nameserver (as a localhost DNS resolver only). +// +// See /usr/share/doc/bind*/sample/ for example named configuration files. +// + +options { + listen-on port 53 { 127.0.0.1; }; + listen-on-v6 port 53 { ::1; }; + directory "/var/named"; + dump-file "/var/named/data/cache_dump.db"; + statistics-file "/var/named/data/named_stats.txt"; + memstatistics-file "/var/named/data/named_mem_stats.txt"; + secroots-file "/var/named/data/named.secroots"; + recursing-file "/var/named/data/named.recursing"; + allow-query { localhost; }; + + /* + - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. + - If you are building a RECURSIVE (caching) DNS server, you need to enable + recursion. + - If your recursive DNS server has a public IP address, you MUST enable access + control to limit queries to your legitimate users. Failing to do so will + cause your server to become part of large scale DNS amplification + attacks. Implementing BCP38 within your network would greatly + reduce such attack surface + */ + recursion yes; + + dnssec-enable yes; + dnssec-validation yes; + + managed-keys-directory "/var/named/dynamic"; + + pid-file "/run/named/named.pid"; + session-keyfile "/run/named/session.key"; +}; + +logging { + channel default_debug { + file "data/named.run"; + severity dynamic; + }; +}; + +zone "." IN { + type hint; + file "named.ca"; +}; + +# Avoid including files from bind package, may be not installed +# include "/etc/named.rfc1912.zones"; +# include "/etc/named.root.key"; +include "/dev/null"; +""") + + +options_lookaside_no = isccfg.MockConfig(""" +options { + dnssec-lookaside no; +}; +""") + + +options_lookaside_auto = isccfg.MockConfig(""" +options { + dnssec-lookaside /* no */ auto; +}; +""") + + +options_lookaside_manual = isccfg.MockConfig(""" +options { + # make sure parser handles comments + dnssec-lookaside "." /* comment to confuse parser */trust-anchor "dlv.isc.org"; +}; +""") + + +options_lookaside_commented = isccfg.MockConfig(""" +options { + /* dnssec-lookaside auto; */ +}; +""") + + +views_lookaside = isccfg.MockConfig(""" +view "v1" IN { + // This is auto + dnssec-lookaside auto; +}; + +options { + /* This is multi + * line + * comment */ + dnssec-lookaside no; +}; + +view "v2" { + # Note no IN + dnssec-lookaside "." trust-anchor "dlv.isc.org"; +}; +""") + + +def check_in_section(parser, section, key, value): + """ Helper to check some section was found + in configuration section and has expected value + + :type parser: IscConfigParser + :type section: bind.ConfigSection + :type key: str + :param value: expected value """ + assert isinstance(section, isccfg.ConfigSection) + cfgval = parser.find_val_section(section, key) + assert isinstance(cfgval, isccfg.ConfigSection) + assert cfgval.value() == value + return cfgval + + +def cb_state(statement, state): + """Callback used in IscConfigParser.walk()""" + key = statement.var(0).value() + state[key] = statement + + +def find_options(parser): + """Replace IscConfigParser.find_option with walk use""" + state = {} + callbacks = { + 'options': cb_state, + } + assert len(parser.FILES_TO_CHECK) >= 1 + cfg = parser.FILES_TO_CHECK[0] + parser.walk(cfg.root_section(), callbacks, state) + options = state['options'] + if options: + assert isinstance(options, isccfg.ConfigVariableSection) + return options.firstblock() + return None + + +# End of helpers +# +# Begin of tests + + +def test_lookaside_no(): + parser = isccfg.IscConfigParser(options_lookaside_no) + assert len(parser.FILES_TO_CHECK) == 1 + opt = find_options(parser) + check_in_section(parser, opt, "dnssec-lookaside", "no") + + +def test_lookaside_commented(): + parser = isccfg.IscConfigParser(options_lookaside_commented) + assert len(parser.FILES_TO_CHECK) == 1 + opt = find_options(parser) + assert isinstance(opt, isccfg.ConfigSection) + lookaside = parser.find_val_section(opt, "dnssec-lookaside") + assert lookaside is None + + +def test_default(): + parser = isccfg.IscConfigParser(named_conf_default) + assert len(parser.FILES_TO_CHECK) >= 2 + opt = find_options(parser) + check_in_section(parser, opt, "directory", '"/var/named"') + check_in_section(parser, opt, "session-keyfile", '"/run/named/session.key"') + check_in_section(parser, opt, "allow-query", '{ localhost; }') + check_in_section(parser, opt, "recursion", 'yes') + check_in_section(parser, opt, "dnssec-validation", 'yes') + check_in_section(parser, opt, "dnssec-enable", 'yes') + + +def test_key_lookaside(): + parser = isccfg.IscConfigParser(options_lookaside_manual) + opt = find_options(parser) + key = parser.find_next_key(opt.config, opt.start+1, opt.end) + assert isinstance(key, isccfg.ConfigSection) + assert key.value() == 'dnssec-lookaside' + value = parser.find_next_val(opt.config, None, key.end+1, opt.end) + assert value.value() == '"."' + key2 = parser.find_next_key(opt.config, value.end+1, opt.end) + assert key2.value() == 'trust-anchor' + value2a = parser.find_next_val(opt.config, None, key2.end+1, opt.end) + value2b = parser.find_val(opt.config, 'trust-anchor', value.end+1, opt.end) + assert value2b.value() == '"dlv.isc.org"' + assert value2a.value() == value2b.value() + value3 = parser.find_next_key(opt.config, value2b.end+1, opt.end, end_report=True) + assert value3.value() == ';' + + +def test_key_lookaside_all(): + """ Test getting variable arguments after keyword """ + parser = isccfg.IscConfigParser(options_lookaside_manual) + assert len(parser.FILES_TO_CHECK) == 1 + opt = find_options(parser) + assert isinstance(opt, isccfg.ConfigSection) + values = parser.find_values(opt, "dnssec-lookaside") + assert values is not None + assert len(values) >= 4 + key = values[0].value() + assert key == 'dnssec-lookaside' + assert values[1].value() == '"."' + assert values[2].value() == 'trust-anchor' + assert values[3].value() == '"dlv.isc.org"' + assert values[4].value() == ';' + + +def test_key_lookaside_simple(): + """ Test getting variable arguments after keyword """ + parser = isccfg.IscConfigParser(options_lookaside_manual) + assert len(parser.FILES_TO_CHECK) == 1 + stmts = parser.find('options.dnssec-lookaside') + assert stmts is not None + assert len(stmts) == 1 + assert isinstance(stmts[0], isccfg.ConfigVariableSection) + values = stmts[0].values + assert len(values) >= 4 + key = values[0].value() + assert key == 'dnssec-lookaside' + assert values[1].value() == '"."' + assert values[2].value() == 'trust-anchor' + assert values[3].value() == '"dlv.isc.org"' + assert values[4].value() == ';' + + +def test_find_index(): + """ Test simplified searching for values in sections """ + parser = isccfg.IscConfigParser(named_conf_default) + assert len(parser.FILES_TO_CHECK) >= 1 + stmts = parser.find('logging.channel.severity') + assert stmts is not None and len(stmts) == 1 + assert isinstance(stmts[0], isccfg.ConfigVariableSection) + values = stmts[0].values + assert len(values) >= 1 + key = values[0].value() + assert key == 'severity' + assert values[1].value() == 'dynamic' + recursion = parser.find('options.recursion') + assert len(recursion) == 1 and len(recursion[0].values) >= 2 + assert recursion[0].values[0].value() == 'recursion' + assert recursion[0].values[1].value() == 'yes' + + +def cb_view(statement, state): + if 'view' not in state: + state['view'] = {} + name = statement.var(1).invalue() + second = statement.var(2) + if second.type() != isccfg.ConfigSection.TYPE_BLOCK: + name = second.value() + '_' + name + state['view'][name] = statement + + +def test_key_views_lookaside(): + """ Test getting variable arguments for views """ + + parser = isccfg.IscConfigParser(views_lookaside) + assert len(parser.FILES_TO_CHECK) == 1 + opt = find_options(parser) + assert isinstance(opt, isccfg.ConfigSection) + opt_val = parser.find_values(opt, "dnssec-lookaside") + assert isinstance(opt_val[1], isccfg.ConfigSection) + assert opt_val[1].value() == 'no' + + state = {} + callbacks = { + 'view': cb_view, + } + assert len(parser.FILES_TO_CHECK) >= 1 + cfg = parser.FILES_TO_CHECK[0] + parser.walk(cfg.root_section(), callbacks, state) + + views = state['view'] + assert len(views) == 2 + + v1 = views['IN_v1'] + assert isinstance(v1, isccfg.ConfigVariableSection) + v1b = v1.firstblock() + assert isinstance(v1b, isccfg.ConfigSection) + v1_la = parser.find_val_section(v1b, "dnssec-lookaside") + assert isinstance(v1_la, isccfg.ConfigSection) + assert v1_la.value() == 'auto' + + v2 = views['v2'] + assert isinstance(v2, isccfg.ConfigVariableSection) + v2b = v2.firstblock() + assert isinstance(v2b, isccfg.ConfigSection) + v2_la = parser.find_values(v2b, "dnssec-lookaside") + assert isinstance(v2_la[1], isccfg.ConfigSection) + assert v2_la[1].value() == '"."' + assert isinstance(v2_la[3], isccfg.ConfigSection) + assert v2_la[3].value() == '"dlv.isc.org"' + + +def test_remove_comments(): + """ Test removing comments works as expected """ + + parser = isccfg.IscConfigParser(views_lookaside) + assert len(parser.FILES_TO_CHECK) == 1 + cfg = parser.FILES_TO_CHECK[0] + assert isinstance(cfg, isccfg.ConfigFile) + removed_comments = parser._remove_comments(cfg.buffer) + assert len(removed_comments) < len(cfg.buffer) + replaced_comments = parser._replace_comments(cfg.buffer) + assert len(replaced_comments) == len(cfg.buffer) + assert 'This is auto' not in replaced_comments + assert 'comment' not in replaced_comments + assert 'Note no IN' not in replaced_comments + + +def test_walk(): + """ Test walk function of parser """ + + callbacks = { + 'options': cb_state, + 'dnssec-lookaside': cb_state, + 'dnssec-validation': cb_state, + } + state = {} + parser = isccfg.IscConfigParser(views_lookaside) + assert len(parser.FILES_TO_CHECK) == 1 + cfg = parser.FILES_TO_CHECK[0] + parser.walk(cfg.root_section(), callbacks, state) + assert 'options' in state + assert 'dnssec-lookaside' in state + assert 'dnssec-validation' not in state + + +if __name__ == '__main__': + test_key_views_lookaside() diff --git a/repos/system_upgrade/el7toel8/libraries/tests/test_pam.py b/repos/system_upgrade/el7toel8/libraries/tests/test_pam.py new file mode 100644 index 0000000..8ae7ce0 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/tests/test_pam.py @@ -0,0 +1,92 @@ +import textwrap + +from leapp.libraries.common.pam import PAM + + +def get_config(config): + return textwrap.dedent(config).strip() + + +def test_PAM_parse(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = PAM('') + modules = obj.parse(pam) + + assert len(modules) == 3 + assert 'pam_unix' in modules + assert 'pam_sss' in modules + assert 'pam_deny' in modules + + +def test_PAM_has__true(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = PAM(pam) + assert obj.has('pam_unix') + assert obj.has('pam_sss') + assert obj.has('pam_deny') + + +def test_PAM_has__false(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = PAM(pam) + assert not obj.has('pam_winbind') + + +def test_PAM_has_unknown_module__empty(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = PAM(pam) + assert obj.has_unknown_module([]) + + +def test_PAM_has_unknown_module__false(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + ''') + + obj = PAM(pam) + assert not obj.has_unknown_module(['pam_unix', 'pam_sss', 'pam_deny']) + + +def test_PAM_has_unknown_module__true(): + pam = get_config(''' + auth sufficient pam_unix.so + auth sufficient pam_sss.so + auth required pam_deny.so + session pam_ecryptfs.so + ''') + + obj = PAM(pam) + assert obj.has_unknown_module(['pam_unix', 'pam_sss', 'pam_deny']) + + +def test_PAM_read_file__non_existent(): + content = PAM.read_file('/this/does/not/exist') + assert content == '' + + +def test_PAM_read_file__ok(): + content = PAM.read_file(__file__) + assert content != '' + assert 'test_PAM_read_file__ok' in content diff --git a/repos/system_upgrade/el7toel8/libraries/tests/test_spamassassinutils.py b/repos/system_upgrade/el7toel8/libraries/tests/test_spamassassinutils.py new file mode 100644 index 0000000..acbaa62 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/tests/test_spamassassinutils.py @@ -0,0 +1,41 @@ +import leapp.libraries.common.spamassassinutils as lib + + +def test_parse_sysconfig_spamassassin_begins_with_assignment(): + content = 'SPAMDOPTIONS="foo"\n# bar\n' + pre, assignment, post = lib.parse_sysconfig_spamassassin(content) + assert pre == '' + assert assignment == 'SPAMDOPTIONS="foo"' + assert post == '# bar\n' + + +def test_parse_sysconfig_spamassassin_ends_with_assignment(): + content = '# bar\nSPAMDOPTIONS="foo"\n' + pre, assignment, post = lib.parse_sysconfig_spamassassin(content) + assert pre == '# bar' + assert assignment == 'SPAMDOPTIONS="foo"' + assert post == '' + + +def test_parse_sysconfig_spamassassin_only_assignment(): + content = 'SPAMDOPTIONS="foo"\n' + pre, assignment, post = lib.parse_sysconfig_spamassassin(content) + assert pre == '' + assert assignment == 'SPAMDOPTIONS="foo"' + assert post == '' + + +def test_parse_sysconfig_spamassassin_no_assignment(): + content = '# foo\n' + pre, assignment, post = lib.parse_sysconfig_spamassassin(content) + assert pre == '# foo\n' + assert assignment == '' + assert post == '' + + +def test_parse_sysconfig_spamassassin_empty(): + content = '' + pre, assignment, post = lib.parse_sysconfig_spamassassin(content) + assert pre == '' + assert assignment == '' + assert post == '' diff --git a/repos/system_upgrade/el7toel8/libraries/tests/test_tcpwrappersutils.py b/repos/system_upgrade/el7toel8/libraries/tests/test_tcpwrappersutils.py new file mode 100644 index 0000000..d9a5766 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/tests/test_tcpwrappersutils.py @@ -0,0 +1,176 @@ +import leapp.libraries.common.tcpwrappersutils as lib +from leapp.models import DaemonList, TcpWrappersFacts + + +def test_config_applies_to_daemon_simple(): + daemon_list = DaemonList(value=['vsftpd']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + assert lib.config_applies_to_daemon(facts, 'VsfTpd') is True + assert lib.config_applies_to_daemon(facts, 'ftp') is False + assert lib.config_applies_to_daemon(facts, 'foo') is False + + +def test_config_applies_to_daemon_multiple_lists(): + list1 = DaemonList(value=['vsftpd', 'sendmail']) + list2 = DaemonList(value=['postfix']) + facts = TcpWrappersFacts(daemon_lists=[list1, list2]) + + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + assert lib.config_applies_to_daemon(facts, 'sendmail') is True + assert lib.config_applies_to_daemon(facts, 'postfix') is True + assert lib.config_applies_to_daemon(facts, 'foo') is False + + +def test_config_applies_to_daemon_except(): + list1 = DaemonList(value=['all', 'except', 'sendmail']) + list2 = DaemonList(value=['postfix']) + facts = TcpWrappersFacts(daemon_lists=[list1, list2]) + + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + assert lib.config_applies_to_daemon(facts, 'sendmail') is False + assert lib.config_applies_to_daemon(facts, 'postfix') is True + assert lib.config_applies_to_daemon(facts, 'foo') is True + + list1 = DaemonList(value=['all', 'except', 'b*', 'EXCEPT', 'bar']) + facts = TcpWrappersFacts(daemon_lists=[list1]) + assert lib.config_applies_to_daemon(facts, 'foo') is True + assert lib.config_applies_to_daemon(facts, 'bar') is True + assert lib.config_applies_to_daemon(facts, 'baar') is False + + list1 = DaemonList(value=['all', 'except', 'vsftpd']) + facts = TcpWrappersFacts(daemon_lists=[list1]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + list1 = DaemonList(value=['all', 'except', 'all', 'except', 'vsftpd']) + facts = TcpWrappersFacts(daemon_lists=[list1]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + list1 = DaemonList(value=['all', 'except', 'all', 'except', 'all', 'except', 'vsftpd']) + facts = TcpWrappersFacts(daemon_lists=[list1]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + +def test_config_applies_to_daemon_except_empty(): + daemon_list = DaemonList(value=['all', 'except']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + +def test_config_applies_to_daemon_with_host(): + list1 = DaemonList(value=['vsftpd@localhost', 'sendmail']) + list2 = DaemonList(value=['postfix']) + facts = TcpWrappersFacts(daemon_lists=[list1, list2]) + + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + assert lib.config_applies_to_daemon(facts, 'sendmail') is True + assert lib.config_applies_to_daemon(facts, 'postfix') is True + assert lib.config_applies_to_daemon(facts, 'foo') is False + + +def test_config_applies_to_daemon_with_host_except(): + daemon_list = DaemonList(value=['vsftpd@localhost', 'except', 'vsftpd']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + # It works like this for simplicity. + daemon_list = DaemonList(value=['vsftpd@localhost', 'except', 'vsftpd@localhost']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['vsftpd@localhost']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['all', 'except', 'vsftpd@localhost']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['all', 'except', 'all', 'except', 'vsftpd@localhost']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['all', 'except', 'all', 'except', 'all', + 'except', 'vsftpd@localhost']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['all', 'except', 'all', 'except', 'all', 'except', 'all', + 'except', 'vsftpd@localhost']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + +def test_config_applies_to_daemon_empty(): + daemon_list = DaemonList(value=['']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + daemon_list = DaemonList(value=[]) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + +def test_config_applies_to_daemon_whole_word(): + daemon_list = DaemonList(value=['ftp']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + +def test_config_applies_to_daemon_asterisk_wildcard(): + daemon_list = DaemonList(value=['*ftp*']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['************']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['*']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['*foo*']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + +def test_config_applies_to_daemon_question_mark_wildcard(): + daemon_list = DaemonList(value=['vs?tpd']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['vsf?tpd']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + daemon_list = DaemonList(value=['?']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + daemon_list = DaemonList(value=['??????']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + +def test_config_applies_to_daemon_all_wildcard(): + daemon_list = DaemonList(value=['all']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['aLl']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is True + + daemon_list = DaemonList(value=['al']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + daemon_list = DaemonList(value=['ll']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False + + daemon_list = DaemonList(value=['valld']) + facts = TcpWrappersFacts(daemon_lists=[daemon_list]) + assert lib.config_applies_to_daemon(facts, 'vsftpd') is False diff --git a/repos/system_upgrade/el7toel8/libraries/tests/test_vsftpdutils.py b/repos/system_upgrade/el7toel8/libraries/tests/test_vsftpdutils.py new file mode 100644 index 0000000..ff631c0 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/tests/test_vsftpdutils.py @@ -0,0 +1,82 @@ +import errno + +from leapp.libraries.common.testutils import make_IOError +from leapp.libraries.common.vsftpdutils import get_config_contents, get_default_config_hash + + +class MockFile(object): + def __init__(self, path, content=None, to_raise=None): + self.path = path + self.content = content + self.to_raise = to_raise + self.error = False + + def read_file(self, path): + if path != self.path: + self.error = True + raise ValueError + if not self.to_raise: + return self.content + raise self.to_raise + + +def test_getting_nonexistent_config_gives_None(): + path = 'my_file' + f = MockFile(path, to_raise=make_IOError(errno.ENOENT)) + + res = get_config_contents(path, read_func=f.read_file) + + assert not f.error + assert res is None + + +def test_getting_inaccessible_config_gives_None(): + path = 'my_file' + f = MockFile(path, to_raise=make_IOError(errno.EACCES)) + + res = get_config_contents(path, read_func=f.read_file) + + assert not f.error + assert res is None + + +def test_getting_empty_config_gives_empty_string(): + path = 'my_file' + f = MockFile(path, content='') + + res = get_config_contents(path, read_func=f.read_file) + + assert not f.error + assert res == '' + + +def test_getting_nonempty_config_gives_the_content(): + path = 'my_file' + content = 'foo\nbar\n' + f = MockFile(path, content=content) + + res = get_config_contents(path, read_func=f.read_file) + + assert not f.error + assert res == content + + +def test_hash_of_default_config_is_correct(): + path = '/etc/vsftpd/vsftpd.conf' + content = 'foo\n' + f = MockFile(path, content=content) + + h = get_default_config_hash(read_func=f.read_file) + + assert h == 'f1d2d2f924e986ac86fdf7b36c94bcdf32beec15' + assert not f.error + + +def test_hash_of_nonexistent_default_config_is_None(): + path = '/etc/vsftpd/vsftpd.conf' + f = MockFile(path, to_raise=make_IOError(errno.ENOENT)) + + h = get_default_config_hash(read_func=f.read_file) + + assert h is None + assert not f.error diff --git a/repos/system_upgrade/el7toel8/libraries/vsftpdutils.py b/repos/system_upgrade/el7toel8/libraries/vsftpdutils.py new file mode 100644 index 0000000..776c5b2 --- /dev/null +++ b/repos/system_upgrade/el7toel8/libraries/vsftpdutils.py @@ -0,0 +1,51 @@ +import errno +import hashlib + +from leapp.libraries.stdlib import api + +VSFTPD_CONFIG_DIR = '/etc/vsftpd' +VSFTPD_DEFAULT_CONFIG_PATH = '/etc/vsftpd/vsftpd.conf' +STRICT_SSL_READ_EOF = 'strict_ssl_read_eof' +TCP_WRAPPERS = 'tcp_wrappers' + + +def read_file(path): + """ + Read a file in text mode and return the contents. + + :param path: File path + """ + with open(path, 'r') as f: + return f.read() + + +def get_config_contents(path, read_func=read_file): + """ + Try to read a vsftpd configuration file + + Try to read a vsftpd configuration file, log a warning if an error happens. + :param path: File path + :param read_func: Function to use to read the file. This is meant to be overridden in tests. + :return: File contents or None, if the file could not be read + """ + try: + return read_func(path) + except IOError as e: + if e.errno != errno.ENOENT: + api.current_logger().warning('Failed to read vsftpd configuration file: %s' % e) + return None + + +def get_default_config_hash(read_func=read_file): + """ + Read the default vsftpd configuration file (/etc/vsftpd/vsftpd.conf) and return its hash. + + :param read_func: Function to use to read the file. This is meant to be overridden in tests. + :return SHA1 hash of the configuration file, or None if the file could not be read. + """ + content = get_config_contents(VSFTPD_DEFAULT_CONFIG_PATH, read_func=read_func) + if content is None: + return None + content = content.encode(encoding='utf-8') + h = hashlib.sha1(content) + return h.hexdigest() diff --git a/repos/system_upgrade/el7toel8/models/authselect.py b/repos/system_upgrade/el7toel8/models/authselect.py new file mode 100644 index 0000000..32ef422 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/authselect.py @@ -0,0 +1,42 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic, SystemInfoTopic + + +class Authselect(Model): + """ + Suggested changes that will convert the system to authselect. + + This model describes the authselect call that can be used to convert + existing configuration into a equivalent or similar configuration + that is generated by authselect. + """ + topic = SystemFactsTopic + + profile = fields.Nullable(fields.String(default=None)) + """ + Suggested authselect profile name. + """ + + features = fields.List(fields.String()) + """ + Suggested authselect profile features. + """ + + confirm = fields.Boolean(default=True) + """ + Changes to the system requires admin confirmation. + """ + + +class AuthselectDecision(Model): + """ + Confirmation of changes suggested in Authselect model. + + If confirmed is True, the changes will be applied on RHEL-8 machine. + """ + topic = SystemInfoTopic + + confirmed = fields.Boolean(default=False) + """ + If true, authselect should be called after upgrade. + """ diff --git a/repos/system_upgrade/el7toel8/models/bindfacts.py b/repos/system_upgrade/el7toel8/models/bindfacts.py new file mode 100644 index 0000000..8d19f2f --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/bindfacts.py @@ -0,0 +1,35 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class BindConfigIssuesModel(Model): + """ + Problematic files with statements, which are problematic + """ + + topic = SystemInfoTopic + path = fields.String() # path to problematic file + statements = fields.List(fields.String()) # list of offending statements + + +class BindFacts(Model): + """ + Whole facts related to BIND configuration + """ + + topic = SystemInfoTopic + + # Detected configuration files via includes + config_files = fields.List(fields.String()) + + # Files modified by update + modified_files = fields.List(fields.String()) + + # Only issues detected. + # unsupported dnssec-lookaside statements with old values + # found in list of files. List of files, where unsupported + # statements were found. Context not yet provided + dnssec_lookaside = fields.Nullable(fields.List(fields.Model(BindConfigIssuesModel))) + + # Missing listen-on-v6 option + listen_on_v6_missing = fields.Boolean(default=False) diff --git a/repos/system_upgrade/el7toel8/models/bootloaderconfiguration.py b/repos/system_upgrade/el7toel8/models/bootloaderconfiguration.py new file mode 100644 index 0000000..14405ab --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/bootloaderconfiguration.py @@ -0,0 +1,25 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class BootEntry(Model): + """ + One entry in the boot loader configuration. + + Not meant to be produced directly, only as a part of :class:`SourceBootLoaderConfiguration`. + """ + topic = SystemInfoTopic + + title = fields.String() + """Title of the boot entry.""" + + kernel_image = fields.String() + """Kernel image of the boot entry.""" + + +class SourceBootLoaderConfiguration(Model): + """Describes the bootloader configuration found on the source system.""" + topic = SystemInfoTopic + + entries = fields.List(fields.Model(BootEntry)) + """Boot entries available in the bootloader configuration.""" diff --git a/repos/system_upgrade/el7toel8/models/brlttymigrationdecision.py b/repos/system_upgrade/el7toel8/models/brlttymigrationdecision.py new file mode 100644 index 0000000..cd03aa6 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/brlttymigrationdecision.py @@ -0,0 +1,9 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class BrlttyMigrationDecision(Model): + topic = SystemInfoTopic + migrate_file = fields.String() + migrate_bt = fields.Boolean() + migrate_espeak = fields.Boolean() diff --git a/repos/system_upgrade/el7toel8/models/cupschangedfeatures.py b/repos/system_upgrade/el7toel8/models/cupschangedfeatures.py new file mode 100644 index 0000000..9735847 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/cupschangedfeatures.py @@ -0,0 +1,41 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class CupsChangedFeatures(Model): + topic = SystemInfoTopic + + interface = fields.Boolean(default=False) + """ + True if interface scripts are used, False otherwise + """ + + digest = fields.Boolean(default=False) + """ + True if Digest/BasicDigest directive values are used, False otherwise + """ + + include = fields.Boolean(default=False) + """ + True if Include directive is used, False otherwise + """ + + certkey = fields.Boolean(default=False) + """ + True if ServerKey/ServerCertificate directives are used, False otherwise + """ + + env = fields.Boolean(default=False) + """ + True if PassEnv/SetEnv directives are used, False otherwise + """ + + printcap = fields.Boolean(default=False) + """ + True if PrintcapFormat directive is used, False otherwise + """ + + include_files = fields.List(fields.String(), default=['/etc/cups/cupsd.conf']) + """ + Paths to included files, contains /etc/cups/cupsd.conf by default + """ diff --git a/repos/system_upgrade/el7toel8/models/firewalldfacts.py b/repos/system_upgrade/el7toel8/models/firewalldfacts.py new file mode 100644 index 0000000..a2e70eb --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/firewalldfacts.py @@ -0,0 +1,11 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class FirewalldFacts(Model): + """The model contains firewalld configuration.""" + topic = SystemInfoTopic + + firewall_config_command = fields.String(default='') + ebtablesTablesInUse = fields.List(fields.String(), default=[]) + ipsetTypesInUse = fields.List(fields.String(), default=[]) diff --git a/repos/system_upgrade/el7toel8/models/installedkdeappsfacts.py b/repos/system_upgrade/el7toel8/models/installedkdeappsfacts.py new file mode 100644 index 0000000..464c23f --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/installedkdeappsfacts.py @@ -0,0 +1,7 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class InstalledKdeAppsFacts(Model): + topic = SystemFactsTopic + installed_apps = fields.List(fields.String(), default=[]) diff --git a/repos/system_upgrade/el7toel8/models/multipathconffacts.py b/repos/system_upgrade/el7toel8/models/multipathconffacts.py new file mode 100644 index 0000000..a7ec03e --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/multipathconffacts.py @@ -0,0 +1,59 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class MultipathConfigOption(Model): + """Model representing information about a multipath configuration option""" + topic = SystemInfoTopic + + name = fields.String(default='') + value = fields.String(default='') + + +class MultipathConfig(Model): + """Model representing information about a multipath configuration file""" + topic = SystemInfoTopic + + pathname = fields.String() + """Config file path name""" + + default_path_checker = fields.Nullable(fields.String()) + config_dir = fields.Nullable(fields.String()) + """Values of path_checker and config_dir in the defaults section. + None if not set""" + + default_retain_hwhandler = fields.Nullable(fields.Boolean()) + default_detect_prio = fields.Nullable(fields.Boolean()) + default_detect_checker = fields.Nullable(fields.Boolean()) + reassign_maps = fields.Nullable(fields.Boolean()) + """True if retain_attached_hw_handler, detect_prio, detect_path_checker, + or reassign_maps is set to "yes" in the defaults section. False + if set to "no". None if not set.""" + + hw_str_match_exists = fields.Boolean(default=False) + ignore_new_boot_devs_exists = fields.Boolean(default=False) + new_bindings_in_boot_exists = fields.Boolean(default=False) + unpriv_sgio_exists = fields.Boolean(default=False) + detect_path_checker_exists = fields.Boolean(default=False) + overrides_hwhandler_exists = fields.Boolean(default=False) + overrides_pg_timeout_exists = fields.Boolean(default=False) + queue_if_no_path_exists = fields.Boolean(default=False) + all_devs_section_exists = fields.Boolean(default=False) + """True if hw_str_match, ignore_new_boot_devs, new_bindings_in_boot, + detect_path_checker, or unpriv_sgio is set in any section, + if queue_if_no_path is included in the features line in any + section or if hardware_handler or pg_timeout is set in the + overrides section. False otherwise""" + + all_devs_options = fields.List(fields.Model(MultipathConfigOption), + default=[]) + """options in an all_devs device configuration section to be converted to + an overrides section""" + + +class MultipathConfFacts(Model): + """Model representing information from multipath configuration files""" + topic = SystemInfoTopic + + configs = fields.List(fields.Model(MultipathConfig), default=[]) + """List of multipath configuration files""" diff --git a/repos/system_upgrade/el7toel8/models/networkmanagerconfig.py b/repos/system_upgrade/el7toel8/models/networkmanagerconfig.py new file mode 100644 index 0000000..6950076 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/networkmanagerconfig.py @@ -0,0 +1,8 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class NetworkManagerConfig(Model): + """The model contains NetworkManager configuration.""" + topic = SystemInfoTopic + dhcp = fields.String(default='') diff --git a/repos/system_upgrade/el7toel8/models/ntpmigrationdecision.py b/repos/system_upgrade/el7toel8/models/ntpmigrationdecision.py new file mode 100644 index 0000000..a075247 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/ntpmigrationdecision.py @@ -0,0 +1,8 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class NtpMigrationDecision(Model): + topic = SystemInfoTopic + migrate_services = fields.List(fields.String()) + config_tgz64 = fields.String() diff --git a/repos/system_upgrade/el7toel8/models/pamconfiguration.py b/repos/system_upgrade/el7toel8/models/pamconfiguration.py new file mode 100644 index 0000000..a57987c --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/pamconfiguration.py @@ -0,0 +1,29 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class PamService(Model): + """ + Pam service description + + This model contains information about pam modules used by specific PAM + service/filename + """ + topic = SystemInfoTopic + + service = fields.String() + modules = fields.List(fields.String()) + # Should this also list includes? + + +class PamConfiguration(Model): + """ + Global PAM configuration + + This model describes separate services using PAM and what pam modules are + used in each of them. Consumer can select just the pam services he is + interested in or scan for specific configuration throughout all the services. + """ + topic = SystemInfoTopic + + services = fields.List(fields.Model(PamService)) diff --git a/repos/system_upgrade/el7toel8/models/quaggatofrrfacts.py b/repos/system_upgrade/el7toel8/models/quaggatofrrfacts.py new file mode 100644 index 0000000..d33cfde --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/quaggatofrrfacts.py @@ -0,0 +1,15 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class QuaggaToFrrFacts(Model): + """ + Model for quagga to frr actors. + + A list of configuration files used by quagga. This list is used to add yes/no to + /etc/frr/daemons file. It indicates which daemons from frr should be run. + """ + topic = SystemInfoTopic + + active_daemons = fields.List(fields.String()) + enabled_daemons = fields.List(fields.String()) diff --git a/repos/system_upgrade/el7toel8/models/removedpammodules.py b/repos/system_upgrade/el7toel8/models/removedpammodules.py new file mode 100644 index 0000000..2e7ace8 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/removedpammodules.py @@ -0,0 +1,15 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class RemovedPAMModules(Model): + """ + PAM modules that were removed from RHEL8 but are in current configuration. + """ + topic = SystemFactsTopic + + modules = fields.List(fields.String()) + """ + List of PAM modules that were detected in current configuration but + are no longer available in RHEL8. + """ diff --git a/repos/system_upgrade/el7toel8/models/satellite.py b/repos/system_upgrade/el7toel8/models/satellite.py new file mode 100644 index 0000000..b428279 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/satellite.py @@ -0,0 +1,28 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class SatellitePostgresqlFacts(Model): + topic = SystemFactsTopic + + local_postgresql = fields.Boolean(default=True) + """ Whether or not PostgreSQL is installed on the same system """ + old_var_lib_pgsql_data = fields.Boolean(default=False) + """ Whether or not there is old PostgreSQL data in /var/lib/pgsql/data """ + same_partition = fields.Boolean(default=True) + """ Whether or not target and source postgresql data will stay on the same partition """ + space_required = fields.Nullable(fields.Integer()) + """ How many bytes are required on the target partition """ + space_available = fields.Nullable(fields.Integer()) + """ How many bytes are available on the target partition """ + + +class SatelliteFacts(Model): + topic = SystemFactsTopic + + has_foreman = fields.Boolean(default=False) + """Whether or not foreman is installed on this system""" + has_katello_installer = fields.Boolean(default=True) + """Whether or not the installer supports Katello additions""" + postgresql = fields.Model(SatellitePostgresqlFacts) + """ Foreman related PostgreSQL facts """ diff --git a/repos/system_upgrade/el7toel8/models/sctpconfigmodel.py b/repos/system_upgrade/el7toel8/models/sctpconfigmodel.py new file mode 100644 index 0000000..94f9bbc --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/sctpconfigmodel.py @@ -0,0 +1,7 @@ +from leapp.models import fields, Model +from leapp.topics import SCTPConfigTopic + + +class SCTPConfig(Model): + topic = SCTPConfigTopic + wanted = fields.Boolean(default=False) diff --git a/repos/system_upgrade/el7toel8/models/sendmailmigrationdecision.py b/repos/system_upgrade/el7toel8/models/sendmailmigrationdecision.py new file mode 100644 index 0000000..5044fdc --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/sendmailmigrationdecision.py @@ -0,0 +1,7 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class SendmailMigrationDecision(Model): + topic = SystemInfoTopic + migrate_files = fields.List(fields.String()) diff --git a/repos/system_upgrade/el7toel8/models/spamassassinfacts.py b/repos/system_upgrade/el7toel8/models/spamassassinfacts.py new file mode 100644 index 0000000..c0755ae --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/spamassassinfacts.py @@ -0,0 +1,23 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class SpamassassinFacts(Model): + topic = SystemInfoTopic + + spamc_ssl_argument = fields.Nullable(fields.String()) + """ + SSL version specified by the --ssl option in the spamc config file, or None + if no value is given. + """ + + spamd_ssl_version = fields.Nullable(fields.String()) + """ + SSL version specified by the --ssl-version in the spamassassin sysconfig file, + or None if no value is given. + """ + + service_overriden = fields.Boolean() + """ + True if spamassassin.service is overridden, else False. + """ diff --git a/repos/system_upgrade/el7toel8/models/sssd.py b/repos/system_upgrade/el7toel8/models/sssd.py new file mode 100644 index 0000000..ca1a874 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/sssd.py @@ -0,0 +1,32 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class SSSDDomainConfig(Model): + """ + Facts found about an SSSD domain. + """ + topic = SystemInfoTopic + + name = fields.String() + """ + Domain name. + """ + + options = fields.List(fields.String(), default=list()) + """ + List of options related to this domain that affects the upgrade process. + """ + + +class SSSDConfig(Model): + """ + List of SSSD domains and their configuration that is related to the + upgrade process. + """ + topic = SystemInfoTopic + + domains = fields.List(fields.Model(SSSDDomainConfig), default=list()) + """ + SSSD Domains configuration. + """ diff --git a/repos/system_upgrade/el7toel8/models/tcpwrappersfacts.py b/repos/system_upgrade/el7toel8/models/tcpwrappersfacts.py new file mode 100644 index 0000000..a0e6504 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/tcpwrappersfacts.py @@ -0,0 +1,24 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class DaemonList(Model): + """ + A split up representation of a daemon_list (see host_access(5)). Example value of the + 'value' attribute: ["ALL", "EXCEPT", "in.fingerd"] + """ + topic = SystemInfoTopic + + value = fields.List(fields.String()) + + +class TcpWrappersFacts(Model): + """ + A representation of tcp_wrappers configuration. Currently it only contains a list + of daemon lists that are present in the tcp_wrappers configuration files. From this + you can extract information on whether there is any configuration that applies to + a specific daemon (see leapp.libraries.common.tcpwrappersutils.config_applies_to_daemon()). + """ + topic = SystemInfoTopic + + daemon_lists = fields.List(fields.Model(DaemonList)) diff --git a/repos/system_upgrade/el7toel8/models/vsftpdfacts.py b/repos/system_upgrade/el7toel8/models/vsftpdfacts.py new file mode 100644 index 0000000..3e88399 --- /dev/null +++ b/repos/system_upgrade/el7toel8/models/vsftpdfacts.py @@ -0,0 +1,31 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class VsftpdConfig(Model): + """ + Model representing some aspects of a vsftpd configuration file. + + The attributes representing the state of configuration options are nullable, so that + they can represent the real state of the option in the file: if an option is set to "YES" + in the configuration file, the corresponding attribute is set to True; if the option + is set to NO, the attribute is set to False; if the option is not present in the config + file at all, the attribute is set to None. + """ + topic = SystemInfoTopic + + path = fields.String() + """Path to the vsftpd configuration file""" + strict_ssl_read_eof = fields.Nullable(fields.Boolean()) + """Represents the state of the strict_ssl_read_eof option in the config file""" + tcp_wrappers = fields.Nullable(fields.Boolean()) + """Represents the state of the tcp_wrappers option in the config file""" + + +class VsftpdFacts(Model): + topic = SystemInfoTopic + + default_config_hash = fields.Nullable(fields.String()) + """SHA1 hash of the /etc/vsftpd/vsftpd.conf file, if it exists, None otherwise""" + configs = fields.List(fields.Model(VsftpdConfig)) + """List of vsftpd configuration files""" diff --git a/repos/system_upgrade/el7toel8/tools/handle-postgresql-legacy-actions b/repos/system_upgrade/el7toel8/tools/handle-postgresql-legacy-actions new file mode 100755 index 0000000..ac154f6 --- /dev/null +++ b/repos/system_upgrade/el7toel8/tools/handle-postgresql-legacy-actions @@ -0,0 +1,6 @@ +#!/usr/bin/bash -e + +# lets assume the new PostgreSQL package will just fix this +if [ -L /usr/libexec/initscripts/legacy-actions/postgresql ]; then + rm -f /usr/libexec/initscripts/legacy-actions/postgresql +fi diff --git a/repos/system_upgrade/el7toel8/tools/handleyumconfig b/repos/system_upgrade/el7toel8/tools/handleyumconfig new file mode 100755 index 0000000..67dc94d --- /dev/null +++ b/repos/system_upgrade/el7toel8/tools/handleyumconfig @@ -0,0 +1,36 @@ +#!/usr/bin/bash -e + +# just in case of hidden files.. not sure why would someone do that, it's more +# like forgotten cache file possibility, but rather do that.. +shopt -s dotglob + +is_dir_empty() { + test -z "$(ls -A $1)" +} + +handle_dir() { + # Move all files from $1 to $2 when the /etc/yum/$1 is not empty + # and not already a link + # Then remove the $1 directory and relink it to $2 + # param $1: dirname under /etc/yum path + # param $2: dirname under /etc/dnf path + if [ "$(readlink /etc/yum/$1)" == "../dnf/$2" ]; then + return + fi + if ! is_dir_empty "/etc/yum/$1"; then + mv /etc/yum/$1/* /etc/dnf/$2/ + fi + + rm -rf /etc/yum/$1 + + #relink + ln -s ../dnf/$2 /etc/yum/$1 + + return 0 +} + + +# assume the directories are not removed by user.. +handle_dir pluginconf.d plugins +handle_dir protected.d protected.d +handle_dir vars vars diff --git a/repos/system_upgrade/el8toel9/.leapp/info b/repos/system_upgrade/el8toel9/.leapp/info new file mode 100644 index 0000000..de0c394 --- /dev/null +++ b/repos/system_upgrade/el8toel9/.leapp/info @@ -0,0 +1 @@ +{"repos": ["efcf9016-f2d1-4609-9329-a298e6587b3c", "644900a5-c347-43a3-bfab-f448f46d9647"], "messages": {}, "name": "system_upgrade_el8toel9", "id": "ec300ca1-d0e1-46d7-a2d2-6030dcc1864a"} diff --git a/repos/system_upgrade/el8toel9/.leapp/leapp.conf b/repos/system_upgrade/el8toel9/.leapp/leapp.conf new file mode 100644 index 0000000..707baa3 --- /dev/null +++ b/repos/system_upgrade/el8toel9/.leapp/leapp.conf @@ -0,0 +1,6 @@ + +[repositories] +repo_path=${project:root_dir} + +[database] +path=${project:state_dir}/leapp.db diff --git a/repos/system_upgrade/el8toel9/actors/checkblacklistca/actor.py b/repos/system_upgrade/el8toel9/actors/checkblacklistca/actor.py new file mode 100644 index 0000000..5bf936a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkblacklistca/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkblacklistca +from leapp.models import BlackListCA, BlackListError, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckBlackListCA(Actor): + """ + No documentation has been provided for the checkblacklistca actor. + """ + + name = 'checkblacklistca' + consumes = (BlackListCA, BlackListError) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + checkblacklistca.process() diff --git a/repos/system_upgrade/el8toel9/actors/checkblacklistca/libraries/checkblacklistca.py b/repos/system_upgrade/el8toel9/actors/checkblacklistca/libraries/checkblacklistca.py new file mode 100644 index 0000000..53b912b --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkblacklistca/libraries/checkblacklistca.py @@ -0,0 +1,75 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import BlackListCA, BlackListError + + +# just like replace except it starts from the back +# of the string +def rreplace(s, old, new, count): + return s[::-1].replace(old[::-1], new[::-1], count)[::-1] + + +def process(): + moving = {} + commaTarget = {} + deleting = [] + # process all the BlackListCA events into a single report + # first collect all the files moving to the same target. + # as well as any source directories that will be deleted + for ca in api.consume(BlackListCA): + if ca.targetDir not in commaTarget: + commaTarget[ca.targetDir] = '' + if ca.targetDir not in moving: + moving[ca.targetDir] = '' + moving[ca.targetDir] = moving[ca.targetDir] + commaTarget[ca.targetDir] + ca.source + commaTarget[ca.targetDir] = ', ' + if ca.sourceDir not in deleting: + deleting.append(ca.sourceDir) + + # now make our lists of files and targets into a single string + comma = '' + reportString = '' + for key in moving: + # replace the last ', ' with ' and ' + moveString = rreplace(moving[key], ', ', ' and ', 1) + reportString = reportString + comma + "{} will be moved to {}".format(moveString, key) + comma = ': ' + reportString = rreplace(reportString, ': ', ' and ', 1).replace(': ', ', ') + + # finally make a string our of the removed directories + comma = '' + deleteString = '' + for d in deleting: + deleteString = deleteString + comma + d + comma = ', ' + deleteString = rreplace(deleteString, ', ', ' and ', 1) + + # finally make a string of the + if moving: + reporting.create_report([ + reporting.Title('Distrusted CA certificates will be moved from blacklist to blocklist'), + reporting.Summary( + 'The directories which store user and administrator supplied ' + 'distrusted certificates have change names from blacklist in ' + 'RHEL8 to blocklist in RHEL9. As a result {} and ' + '{} will be deleted.'.format(reportString, deleteString)), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.SECURITY]), + reporting.Groups([reporting.Groups.AUTHENTICATION]) + ]) + for ble in api.consume(BlackListError): + reporting.create_report([ + reporting.Title('Could not access blacklist directory'), + reporting.Summary( + 'The directories which stores user and administrator supplied ' + 'distrusted certificates has change names from blacklist in ' + 'RHEL8 to blocklist in RHEL9. But we are unable to access the ' + 'RHEL8 directory {} because {}. You can clear this error by ' + 'correcting the condition, or by moving the contents to {} ' + 'and removing {} completely' + '. '.format(ble.sourceDir, ble.error, ble.targetDir, ble.sourceDir)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SECURITY]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.AUTHENTICATION]) + ]) diff --git a/repos/system_upgrade/el8toel9/actors/checkblacklistca/tests/component_test_checkblacklistca.py b/repos/system_upgrade/el8toel9/actors/checkblacklistca/tests/component_test_checkblacklistca.py new file mode 100644 index 0000000..2fc2750 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkblacklistca/tests/component_test_checkblacklistca.py @@ -0,0 +1,146 @@ +from leapp.models import BlackListCA, BlackListError, Report +from leapp.utils.report import is_inhibitor + + +def test_actor_execution_empty(current_actor_context): + current_actor_context.feed() + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_error_entry(current_actor_context): + current_actor_context.feed( + BlackListError( + sourceDir="/blacklist", + targetDir="/blocklist", + error="Can't list /blacklist" + ) + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert 'Could not access blacklist directory' in r[0].report['title'] + assert is_inhibitor(r[0].report) + + +def test_actor_single_entry(current_actor_context): + current_actor_context.feed( + BlackListCA( + source="/blacklist/badcert.ca", + sourceDir="/blacklist", + target="/blocklist/badcert.ca", + targetDir="/blocklist" + ) + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert ('/blacklist/badcert.ca will be moved to /blocklist and ' + '/blacklist will be deleted') in r[0].report['summary'] + + +def test_actor_two_entries_one_directory(current_actor_context): + current_actor_context.feed( + BlackListCA( + source="/blacklist/badcert.ca", + sourceDir="/blacklist", + target="/blocklist/badcert.ca", + targetDir="/blocklist" + ), + BlackListCA( + source="/blacklist/badcert2.ca", + sourceDir="/blacklist", + target="/blocklist/badcert2.ca", + targetDir="/blocklist" + ), + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert ('/blacklist/badcert.ca and /blacklist/badcert2.ca ' + 'will be moved to /blocklist and /blacklist will ' + 'be deleted') in r[0].report['summary'] + + +def test_actor_three_entries_one_directory(current_actor_context): + current_actor_context.feed( + BlackListCA( + source="/blacklist/badcert.ca", + sourceDir="/blacklist", + target="/blocklist/badcert.ca", + targetDir="/blocklist" + ), + BlackListCA( + source="/blacklist/badcert2.ca", + sourceDir="/blacklist", + target="/blocklist/badcert2.ca", + targetDir="/blocklist" + ), + BlackListCA( + source="/blacklist/badcert3.ca", + sourceDir="/blacklist", + target="/blocklist/badcert3.ca", + targetDir="/blocklist" + ), + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert ('/blacklist/badcert.ca, /blacklist/badcert2.ca and ' + '/blacklist/badcert3.ca will be moved to /blocklist and ' + '/blacklist will be deleted') in r[0].report['summary'] + + +def test_actor_two_entries_two_directories(current_actor_context): + current_actor_context.feed( + BlackListCA( + source="/blacklist/badcert.ca", + sourceDir="/blacklist", + target="/blocklist/badcert.ca", + targetDir="/blocklist" + ), + BlackListCA( + source="/private/blacklist/badcert2.ca", + sourceDir="/private/blacklist", + target="/private/blocklist/badcert2.ca", + targetDir="/private/blocklist" + ) + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert ('/blacklist/badcert.ca will be moved to /blocklist ' + 'and /private/blacklist/badcert2.ca will be moved to ' + '/private/blocklist and /blacklist and /private/blacklist ' + 'will be deleted') in r[0].report['summary'] + + +def test_actor_three_entries_tree_directories(current_actor_context): + current_actor_context.feed( + BlackListCA( + source="/blacklist/badcert.ca", + sourceDir="/blacklist", + target="/blocklist/badcert.ca", + targetDir="/blocklist" + ), + BlackListCA( + source="/private/blacklist/badcert2.ca", + sourceDir="/private/blacklist", + target="/private/blocklist/badcert2.ca", + targetDir="/private/blocklist" + ), + BlackListCA( + source="/public/blacklist/badcert3.ca", + sourceDir="/public/blacklist", + target="/public/blocklist/badcert3.ca", + targetDir="/public/blocklist" + ) + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert ('/blacklist/badcert.ca will be moved to /blocklist, ' + '/private/blacklist/badcert2.ca will be moved to ' + '/private/blocklist and /public/blacklist/badcert3.ca ' + 'will be moved to /public/blocklist and /blacklist, ' + '/private/blacklist and /public/blacklist will be deleted') in r[0].report['summary'] diff --git a/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/actor.py b/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/actor.py new file mode 100644 index 0000000..748ecd2 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import blsgrubcfgonppc64 +from leapp.models import DefaultGrubInfo, FirmwareFacts, GrubCfgBios, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckBlsGrubOnPpc64(Actor): + """ + Check whether GRUB config is BLS aware on RHEL 8 ppc64le systems + + After a ppc64 system is upgraded from RHEL 8 to RHEL 9 and + GRUB config on RHEL 8 is not yet BLS aware, the system boots + into el8 kernel because the config is not successfully migrated by + GRUB during the upgrade process. + + IMPORTANT NOTE: The later fix which is based on the outcome of this + actor is applied only for virtualized ppc64le systems as we got + unexpected behavior on bare metal ppc64le systems which needs to be + investigated first. + + """ + + name = 'check_bls_grub_onppc64' + consumes = (DefaultGrubInfo, GrubCfgBios, FirmwareFacts) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + blsgrubcfgonppc64.process() diff --git a/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/libraries/blsgrubcfgonppc64.py b/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/libraries/blsgrubcfgonppc64.py new file mode 100644 index 0000000..d723df6 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/libraries/blsgrubcfgonppc64.py @@ -0,0 +1,62 @@ +from leapp import reporting +from leapp.libraries.common import grub +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api +from leapp.models import DefaultGrubInfo, FirmwareFacts, GrubCfgBios + +URL = ( + 'https://www.ibm.com/docs/en/linux-on-systems?topic=lpo-linux-distributions-virtualization' + '-options-power8-power9-linux-power-systems' +) +TITLE = 'Linux distributions and virtualization options for POWER8 and POWER9 Linux on Power systems' + + +def process(): + default_grub_msg = next(api.consume(DefaultGrubInfo), None) + grub_cfg = next(api.consume(GrubCfgBios), None) + ff = next(api.consume(FirmwareFacts), None) + if None in (default_grub_msg, grub_cfg): + api.current_logger().debug( + 'Skipping execution. No DefaultGrubInfo and GrubCfgBios messages have ' + 'been produced' + ) + return + + if not architecture.matches_architecture(architecture.ARCH_PPC64LE): + return + + if ff and ff.ppc64le_opal: + reporting.create_report([ + reporting.Title( + 'Leapp cannot continue with upgrade on "ppc64le" bare metal systems' + ), + reporting.Summary( + 'In-place upgrade to RHEL 9 is not supported on POWER8 and POWER9 bare metal systems. ' + 'For more information, refer to the following article: {}'.format(URL) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups(['inhibitor']), + reporting.Groups([reporting.Groups.BOOT]), + reporting.ExternalLink( + url=URL, + title=TITLE + ) + ]) + + if ( + not grub_cfg.insmod_bls and grub.is_blscfg_enabled_in_defaultgrub(default_grub_msg) + ): + reporting.create_report([ + reporting.Title( + 'Leapp will execute "grub2-mkconfig" to fix BLS Grub configuration.' + ), + reporting.Summary( + 'On "ppc64le" systems with BLS enabled, the GRUB configuration is not ' + 'properly converted after the upgrade and Leapp has to run "grub2-mkconfig" ' + '-o /boot/grub2/grub.cfg command in order to fix an issue with booting into ' + 'the RHEL 8 kernel instead of RHEL 9.' + + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.BOOT]), + ]) diff --git a/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/tests/test_checkblsgrubcfgonppc64.py b/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/tests/test_checkblsgrubcfgonppc64.py new file mode 100644 index 0000000..0600bb2 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkblsgrubcfgonppc64/tests/test_checkblsgrubcfgonppc64.py @@ -0,0 +1,48 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import blsgrubcfgonppc64 +from leapp.libraries.common import testutils +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import DefaultGrub, DefaultGrubInfo, GrubCfgBios + + +@pytest.mark.parametrize( + 'is_bls,bls_cfg_enabled,is_ppc64', ( + (True, True, True), + (True, True, False), + (True, False, True), + (False, True, False), + (False, False, False), + ) +) +def test_check_grub_bls_cfg_ppc64(monkeypatch, is_bls, bls_cfg_enabled, is_ppc64): + + grub_cfg_msg = GrubCfgBios(insmod_bls=is_bls) + + bls_cfg_enabled = DefaultGrubInfo( + default_grub_info=[DefaultGrub(name='GRUB_ENABLE_BLSCFG', value='true')] + ) + + bls_cfg_not_enabled = DefaultGrubInfo( + default_grub_info=[DefaultGrub(name='GRUB_ENABLE_BLSCFG', value='false')] + ) + + bls_cfg = bls_cfg_enabled if bls_cfg_enabled else bls_cfg_not_enabled + + arch = testutils.architecture.ARCH_PPC64LE if is_ppc64 else testutils.architecture.ARCH_X86_64 + + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[grub_cfg_msg, bls_cfg], arch=arch)) + blsgrubcfgonppc64.process() + + if ( + not is_bls and + is_ppc64 and + bls_cfg_enabled + ): + assert reporting.create_report.called + assert reporting.create_report.report_fields['title'] == 'TBA' + else: + assert not reporting.create_report.called diff --git a/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/actor.py b/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/actor.py new file mode 100644 index 0000000..91940cc --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import customnetworkscripts +from leapp.models import Report +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class CheckCustomNetworkScripts(Actor): + """ + Check the existence of custom network-scripts and warn user about possible + manual intervention requirements. + """ + + name = "check_custom_network_scripts" + produces = (Report,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + customnetworkscripts.process() diff --git a/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/libraries/customnetworkscripts.py b/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/libraries/customnetworkscripts.py new file mode 100644 index 0000000..c3a6ffd --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/libraries/customnetworkscripts.py @@ -0,0 +1,58 @@ +import os + +from leapp import reporting + +CUSTOM_NETWORK_SCRIPTS = [ + "/sbin/ifup-local", + "/sbin/ifup-pre-local", + "/sbin/ifdown-local", + "/sbin/ifdown-pre-local", +] +DOC_URL = "https://red.ht/upgrading-RHEL-8-to-RHEL-9-network-scripts" + + +def generate_report(existing_custom_network_scripts): + """ Generate reports informing user about possible manual intervention required """ + + # Show documentation url if custom network-scripts detected + title = "custom network-scripts detected" + summary = ( + "RHEL 9 does not support the legacy network-scripts package that was" + " deprecated in RHEL 8. Custom network-scripts have been detected." + ) + + reporting.create_report( + [ + reporting.Title(title), + reporting.Summary(summary), + reporting.Remediation( + hint=( + "Migrate the custom network-scripts to NetworkManager dispatcher" + " scripts manually before the ugprade. Follow instructions in the" + " official documentation." + ) + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.NETWORK, reporting.Groups.SERVICES]), + reporting.ExternalLink( + title=( + "Upgrading from RHEL 8 to 9 - migrating custom network-scripts to" + " NetworkManager dispatcher scripts" + ), + url=DOC_URL, + ), + ] + + [ + reporting.RelatedResource("file", fname) + for fname in existing_custom_network_scripts + ] + ) + + +def process(): + existing_custom_network_scripts = [ + fname for fname in CUSTOM_NETWORK_SCRIPTS if os.path.isfile(fname) + ] + if existing_custom_network_scripts: + generate_report(existing_custom_network_scripts) diff --git a/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/tests/unit_test_customnetworkscripts.py b/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/tests/unit_test_customnetworkscripts.py new file mode 100644 index 0000000..5f57f5b --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkcustomnetworkscripts/tests/unit_test_customnetworkscripts.py @@ -0,0 +1,19 @@ +import os + +from leapp import reporting +from leapp.libraries.actor import customnetworkscripts +from leapp.libraries.common import testutils + + +def test_customnetworkscripts_exists(monkeypatch): + monkeypatch.setattr(os.path, "isfile", lambda dummy: True) + monkeypatch.setattr(reporting, "create_report", testutils.create_report_mocked()) + customnetworkscripts.process() + assert reporting.create_report.called + + +def test_customnetworkscripts_not_found(monkeypatch): + monkeypatch.setattr(os.path, "isfile", lambda dummy: False) + monkeypatch.setattr(reporting, 'create_report', testutils.create_report_mocked()) + customnetworkscripts.process() + assert not reporting.create_report.called diff --git a/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/actor.py b/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/actor.py new file mode 100644 index 0000000..549b4c7 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/actor.py @@ -0,0 +1,40 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkdeprecatedrpmsignature +from leapp.models import CryptoPolicyInfo, InstalledRPM, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckDeprecatedRPMSignature(Actor): + """ + Check whether any packages signed by RSA/SHA1 are installed + + Crypto policies on RHEL 9 disallow use of the SHA-1 hash algorithm. + Regarding the IPU, the major impact is around RPMs with RSA/SHA1 signatures + that cannot be handled during the upgrade when SHA1 is not explicitly + allowed (e.g. setting the LEGACY mode; which has serious impacts). + + The problem is that when rpm tries to verify the bad signature of the + installed rpm, it ends with error regarding the new openssl policies + (same for dnf). In such a case, rpm nor dnf prints the name of the package, + nor report anything else useful. In case of the IPU this happens when + the bad packages is supposed to be removed (includes upgrade, downgrade,...) + from the system during the dnf transaction. There is no way how we could + handle this situation from our DNF plugin (unless we disable crypto in DNF + completely, which is not desired). Also, in case the key has not been + imported previously, the issue will not be seen as there is no way how to + check the signature. + + The current hotfix implementation inhibits the upgrade when any RPMs with + RSA/SHA1 are installed on the system and: + * the system wide crypto policy is not LEGACY or DEFAULT:SHA1 + In other cases when such RPMs are installed on the system, just report the + high risk informing users about the situation. + """ + + name = 'check_deprecated_rpm_signature' + consumes = (CryptoPolicyInfo, InstalledRPM) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + checkdeprecatedrpmsignature.process() diff --git a/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/libraries/checkdeprecatedrpmsignature.py b/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/libraries/checkdeprecatedrpmsignature.py new file mode 100644 index 0000000..0ab5949 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/libraries/checkdeprecatedrpmsignature.py @@ -0,0 +1,89 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import CryptoPolicyInfo, InstalledRPM + +FMT_LIST_SEPARATOR = '\n - ' + +# FIXME(pstodulk): Adding the links to the summary as information inside has +# serious impact. This will create a duplication of links for Satellite and +# Cockpit UI when reading the report, but we need to be sure they are printed +# in the /var/log/leapp/leapp-report.txt file as well. Remove them when the +# framework prints external links in the file as well. +SUMMARY_FMT = ( + 'Digital signatures using SHA-1 hash algorithm are no longer considered' + ' secure and are not allowed to be used on RHEL 9 systems by default.' + ' This causes issues when using DNF/RPM to handle packages with RSA/SHA1' + ' signatures as the signature cannot be checked with the default' + ' cryptographic policy. Any such packages cannot be installed, removed,' + ' or replaced unless the signature check is disabled in dnf/rpm' + ' or SHA-1 is enabled using non-default crypto-policies.' + ' For more information see the following documents:\n' + ' - Major changes in RHEL 9: {major_changes_url}\n' + ' - Security Considerations in adopting RHEL 9: {crypto_policies_url}\n' + ' The list of problematic packages: {bad_pkgs}' +) + +REMEDY_HINT = ( + 'It is recommended that you contact your package vendor and ask them for new' + ' builds signed with supported signatures and install the new packages before' + ' the upgrade. If this is not possible you may instead' + ' remove the incompatible packages.' +) + +MAJOR_CHANGE_URL = 'https://red.ht/rhel-9-overview-major-changes' +CRYPTO_POLICIES_URL = 'https://red.ht/rhel-9-security-considerations' + + +def _get_rpms_with_sha1_sig(): + installed_rpms = next(api.consume(InstalledRPM)).items + return [pkg for pkg in installed_rpms if 'SHA1,' in pkg.pgpsig] + + +def _is_sha1_allowed(current_policy): + """ + Return True if we are sure the current policy allows SHA-1 on RHEL 9. False otherwise + + The LEGACY policy and policies like DEFAULT:SHA1 enables SHA-1 on RHEL 9. + """ + # TODO(pstodulk): this is just naive implementation + # NOTE: The SHA1 sub policy does not exist on RHEL 8. It has to be created + # manually by user in such a case. + # NOTE: for now, limit the check for :SHA1 to DEFAULT:SHA1 only as otherwise we will + # not be probably able to set correctly the policies inside the target + # userspace container + if current_policy == 'LEGACY' or "DEFAULT:SHA1" in current_policy: + return True + return False + + +def process(): + # TODO(pstodulk): add link to the official announce of the change in crypto policies + bad_rpms = _get_rpms_with_sha1_sig() + cpi = next(api.consume(CryptoPolicyInfo), None) + if bad_rpms: + bad_rpms_str = ''.join([ + '{prefix}{pkgname} ({sig})'.format(prefix=FMT_LIST_SEPARATOR, pkgname=pkg.name, sig=pkg.pgpsig) + for pkg in bad_rpms + ]) + report = [ + reporting.Title('Detected RPMs with RSA/SHA1 signature'), + reporting.Summary(SUMMARY_FMT.format( + major_changes_url=MAJOR_CHANGE_URL, + crypto_policies_url=CRYPTO_POLICIES_URL, + bad_pkgs=bad_rpms_str + )), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SECURITY, reporting.Groups.SANITY]), + reporting.Remediation(hint=REMEDY_HINT), + reporting.ExternalLink( + url=MAJOR_CHANGE_URL, + title='Major changes in RHEL 9' + ), + reporting.ExternalLink( + url=CRYPTO_POLICIES_URL, + title='Security Considerations in adopting RHEL 9' + ) + ] + if not _is_sha1_allowed(cpi.current_policy): + report.append(reporting.Groups([reporting.Groups.INHIBITOR])) + reporting.create_report(report) diff --git a/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/tests/unit_test_checkdeprecatedrpmsignature.py b/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/tests/unit_test_checkdeprecatedrpmsignature.py new file mode 100644 index 0000000..c9f7e3d --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkdeprecatedrpmsignature/tests/unit_test_checkdeprecatedrpmsignature.py @@ -0,0 +1,24 @@ +import pytest + +# from leapp import reporting +from leapp.libraries.actor import checkdeprecatedrpmsignature + +# from leapp.libraries.common.testutils import CurrentActorMocked +# from leapp.libraries.stdlib import api + + +@pytest.mark.parametrize('curr_state,expected_res', ( + ('LEGACY', True), + ('DEFAULT:SHA1', True), + ('MYPOL:SHA1', False), + ('DEFAULT', False), + ('NOLEGACY', False), + ('SOMETHING:SHA-512', False), + ('SOMETHING:-SHA1', False), + ('DEFAULT:-SHA1', False), +)) +def test_sha_allowed(curr_state, expected_res): + assert expected_res == checkdeprecatedrpmsignature._is_sha1_allowed(curr_state) + +# TODO: def test_get_rpms_sha1_sig() +# TODO: test_inhibitor_create diff --git a/repos/system_upgrade/el8toel9/actors/checkifcfg/actor.py b/repos/system_upgrade/el8toel9/actors/checkifcfg/actor.py new file mode 100644 index 0000000..3ad0b5a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkifcfg/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor import checkifcfg_ifcfg as ifcfg +from leapp.models import IfCfg, InstalledRPM, Report, RpmTransactionTasks +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckIfcfg(Actor): + """ + Ensures that ifcfg files are compatible with NetworkManager + + Checks whether the ifcfg files would work with NetworkManager's ifcfg-rh + compatibility module -- they are of known type, well-formed and not + explicitly disabled with NM_CONTROLLED=no. + + Makes sure relevant NetworkManager modules end up getting installed. + """ + + name = "check_ifcfg" + consumes = (IfCfg, InstalledRPM,) + produces = (Report, RpmTransactionTasks,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + ifcfg.process() diff --git a/repos/system_upgrade/el8toel9/actors/checkifcfg/libraries/checkifcfg_ifcfg.py b/repos/system_upgrade/el8toel9/actors/checkifcfg/libraries/checkifcfg_ifcfg.py new file mode 100644 index 0000000..946841d --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkifcfg/libraries/checkifcfg_ifcfg.py @@ -0,0 +1,135 @@ +import os + +from leapp import reporting +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import IfCfg, InstalledRPM, RpmTransactionTasks + +FMT_LIST_SEPARATOR = '\n - ' + + +def process(): + TRUE_VALUES = ['yes', 'true', '1'] + TYPE_MAP = { + 'ethernet': 'NetworkManager', + 'ctc': 'NetworkManager', + 'infiniband': 'NetworkManager', + 'bond': 'NetworkManager', + 'vlan': 'NetworkManager', + 'bridge': 'NetworkManager', + 'wireless': 'NetworkManager-wifi', + 'team': 'NetworkManager-team', + } + + bad_type_files = [] + not_controlled_files = [] + rpms_to_install = [] + + if not has_package(InstalledRPM, 'network-scripts'): + # If network-scripts package was not installed, + # we don't do anything. + return + + for ifcfg in api.consume(IfCfg): + bad_type = False + got_type = None + nm_controlled = True + + if ifcfg.rules is not None or ifcfg.rules6 is not None: + if 'NetworkManager-dispatcher-routing-rules' not in rpms_to_install: + rpms_to_install.append('NetworkManager-dispatcher-routing-rules') + continue + + if os.path.basename(ifcfg.filename) == 'ifcfg-lo': + continue + + for prop in ifcfg.properties: + if prop.name in ('TYPE', 'DEVICETYPE'): + if got_type is None: + got_type = prop.value.lower() + elif got_type != prop.value.lower(): + bad_type = True + + if prop.name == 'BONDING_MASTER': + if got_type is None: + got_type = 'bond' + elif got_type != 'bond': + bad_type = True + + if prop.name == 'NM_CONTROLLED' and prop.value.lower() not in TRUE_VALUES: + nm_controlled = False + + if got_type in TYPE_MAP: + if TYPE_MAP[got_type] not in rpms_to_install: + rpms_to_install.append(TYPE_MAP[got_type]) + else: + bad_type = True + + # Don't bother reporting the file for NM_CONTROLLED=no + # if its type is not supportable with NetworkManager anyway + if bad_type is True: + bad_type_files.append(ifcfg.filename) + elif nm_controlled is False: + not_controlled_files.append(ifcfg.filename) + + if bad_type_files: + title = 'Network configuration for unsupported device types detected' + summary = ('RHEL 9 does not support the legacy network-scripts' + ' package that was deprecated in RHEL 8 in favor of' + ' NetworkManager. Files for device types that are not' + ' supported by NetworkManager are present in the system.' + ' Files with the problematic configuration:{}').format( + ''.join(['{}{}'.format(FMT_LIST_SEPARATOR, bfile) for bfile in bad_type_files]) + ) + remediation = ('Consult the nm-settings-ifcfg-rh(5) manual for' + ' valid types of ifcfg files. Remove configuration' + ' files that can not be supported.') + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Remediation(hint=remediation), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.NETWORK, reporting.Groups.SERVICES]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.RelatedResource('package', 'NetworkManager'), + ] + [ + reporting.RelatedResource('file', fname) + for fname in bad_type_files + ]) + + if not_controlled_files: + title = 'Network configuration with disabled NetworkManager support detected' + summary = ('RHEL 9 does not support the legacy network-scripts' + ' package that was deprecated in RHEL 8 in favor of' + ' NetworkManager. Configuration present in the system' + ' prohibit NetworkManager from loading it.' + ' Files with the problematic configuration:{}').format( + ''.join(['{}{}'.format(FMT_LIST_SEPARATOR, bfile) for bfile in not_controlled_files]) + ) + remediation = ('Ensure the ifcfg files comply with format described in' + ' nm-settings-ifcfg-rh(5) manual and remove the' + ' NM_CONTROLLED key from them.') + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Remediation(hint=remediation), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.NETWORK, reporting.Groups.SERVICES]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.RelatedResource('package', 'NetworkManager'), + reporting.ExternalLink( + title='nm-settings-ifcfg-rh - Description of ifcfg-rh settings plugin', + url='https://red.ht/nm-settings-ifcfg-rh', + ), + ] + [ + reporting.RelatedResource('file', fname) + for fname in not_controlled_files + ]) + + if rpms_to_install: + if not has_package(InstalledRPM, 'NetworkManager'): + # If the user was not using NetworkManager previously, + # make sure NetworkManager is configured consistently with how + # network-scripts behaved. + rpms_to_install.append('NetworkManager-config-server') + api.produce(RpmTransactionTasks(to_install=rpms_to_install)) diff --git a/repos/system_upgrade/el8toel9/actors/checkifcfg/tests/unit_test_ifcfg.py b/repos/system_upgrade/el8toel9/actors/checkifcfg/tests/unit_test_ifcfg.py new file mode 100644 index 0000000..ddabedf --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkifcfg/tests/unit_test_ifcfg.py @@ -0,0 +1,144 @@ +from leapp.models import IfCfg, IfCfgProperty, InstalledRPM, RPM, RpmTransactionTasks +from leapp.reporting import Report +from leapp.utils.report import is_inhibitor + +RH_PACKAGER = "Red Hat, Inc. " + +NETWORK_SCRIPTS_RPM = RPM( + name="network-scripts", + version="10.00.17", + release="1.el8", + epoch="", + packager=RH_PACKAGER, + arch="x86_64", + pgpsig="RSA/SHA256, Fri 04 Feb 2022 03:32:47 PM CET, Key ID 199e2f91fd431d51", +) + +NETWORK_MANAGER_RPM = RPM( + name="NetworkManager", + version="1.36.0", + release="0.8.el8", + epoch="1", + packager=RH_PACKAGER, + arch="x86_64", + pgpsig="RSA/SHA256, Mon 14 Feb 2022 08:45:37 PM CET, Key ID 199e2f91fd431d51", +) + +INITSCRIPTS_INSTALLED = InstalledRPM(items=[ + NETWORK_SCRIPTS_RPM +]) +INITSCRIPTS_AND_NM_INSTALLED = InstalledRPM(items=[ + NETWORK_SCRIPTS_RPM, + NETWORK_MANAGER_RPM +]) + + +def test_ifcfg_none(current_actor_context): + """ + No report and don't install anything if there are no ifcfg files. + """ + + current_actor_context.feed(INITSCRIPTS_AND_NM_INSTALLED) + current_actor_context.run() + assert not current_actor_context.consume(Report) + assert not current_actor_context.consume(RpmTransactionTasks) + + +def test_ifcfg_rule_file(current_actor_context): + """ + Install NetworkManager-dispatcher-routing-rules package if there's a + file with ip rules. + """ + + current_actor_context.feed(IfCfg( + filename="/NM/ifcfg-eth0", + properties=(IfCfgProperty(name="TYPE", value="Ethernet"),), + rules=("foo bar baz",), + )) + current_actor_context.feed(INITSCRIPTS_AND_NM_INSTALLED) + current_actor_context.run() + assert not current_actor_context.consume(Report) + assert len(current_actor_context.consume(RpmTransactionTasks)) == 1 + rpm_transaction = current_actor_context.consume(RpmTransactionTasks)[0] + assert rpm_transaction.to_install == ["NetworkManager-dispatcher-routing-rules"] + + +def test_ifcfg_good_type(current_actor_context): + """ + No report if there's an ifcfg file that would work with NetworkManager. + Make sure NetworkManager itself is installed though. + """ + + current_actor_context.feed(IfCfg( + filename="/NM/ifcfg-lo", + properties=() + )) + current_actor_context.feed(IfCfg( + filename="/NM/ifcfg-eth0", + properties=(IfCfgProperty(name="TYPE", value="Ethernet"),) + )) + current_actor_context.feed(INITSCRIPTS_AND_NM_INSTALLED) + current_actor_context.run() + assert not current_actor_context.consume(Report) + assert len(current_actor_context.consume(RpmTransactionTasks)) == 1 + rpm_transaction = current_actor_context.consume(RpmTransactionTasks)[0] + assert rpm_transaction.to_install == ["NetworkManager"] + + +def test_ifcfg_not_controlled(current_actor_context): + """ + Report if there's a NM_CONTROLLED=no file. + """ + + current_actor_context.feed(IfCfg( + filename="/NM/ifcfg-eth0", + properties=( + IfCfgProperty(name="TYPE", value="Ethernet"), + IfCfgProperty(name="NM_CONTROLLED", value="no"), + ) + )) + current_actor_context.feed(INITSCRIPTS_INSTALLED) + current_actor_context.run() + assert len(current_actor_context.consume(Report)) == 1 + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + assert "disabled NetworkManager" in report_fields['title'] + + +def test_ifcfg_unknown_type(current_actor_context): + """ + Report if there's configuration for a type we don't recognize. + """ + + current_actor_context.feed(IfCfg( + filename="/NM/ifcfg-pigeon0", + properties=(IfCfgProperty(name="TYPE", value="AvianCarrier"),) + )) + current_actor_context.feed(INITSCRIPTS_AND_NM_INSTALLED) + current_actor_context.run() + assert len(current_actor_context.consume(Report)) == 1 + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + assert "unsupported device types" in report_fields['title'] + + +def test_ifcfg_install_subpackage(current_actor_context): + """ + Install NetworkManager-team if there's a team connection and also + ensure NetworkManager-config-server is installed if NetworkManager + was not there. + """ + + current_actor_context.feed(IfCfg( + filename="/NM/ifcfg-team0", + properties=(IfCfgProperty(name="TYPE", value="Team"),) + )) + current_actor_context.feed(INITSCRIPTS_INSTALLED) + current_actor_context.run() + assert not current_actor_context.consume(Report) + assert len(current_actor_context.consume(RpmTransactionTasks)) == 1 + rpm_transaction = current_actor_context.consume(RpmTransactionTasks)[0] + assert rpm_transaction.to_install == [ + "NetworkManager-team", + "NetworkManager-config-server", + ] diff --git a/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/actor.py b/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/actor.py new file mode 100644 index 0000000..98ffea8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/actor.py @@ -0,0 +1,63 @@ +import leapp.libraries.actor.checkmicroarchitecture as checkmicroarchitecture +from leapp.actors import Actor +from leapp.models import CPUInfo +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckMicroarchitecture(Actor): + """ + Inhibit if RHEL9 microarchitecture requirements are not satisfied + + + As per `x86-64-ABI`_ In addition to the AMD64 baseline architecture, several + micro-architecture levels implemented by later CPU modules have been + defined, starting at level ``x86-64-v2``. The levels are cumulative in the + sense that features from previous levels are implicitly included in later + levels. + + RHEL9 has a higher CPU requirement than older versions, it now requires a + CPU compatible with ``x86-64-v2`` instruction set or higher. + + .. table:: Required CPU features by microarchitecure level with a + corresponding flag as shown by ``lscpu``. + + +------------+-------------+--------------------+ + | Version | CPU Feature | flag (lscpu) | + +============+=============+====================+ + | (baseline) | CMOV | cmov | + | | CX8 | cx8 | + | | FPU | fpu | + | | FXSR | fxsr | + | | MMX | mmx | + | | OSFXSR | (common with FXSR) | + | | SCE | syscall | + | | SSE | sse | + | | SSE2 | sse2 | + +------------+-------------+--------------------+ + | x86-64-v2 | CMPXCHG16B | cx16 | + | | LAHF-SAHF | lahf_lm | + | | POPCNT | popcnt | + | | SSE3 | pni | + | | SSE4_1 | sse4_1 | + | | SSE4_2 | sse4_2 | + | | SSSE3 | ssse3 | + +------------+-------------+--------------------+ + | ... | | | + +------------+-------------+--------------------+ + + Note: To get the corresponding flag for the CPU feature consult the file + ``/arch/x86/include/asm/cpufeatures.h`` in the linux kernel. + + + .. _x86-64-ABI: https://gitlab.com/x86-psABIs/x86-64-ABI.git + + """ + + name = 'check_microarchitecture' + consumes = (CPUInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + checkmicroarchitecture.process() diff --git a/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/libraries/checkmicroarchitecture.py b/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/libraries/checkmicroarchitecture.py new file mode 100644 index 0000000..9c083d7 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/libraries/checkmicroarchitecture.py @@ -0,0 +1,46 @@ +from leapp import reporting +from leapp.libraries.common.config.architecture import ARCH_X86_64, matches_architecture +from leapp.libraries.stdlib import api +from leapp.models import CPUInfo + +X86_64_BASELINE_FLAGS = ['cmov', 'cx8', 'fpu', 'fxsr', 'mmx', 'syscall', 'sse', 'sse2'] +X86_64_V2_FLAGS = ['cx16', 'lahf_lm', 'popcnt', 'pni', 'sse4_1', 'sse4_2', 'ssse3'] + + +def _inhibit_upgrade(missing_flags): + title = 'Current x86-64 microarchitecture is unsupported in RHEL9' + summary = ('RHEL9 has a higher CPU requirement than older versions, it now requires a CPU ' + 'compatible with x86-64-v2 instruction set or higher.\n\n' + 'Missings flags detected are: {}\n'.format(', '.join(missing_flags))) + + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.ExternalLink(title='Building Red Hat Enterprise Linux 9 for the x86-64-v2 microarchitecture level', + url='https://red.ht/rhel-9-intel-microarchitectures'), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.SANITY]), + reporting.Remediation(hint=('If case of using virtualization, virtualization platforms often allow ' + 'configuring a minimum denominator CPU model for compatibility when migrating ' + 'between different CPU models. Ensure that minimum requirements are not below ' + 'that of RHEL9\n')), + ]) + + +def process(): + """ + Check whether the processor matches the required microarchitecture. + """ + + if not matches_architecture(ARCH_X86_64): + api.current_logger().info('Architecture not x86-64. Skipping microarchitecture test.') + return + + cpuinfo = next(api.consume(CPUInfo)) + + required_flags = X86_64_BASELINE_FLAGS + X86_64_V2_FLAGS + missing_flags = [flag for flag in required_flags if flag not in cpuinfo.flags] + api.current_logger().debug('Required flags missing: %s', missing_flags) + if missing_flags: + _inhibit_upgrade(missing_flags) diff --git a/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/tests/test_checkmicroarchitecture.py b/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/tests/test_checkmicroarchitecture.py new file mode 100644 index 0000000..b7c850d --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkmicroarchitecture/tests/test_checkmicroarchitecture.py @@ -0,0 +1,65 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import checkmicroarchitecture +from leapp.libraries.common.config.architecture import ARCH_SUPPORTED, ARCH_X86_64 +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked, logger_mocked +from leapp.libraries.stdlib import api +from leapp.models import CPUInfo +from leapp.utils.report import is_inhibitor + + +@pytest.mark.parametrize("arch", [arch for arch in ARCH_SUPPORTED if not arch == ARCH_X86_64]) +def test_not_x86_64_passes(monkeypatch, arch): + """ + Test no report is generated on an architecture different from x86-64 + """ + + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=arch)) + + checkmicroarchitecture.process() + + assert 'Architecture not x86-64. Skipping microarchitecture test.' in api.current_logger.infomsg + assert not reporting.create_report.called + + +def test_valid_microarchitecture(monkeypatch): + """ + Test no report is generated on a valid microarchitecture + """ + + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + + required_flags = checkmicroarchitecture.X86_64_BASELINE_FLAGS + checkmicroarchitecture.X86_64_V2_FLAGS + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=ARCH_X86_64, + msgs=[CPUInfo(flags=required_flags)])) + + checkmicroarchitecture.process() + + assert 'Architecture not x86-64. Skipping microarchitecture test.' not in api.current_logger.infomsg + assert not reporting.create_report.called + + +def test_invalid_microarchitecture(monkeypatch): + """ + Test report is generated on x86-64 architecture with invalid microarchitecture and the upgrade is inhibited + """ + + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + monkeypatch.setattr(api, 'current_logger', logger_mocked()) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=ARCH_X86_64, msgs=[CPUInfo()])) + + checkmicroarchitecture.process() + + produced_title = reporting.create_report.report_fields.get('title') + produced_summary = reporting.create_report.report_fields.get('summary') + + assert 'Architecture not x86-64. Skipping microarchitecture test.' not in api.current_logger().infomsg + assert reporting.create_report.called == 1 + assert 'microarchitecture is unsupported' in produced_title + assert 'RHEL9 has a higher CPU requirement' in produced_summary + assert reporting.create_report.report_fields['severity'] == reporting.Severity.HIGH + assert is_inhibitor(reporting.create_report.report_fields) diff --git a/repos/system_upgrade/el8toel9/actors/checkvdo/actor.py b/repos/system_upgrade/el8toel9/actors/checkvdo/actor.py new file mode 100644 index 0000000..d43bac0 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkvdo/actor.py @@ -0,0 +1,117 @@ +from leapp.actors import Actor +from leapp.dialogs import Dialog +from leapp.dialogs.components import BooleanComponent +from leapp.libraries.actor.checkvdo import check_vdo +from leapp.models import Report, VdoConversionInfo +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckVdo(Actor): + """ + Check if VDO devices need to be migrated to lvm management. + + `Background` + ============ + In RHEL 9.0 the independent VDO management software, `vdo manager`, is + superseded by LVM management. Existing VDOs must be converted to LVM-based + management *before* upgrading to RHEL 9.0. + + The `CheckVdo` actor provides a pre-upgrade check for VDO devices that have + not been converted and, if any are found, produces an inhibitory report + during upgrade check phase. If none are found `CheckVdo` does not produce + a report concerning such VDO devices. + + As there currently exists the theoretical possibility that a VDO device may + not complete its conversion to LVM-based management (e.g., via a poorly + timed system crash during the conversion) `CheckVdo` also provides a + pre-upgrade check for VDO devices in this state. If any are found + `CheckVdo` produces an inhibitory report during upgrade check phase. If + none are found `CheckVdo` does not produce a report concerning such VDO + devices. + + If the VdoConversionInfo model indicates unexpected errors occurred during + scanning CheckVdo will produce appropriate inhibitory reports. + + If the VdoConversionInfo model indicates conditions exist where VDO devices + could exist but the necessary software to check was not installed on the + system CheckVdo will present a dialog to the user. This dialog will ask the + user to either install the required software if the user knows or is unsure + that VDO devices exist or to approve the continuation of the upgrade if the + user is certain that either there are no VDO devices present or that all + VDO devices have been successfully converted. + + To maximize safety CheckVdo operates against all block devices which + match the criteria for potential VDO devices. Given the dynamic nature + of device presence within a system some devices which may have been present + during leapp discovery may not be present when CheckVdo runs. As CheckVdo + defaults to producing inhibitory reports if a device cannot be checked + (for any reason) this dynamism may be problematic. To prevent CheckVdo + producing an inhibitory report for devices which are dynamically no longer + present within the system the user may answer the previously mentioned + dialog in the affirmative when the user knows that all VDO devices have + been converted. This will circumvent checks of block devices. + """ + + name = 'check_vdo' + consumes = (VdoConversionInfo,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + dialogs = ( + Dialog( + scope='check_vdo', + reason='Confirmation', + components=( + BooleanComponent( + key='confirm', + label='Are all VDO devices, if any, successfully converted to LVM management?', + description='Enter True if no VDO devices are present ' + 'on the system or all VDO devices on the system ' + 'have been successfully converted to LVM ' + 'management. ' + 'Entering True will circumvent check of failures ' + 'and undetermined devices. ' + 'Recognized VDO devices that have not been ' + 'converted to LVM management can still block ' + 'the upgrade despite the answer.' + 'All VDO devices must be converted to LVM ' + 'management before upgrading.', + reason='To maximize safety all block devices on a system ' + 'that meet the criteria as possible VDO devices ' + 'are checked to verify that, if VDOs, they have ' + 'been converted to LVM management. ' + 'If the devices are not converted and the upgrade ' + 'proceeds the data on unconverted VDO devices will ' + 'be inaccessible. ' + 'In order to perform checking the \'vdo\' package ' + 'must be installed. ' + 'If the \'vdo\' package is not installed and there ' + 'are any doubts the \'vdo\' package should be ' + 'installed and the upgrade process re-run to check ' + 'for unconverted VDO devices. ' + 'If the check of any device fails for any reason ' + 'an upgrade inhibiting report is generated. ' + 'This may be problematic if devices are ' + 'dynamically removed from the system subsequent to ' + 'having been identified during device discovery. ' + 'If it is certain that all VDO devices have been ' + 'successfully converted to LVM management this ' + 'dialog may be answered in the affirmative which ' + 'will circumvent block device checking.' + ), + ) + ), + ) + _asked_answer = False + _vdo_answer = None + + def get_vdo_answer(self): + if not self._asked_answer: + self._asked_answer = True + # calling this multiple times could lead to possible issues + # or at least in redundant reports + self._vdo_answer = self.get_answers(self.dialogs[0]).get('confirm') + return self._vdo_answer + + def process(self): + for conversion_info in self.consume(VdoConversionInfo): + check_vdo(conversion_info) diff --git a/repos/system_upgrade/el8toel9/actors/checkvdo/libraries/checkvdo.py b/repos/system_upgrade/el8toel9/actors/checkvdo/libraries/checkvdo.py new file mode 100644 index 0000000..43f5c60 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkvdo/libraries/checkvdo.py @@ -0,0 +1,179 @@ +from leapp import reporting +from leapp.libraries.stdlib import api + +VDO_DOC_URL = 'https://red.ht/import-existing-vdo-volumes-to-lvm' + + +def _report_skip_check(): + if not api.current_actor().get_vdo_answer(): + return + + summary = ('User has asserted all VDO devices on the system have been ' + 'successfully converted to LVM management or no VDO ' + 'devices are present.') + reporting.create_report([ + reporting.Title('Skipping the VDO check of block devices'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.DRIVERS]), + ]) + + +def _process_failed_check_devices(conversion_info): + # Post-conversion VDOs that were not successfully checked for having + # completed the migration to LVM management. + # Return True if failed checks detected + devices = [x for x in conversion_info.post_conversion if (not x.complete) and x.check_failed] + devices += [x for x in conversion_info.undetermined_conversion if x.check_failed] + if not devices: + return False + + if api.current_actor().get_vdo_answer(): + # User asserted all possible VDO should be already converted - skip + return True + + names = [x.name for x in devices] + multiple = len(names) > 1 + summary = ['Unexpected result checking device{0}'.format('s' if multiple else '')] + summary.extend([x.failure for x in devices]) + summary = '\n'.join(summary) + + remedy_hint = ''.join(('Resolve the conditions leading to the reported ' + 'failure{0} '.format('s' if multiple else ''), + 'and re-run the upgrade.')) + + reporting.create_report([ + reporting.Title('Checking VDO conversion to LVM management of block devices failed'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.DRIVERS]), + reporting.Remediation(hint=remedy_hint), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.ExternalLink(url=VDO_DOC_URL, title='Importing existing VDO volumes to LVM') + ]) + return True + + +def _process_post_conversion_vdos(vdos): + # Post-conversion VDOs that have definitively been shown to not have + # completed the migration to LVM management generate an inhibiting report. + post_conversion = [x for x in vdos if (not x.complete) and (not x.check_failed)] + if post_conversion: + devices = [x.name for x in post_conversion] + multiple = len(devices) > 1 + summary = ( + 'VDO device{s_suffix} \'{devices_str}\' ' + 'did not complete migration to LVM management. ' + 'The named device{s_suffix} {was_were} successfully converted ' + 'at the device format level; however, the expected LVM management ' + 'portion of the conversion did not take place. This indicates ' + 'that an exceptional condition (for example, a system crash) ' + 'likely occurred during the conversion process. The LVM portion ' + 'of the conversion must be performed in order for upgrade ' + 'to proceed.' + .format( + s_suffix='s' if multiple else '', + devices_str=', '.join(devices), + was_were='were' if multiple else 'was', + ) + ) + + remedy_hint = ('Consult the VDO to LVM conversion process ' + 'documentation for how to complete the conversion.') + + reporting.create_report([ + reporting.Title('Detected VDO devices that have not finished the conversion to LVM management.'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.DRIVERS]), + reporting.Remediation(hint=remedy_hint), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.ExternalLink(url=VDO_DOC_URL, title='Importing existing VDO volumes to LVM') + ]) + + +def _process_pre_conversion_vdos(vdos): + # Pre-conversion VDOs generate an inhibiting report. + if vdos: + devices = [x.name for x in vdos] + multiple = len(devices) > 1 + summary = ( + 'VDO device{s_suffix} \'{devices_str}\' require{s_suffix_verb} ' + 'migration to LVM management.' + 'After performing the upgrade VDO devices can only be ' + 'managed via LVM. Any VDO device not currently managed ' + 'by LVM must be converted to LVM management before ' + 'upgrading. The data on any VDO device not converted to ' + 'LVM management will be inaccessible after upgrading.' + .format( + s_suffix='s' if multiple else '', + s_suffix_verb='' if multiple else 's', + devices_str=', '.join(devices), + ) + ) + + remedy_hint = ('Consult the VDO to LVM conversion process ' + 'documentation for how to perform the conversion.') + + reporting.create_report([ + reporting.Title('Detected VDO devices not managed by LVM'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.DRIVERS]), + reporting.Remediation(hint=remedy_hint), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.ExternalLink(url=VDO_DOC_URL, title='Importing existing VDO volumes to LVM') + ]) + + +def _process_undetermined_conversion_devices(devices): + # Practically we cannot have both unchecked and checked (with failure) + # devices. Devices are only unchecked if the vdo package is not installed + # on the system and can only be checked with failure if it is. Only in the + # case of a bug could there be both. + # + # We process the two possibilities serially knowing that only one, if any, + # could occur, but that if somehow both do (a bug) we're at least made + # aware that it happened. + # + # A device can only end up as undetermined either via a check that failed + # or if it was not checked. If the info for the device indicates that it + # did not have a check failure that means it was not checked. + # Return True if failed checks detected + + unchecked = [x for x in devices if not x.check_failed] + if not unchecked: + return False + + if api.current_actor().get_vdo_answer(): + # User asserted no VDO devices are present + return True + + summary = ( + 'The check of block devices could not be performed as the \'vdo\' ' + 'package is not installed. All VDO devices must be converted to ' + 'LVM management prior to the upgrade to prevent the loss of data.') + remedy_hint = ('Install the \'vdo\' package and re-run upgrade to ' + 'check for VDO devices requiring conversion or confirm ' + 'that all VDO devices, if any, are managed by LVM.') + + reporting.create_report([ + reporting.Title('Cannot perform the VDO check of block devices'), + reporting.Summary(summary), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SERVICES, reporting.Groups.DRIVERS]), + reporting.Remediation(hint=remedy_hint), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.ExternalLink(url=VDO_DOC_URL, title='Importing existing VDO volumes to LVM') + ]) + return True + + +def check_vdo(conversion_info): + _process_pre_conversion_vdos(conversion_info.pre_conversion) + _process_post_conversion_vdos(conversion_info.post_conversion) + + detected_under_dev = _process_undetermined_conversion_devices(conversion_info.undetermined_conversion) + detected_failed_check = _process_failed_check_devices(conversion_info) + if detected_under_dev or detected_failed_check: + _report_skip_check() diff --git a/repos/system_upgrade/el8toel9/actors/checkvdo/tests/unit_test_checkvdo.py b/repos/system_upgrade/el8toel9/actors/checkvdo/tests/unit_test_checkvdo.py new file mode 100644 index 0000000..865e036 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/checkvdo/tests/unit_test_checkvdo.py @@ -0,0 +1,249 @@ +import functools + +from leapp import reporting +from leapp.libraries.actor import checkvdo +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import ( + VdoConversionInfo, + VdoConversionPostDevice, + VdoConversionPreDevice, + VdoConversionUndeterminedDevice +) +from leapp.utils.report import is_inhibitor + + +# Mock actor base for CheckVdo tests. +class MockedActorCheckVdo(CurrentActorMocked): + def get_vdo_answer(self): + return False + + +# Mock actor for all_vdo_converted dialog response. +class MockedActorAllVdoConvertedTrue(MockedActorCheckVdo): + def get_vdo_answer(self): + return True + + +def aslist(f): + """ Decorator used to convert generator to list """ + @functools.wraps(f) + def inner(*args, **kwargs): + return list(f(*args, **kwargs)) + return inner + + +@aslist +def _post_conversion_vdos(count=0, complete=0, failing=0, start_char='a'): + begin = complete + for x in range(begin): + yield VdoConversionPostDevice(name='sd{0}'.format(chr(ord(start_char) + x)), + complete=True) + + for x in range(begin, begin + failing): + yield VdoConversionPostDevice(name='sd{0}'.format(chr(ord(start_char) + x)), + complete=False, + check_failed=True, + failure='unit testing') + begin += failing + + for x in range(begin, count): + yield VdoConversionPostDevice(name='sd{0}'.format(chr(ord(start_char) + x)), + complete=False) + + +@aslist +def _pre_conversion_vdos(count=0, start_char='a'): + for x in range(count): + yield VdoConversionPreDevice(name='sd{0}'.format(chr(ord(start_char) + x))) + + +@aslist +def _undetermined_conversion_vdos(count=0, failing=False, start_char='a'): + for x in range(count): + yield VdoConversionUndeterminedDevice(name='sd{0}'.format(chr(ord(start_char) + x)), + check_failed=failing, + failure='unit testing' if failing else None) + + +# No VDOs tests. +def test_no_vdos(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 0 + + +# Concurrent pre- and post-conversion tests. +def test_both_conversion_vdo_incomplete(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + post_count = 7 + checkvdo.check_vdo( + VdoConversionInfo( + post_conversion=_post_conversion_vdos(post_count, 5), + pre_conversion=_pre_conversion_vdos(3, start_char=chr(ord('a') + post_count)), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 2 + assert is_inhibitor(reporting.create_report.report_fields) + + +# Post-conversion tests. +def test_post_conversion_multiple_vdo_incomplete(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(7, 5), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert reporting.create_report.report_fields['summary'].startswith('VDO devices') + + +def test_post_conversion_multiple_vdo_complete(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(7, 7), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 0 + + +def test_post_conversion_single_vdo_incomplete(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(1), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert (reporting.create_report.report_fields['summary'].startswith('VDO device') + and (not reporting.create_report.report_fields['summary'].startswith('VDO devices'))) + + +def test_post_conversion_single_check_failing(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(2, complete=1, failing=1), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert (reporting.create_report.report_fields['summary'].startswith( + 'Unexpected result checking device') and + (not reporting.create_report.report_fields['summary'].startswith( + 'Unexpected result checking devices'))) + + +def test_post_conversion_multiple_check_failing(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(7, complete=4, failing=3), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert reporting.create_report.report_fields['summary'].startswith( + 'Unexpected result checking devices') + + +def test_post_conversion_incomplete_and_check_failing(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(2, failing=1), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 2 + assert is_inhibitor(reporting.create_report.report_fields) + + +# Pre-conversion tests. +def test_pre_conversion_multiple_vdo_incomplete(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(), + pre_conversion=_pre_conversion_vdos(7), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert reporting.create_report.report_fields['summary'].startswith('VDO devices') + + +def test_pre_conversion_single_vdo_incomplete(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(), + pre_conversion=_pre_conversion_vdos(1), + undetermined_conversion=_undetermined_conversion_vdos())) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert (reporting.create_report.report_fields['summary'].startswith('VDO device') + and (not reporting.create_report.report_fields['summary'].startswith('VDO devices'))) + + +# Undetermined tests. +def test_undetermined_single_check_failing(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos(1, True))) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert (reporting.create_report.report_fields['summary'].startswith( + 'Unexpected result checking device') and + (not reporting.create_report.report_fields['summary'].startswith( + 'Unexpected result checking devices'))) + + +def test_undetermined_multiple_check_failing(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos(3, failing=True))) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert reporting.create_report.report_fields['summary'].startswith( + 'Unexpected result checking devices') + + +def test_undetermined_multiple_no_check(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorCheckVdo()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos(3))) + assert reporting.create_report.called == 1 + assert is_inhibitor(reporting.create_report.report_fields) + assert reporting.create_report.report_fields['summary'].startswith( + 'The check of block devices could not be performed as the \'vdo\' ' + 'package is not installed.') + + +# all_vdo_converted test. +def test_all_vdo_converted_true(monkeypatch): + monkeypatch.setattr(api, 'current_actor', MockedActorAllVdoConvertedTrue()) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + checkvdo.check_vdo( + VdoConversionInfo(post_conversion=_post_conversion_vdos(), + pre_conversion=_pre_conversion_vdos(), + undetermined_conversion=_undetermined_conversion_vdos(3))) + assert reporting.create_report.called == 1 + assert not is_inhibitor(reporting.create_report.report_fields) + assert reporting.create_report.report_fields['summary'].startswith( + 'User has asserted all VDO devices on the system have been successfully converted') diff --git a/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/actor.py b/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/actor.py new file mode 100644 index 0000000..41a90d5 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor import cryptopoliciescheck +from leapp.models import CryptoPolicyInfo, Report, TargetUserSpacePreupgradeTasks +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CryptoPoliciesCheck(Actor): + """ + This actor consumes previously gathered information about crypto policies on the source + system and does two things: + + * warns user if the custom/legacy policy is used and whether there is time to review it + * prepares the container by making sure it will have installed the tools for managing + crypto policies and the custom policies are copied over to the intermediate and target + systems + """ + + name = 'crypto_policies_check' + consumes = (CryptoPolicyInfo,) + produces = (TargetUserSpacePreupgradeTasks, Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag,) + + def process(self): + cryptopoliciescheck.process(self.consume(CryptoPolicyInfo)) diff --git a/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/libraries/cryptopoliciescheck.py b/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/libraries/cryptopoliciescheck.py new file mode 100644 index 0000000..36f4cb4 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/libraries/cryptopoliciescheck.py @@ -0,0 +1,50 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api +from leapp.models import CopyFile, TargetUserSpacePreupgradeTasks + + +def _get_files_to_copy(cpi): + return [f.path for f in cpi.custom_policies + cpi.custom_modules] + + +def process(cpi_messages): + cpi = next(cpi_messages, None) + if list(cpi_messages): + api.current_logger().warning('Unexpectedly received more than one CryptoPolicyInfo message.') + if not cpi: + raise StopActorExecutionError( + 'Could not check crypto policies status', + details={'details': 'No CryptoPolicyInfo facts found.'} + ) + + if cpi.current_policy != 'DEFAULT': + # If we have to change the crypto policies inside the target userspace container, + # we need update-crypto-policies script inside as well as potential custom policies files + files = [CopyFile(src=f) for f in _get_files_to_copy(cpi)] + api.produce(TargetUserSpacePreupgradeTasks(install_rpms=['crypto-policies-scripts'], + copy_files=files)) + + # When non-default crypto policy is used, it might be outdated. Recommend user to revisit. + # exceptions are here the FIPS and FUTURE policies, which are more future-proof. + if cpi.current_policy in ('FIPS', 'FUTURE'): + return + reporting.create_report([ + reporting.Title('System-wide crypto policy is set to non-DEFAULT policy'), + reporting.Summary(( + "The system-wide crypto policies are set to `{}` value. This might be" + " outdated decision, the custom crypto policy might be outdated and no" + " longer meeting the security standards. Please, review the current crypto" + " policies settings. If this is intentional and up-to-date, you can ignore" + " this message. The custom crypto policy will be configured on the updated" + " system." + ).format(cpi.current_policy)), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SECURITY, reporting.Groups.SANITY]), + reporting.Remediation(hint="Review the current policy in /etc/crypto-policies/state/CURRENT.pol"), + reporting.RelatedResource('package', 'crypto-policies'), + reporting.ExternalLink( + url='https://red.ht/rhel-9-security-considerations', + title='Security Considerations in adopting RHEL 9' + ) + ]) diff --git a/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/tests/component_test_cryptopoliciescheck.py b/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/tests/component_test_cryptopoliciescheck.py new file mode 100644 index 0000000..5a918ed --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/tests/component_test_cryptopoliciescheck.py @@ -0,0 +1,63 @@ +from leapp.models import ( + CopyFile, + CryptoPolicyInfo, + CustomCryptoPolicy, + CustomCryptoPolicyModule, + Report, + TargetUserSpacePreupgradeTasks +) + + +def test_actor_execution_default(current_actor_context): + current_actor_context.feed( + CryptoPolicyInfo( + current_policy="DEFAULT", + custom_policies=[], + custom_modules=[], + ) + ) + current_actor_context.run() + assert not current_actor_context.consume(TargetUserSpacePreupgradeTasks) + + +def test_actor_execution_legacy(current_actor_context): + current_actor_context.feed( + CryptoPolicyInfo( + current_policy="LEGACY", + custom_policies=[], + custom_modules=[], + ) + ) + current_actor_context.run() + + assert current_actor_context.consume(TargetUserSpacePreupgradeTasks) + u = current_actor_context.consume(TargetUserSpacePreupgradeTasks)[0] + assert u.install_rpms == ['crypto-policies-scripts'] + assert u.copy_files == [] + + assert current_actor_context.consume(Report) + + +def test_actor_execution_custom(current_actor_context): + current_actor_context.feed( + CryptoPolicyInfo( + current_policy="CUSTOM:SHA2", + custom_policies=[ + CustomCryptoPolicy(name='CUSTOM', path='/etc/crypto-policies/policies/CUSTOM.pol'), + ], + custom_modules=[ + CustomCryptoPolicyModule(name='SHA2', path='/etc/crypto-policies/policies/modules/SHA2.pmod'), + ], + ) + ) + current_actor_context.run() + + assert current_actor_context.consume(TargetUserSpacePreupgradeTasks) + u = current_actor_context.consume(TargetUserSpacePreupgradeTasks)[0] + assert u.install_rpms == ['crypto-policies-scripts'] + assert u.copy_files == [ + CopyFile(src='/etc/crypto-policies/policies/CUSTOM.pol'), + CopyFile(src='/etc/crypto-policies/policies/modules/SHA2.pmod'), + ] + + assert current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/tests/unit_test_cryptopoliciescheck.py b/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/tests/unit_test_cryptopoliciescheck.py new file mode 100644 index 0000000..d1c891e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/cryptopoliciescheck/tests/unit_test_cryptopoliciescheck.py @@ -0,0 +1,13 @@ +from leapp.libraries.actor.cryptopoliciescheck import _get_files_to_copy +from leapp.models import CryptoPolicyInfo, CustomCryptoPolicy, CustomCryptoPolicyModule + + +def test_get_files_to_copy(): + cpi = CryptoPolicyInfo(current_policy="DEFAULT", custom_policies=[], custom_modules=[]) + assert _get_files_to_copy(cpi) == [] + + cpi.custom_policies.append(CustomCryptoPolicy(name="CUSTOM", path="/path/to/CUSTOM.pol")) + assert _get_files_to_copy(cpi) == ["/path/to/CUSTOM.pol"] + + cpi.custom_modules.append(CustomCryptoPolicyModule(name="FIX", path="/path/to/FIX.mpol")) + assert _get_files_to_copy(cpi) == ["/path/to/CUSTOM.pol", "/path/to/FIX.mpol"] diff --git a/repos/system_upgrade/el8toel9/actors/dotnet/actor.py b/repos/system_upgrade/el8toel9/actors/dotnet/actor.py new file mode 100644 index 0000000..d6e3e46 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/dotnet/actor.py @@ -0,0 +1,40 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.models import InstalledRedHatSignedRPM, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +UNSUPPORTED_VERSIONS = ['2.1', '3.0', '3.1', '5.0'] + + +class DotnetUnsupportedVersionsCheck(Actor): + """ + Check for installed .NET versions that are no longer supported. + """ + + name = 'dotnet_unsupported_versions_check' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + unsupported_versions_report_text = '' + + for unsupported_version in UNSUPPORTED_VERSIONS: + runtime_package = f'dotnet-runtime-{unsupported_version}' + if has_package(InstalledRedHatSignedRPM, runtime_package): + unsupported_versions_report_text += '{0}{1}'.format('\n - ', unsupported_version) + + if unsupported_versions_report_text: + reporting.create_report([ + reporting.Title('Unsupported .NET versions installed on the system.'), + reporting.Summary( + ( + 'The following versions of .NET are no longer supported :{0}\n' + 'Applications that use these runtimes will no longer work\n' + 'and must be updated to target a newer version of .NET.' + ).format( + unsupported_versions_report_text + ) + ), + reporting.Severity(reporting.Severity.HIGH)]) diff --git a/repos/system_upgrade/el8toel9/actors/dotnet/tests/test_dotnet.py b/repos/system_upgrade/el8toel9/actors/dotnet/tests/test_dotnet.py new file mode 100644 index 0000000..93fae56 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/dotnet/tests/test_dotnet.py @@ -0,0 +1,43 @@ +import pytest + +from leapp.models import InstalledRedHatSignedRPM, Report, RPM + + +def _generate_rpm_with_name(name): + return RPM(name=name, + version='0.1', + release='1.sm01', + epoch='1', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51', + packager='Red Hat, Inc. ', + arch='noarch') + + +@pytest.mark.parametrize('unsupported_versions', [ + ([]), # No unsupported versions + ([2.1]), # Single unsupported version + ([3.0]), # Other unsupported version + ([2.1, 3.0]), # Multiple unsupported versions +]) +def test_actor_execution(monkeypatch, current_actor_context, unsupported_versions): + """ + Install one or more dotnet-runtime packages for unsupported versions + and verify a report is generated. + """ + + # Couple of random packages + rpms = [_generate_rpm_with_name('sed'), + _generate_rpm_with_name('htop')] + + # dotnet-runtime-{version} packages + for version in unsupported_versions: + rpms += [_generate_rpm_with_name(f'dotnet-runtime-{version}')] + + # Executed actor fed with fake RPMs + current_actor_context.feed(InstalledRedHatSignedRPM(items=rpms)) + current_actor_context.run() + + if unsupported_versions: + assert current_actor_context.consume(Report) + else: + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcheckallowzonedrifting/actor.py b/repos/system_upgrade/el8toel9/actors/firewalldcheckallowzonedrifting/actor.py new file mode 100644 index 0000000..b7eb580 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcheckallowzonedrifting/actor.py @@ -0,0 +1,51 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import FirewalldGlobalConfig, FirewallsFacts +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class FirewalldCheckAllowZoneDrifting(Actor): + """ + This actor will check if AllowZoneDrifiting=yes in firewalld.conf. This + option has been removed in RHEL-9 and behavior is as if + AllowZoneDrifiting=no. + """ + + name = 'firewalld_check_allow_zone_drifting' + consumes = (FirewallsFacts, FirewalldGlobalConfig) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + # If firewalld is not enabled then don't bother the user about its + # configuration. This Report keys off a _default_ value and as such + # will trigger for all users that have not done one of the following: + # - disabled firewalld + # - manually set AllowZoneDrifting=no (as firewalld logs suggests) + # + for facts in self.consume(FirewallsFacts): + if not facts.firewalld.enabled: + return + + for facts in self.consume(FirewalldGlobalConfig): + if not facts.allowzonedrifting: + return + + create_report([ + reporting.Title('Firewalld Configuration AllowZoneDrifting Is Unsupported'), + reporting.Summary('Firewalld has enabled configuration option ' + '"{conf_key}" which has been removed in RHEL-9. ' + 'New behavior is as if "{conf_key}" was set to "no".'.format( + conf_key='AllowZoneDrifiting')), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY, reporting.Groups.FIREWALL]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.ExternalLink( + url='https://access.redhat.com/articles/4855631', + title='Changes in firewalld related to Zone Drifting'), + reporting.Remediation( + hint='Set AllowZoneDrifting=no in /etc/firewalld/firewalld.conf', + commands=[['sed', '-i', 's/^AllowZoneDrifting=.*/AllowZoneDrifting=no/', + '/etc/firewalld/firewalld.conf']]), + ]) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcheckallowzonedrifting/tests/component_test_firewalldcheckallowzonedrifting.py b/repos/system_upgrade/el8toel9/actors/firewalldcheckallowzonedrifting/tests/component_test_firewalldcheckallowzonedrifting.py new file mode 100644 index 0000000..9908fa2 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcheckallowzonedrifting/tests/component_test_firewalldcheckallowzonedrifting.py @@ -0,0 +1,35 @@ +from leapp.models import FirewalldGlobalConfig, FirewallsFacts, FirewallStatus +from leapp.reporting import Report + + +def test_actor_firewalldcheckallowzonedrifting(current_actor_context): + status = FirewallStatus(enabled=True, active=True) + current_actor_context.feed(FirewallsFacts(firewalld=status, + iptables=status, + ip6tables=status)) + current_actor_context.feed(FirewalldGlobalConfig(allowzonedrifting=True)) + + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_firewalldcheckallowzonedrifting_negative(current_actor_context): + status = FirewallStatus(enabled=False, active=True) + current_actor_context.feed(FirewallsFacts(firewalld=status, + iptables=status, + ip6tables=status)) + current_actor_context.feed(FirewalldGlobalConfig(allowzonedrifting=True)) + + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_firewalldcheckallowzonedrifting_negative2(current_actor_context): + status = FirewallStatus(enabled=True, active=True) + current_actor_context.feed(FirewallsFacts(firewalld=status, + iptables=status, + ip6tables=status)) + current_actor_context.feed(FirewalldGlobalConfig(allowzonedrifting=False)) + + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcheckservicetftpclient/actor.py b/repos/system_upgrade/el8toel9/actors/firewalldcheckservicetftpclient/actor.py new file mode 100644 index 0000000..f6aa739 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcheckservicetftpclient/actor.py @@ -0,0 +1,51 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import FirewalldUsedObjectNames +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class FirewalldCheckServiceTftpClient(Actor): + """ + This actor will inhibit if firewalld's configuration is using service + 'tftp-client'. + """ + + name = 'firewalld_check_service_tftp_client' + consumes = (FirewalldUsedObjectNames,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + tftp_client_service = 'tftp-client' + send_report = False + + for facts in self.consume(FirewalldUsedObjectNames): + if tftp_client_service in facts.services: + send_report = True + + if send_report: + create_report([ + reporting.Title('Firewalld Service tftp-client Is Unsupported'), + reporting.Summary('Firewalld has service "{service}" enabled. ' + 'Service "{service}" has been removed in RHEL-9.'.format( + service=tftp_client_service)), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.SANITY, reporting.Groups.FIREWALL]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Remediation( + hint=( + 'Remove all usage of service "{service}" from ' + 'firewalld\'s permanent configuration. ' + 'It may be in use by: zones, policies, or rich rules.\n' + 'Usage can be found by listing zone and policy ' + 'configuration:\n' + ' # firewall-cmd --permanent --list-all-zones\n' + ' # firewall-cmd --permanent --list-all-policies\n' + 'Example to remove usage from a zone:\n' + ' # firewall-cmd --permanent --zone public ' + ' --remove-service {service}\n'.format( + service=tftp_client_service) + ) + ), + ]) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcheckservicetftpclient/tests/component_test_firewalldcollectusedobjectnames.py b/repos/system_upgrade/el8toel9/actors/firewalldcheckservicetftpclient/tests/component_test_firewalldcollectusedobjectnames.py new file mode 100644 index 0000000..ce96430 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcheckservicetftpclient/tests/component_test_firewalldcollectusedobjectnames.py @@ -0,0 +1,44 @@ +from leapp.models import FirewalldUsedObjectNames +from leapp.reporting import Report + + +def test_actor_firewalldcheckservicetftpclient(current_actor_context): + services = ['cockpit', 'tftp-client', 'ssh', 'https'] + policies = [] + zones = [] + + current_actor_context.feed(FirewalldUsedObjectNames(services=services, + policies=policies, + zones=zones)) + + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_firewalldcheckservicetftpclient_negative(current_actor_context): + services = ['cockpit', 'ssh', 'https'] + policies = [] + zones = [] + + current_actor_context.feed(FirewalldUsedObjectNames(services=services, + policies=policies, + zones=zones)) + + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_firewalldcheckservicetftpclient_negative2(current_actor_context): + current_actor_context.feed(FirewalldUsedObjectNames(services=[], + policies=[], + zones=[])) + + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_firewalldcheckservicetftpclient_negative3(current_actor_context): + current_actor_context.feed(FirewalldUsedObjectNames()) + + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcollectglobalconfig/actor.py b/repos/system_upgrade/el8toel9/actors/firewalldcollectglobalconfig/actor.py new file mode 100644 index 0000000..9e3430c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcollectglobalconfig/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor.private_firewalldcollectglobalconfig import read_config +from leapp.models import FirewalldGlobalConfig +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class FirewalldCollectGlobalConfig(Actor): + """ + This actor reads firewalld's configuration and produces Model + FirewalldGlobalConfig. + """ + + name = 'firewalld_collect_global_config' + consumes = () + produces = (FirewalldGlobalConfig,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + self.produce(read_config()) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcollectglobalconfig/libraries/private_firewalldcollectglobalconfig.py b/repos/system_upgrade/el8toel9/actors/firewalldcollectglobalconfig/libraries/private_firewalldcollectglobalconfig.py new file mode 100644 index 0000000..716f905 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcollectglobalconfig/libraries/private_firewalldcollectglobalconfig.py @@ -0,0 +1,31 @@ +import os + +from leapp.models import FirewalldGlobalConfig + + +def read_config(): + default_conf = FirewalldGlobalConfig() + + path = '/etc/firewalld/firewalld.conf' + if not os.path.exists(path): + return default_conf + + conf_dict = {} + with open(path) as conf_file: + for line in conf_file: + (key, _unused, value) = line.partition('=') + if not value: + continue + + value = value.lower().strip() + if value in ['yes', 'true']: + value = True + if value in ['no', 'false']: + value = False + + # Only worry about config used by our Model + key = key.lower().strip() + if hasattr(default_conf, key): + conf_dict[key] = value + + return FirewalldGlobalConfig(**conf_dict) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/actor.py b/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/actor.py new file mode 100644 index 0000000..efea848 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor.private_firewalldcollectusedobjectnames import read_config +from leapp.models import FirewalldUsedObjectNames +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class FirewalldCollectUsedObjectNames(Actor): + """ + This actor reads firewalld's configuration and produces Model + FirewalldUsedObjectNames. + """ + + name = 'firewalld_collect_used_object_names' + consumes = () + produces = (FirewalldUsedObjectNames,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + self.produce(read_config()) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/libraries/private_firewalldcollectusedobjectnames.py b/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/libraries/private_firewalldcollectusedobjectnames.py new file mode 100644 index 0000000..d93b980 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/libraries/private_firewalldcollectusedobjectnames.py @@ -0,0 +1,110 @@ +from leapp.models import FirewalldUsedObjectNames + +try: + from firewall.core.fw import Firewall +except ImportError: + pass + + +def is_zone_in_use(conf): + # This does not account for zone assignments given by NetworkManager. + if conf.get('interfaces', []) or conf.get('sources', []): + return True + + return False + + +def is_zone_in_use_tuple(conf): + conf_dict = {'interfaces': conf[10], + 'sources': conf[11]} + + return is_zone_in_use(conf_dict) + + +def is_policy_in_use(conf, used_zones): + # A policy is in use if both ingress_zones and egress_zones contain at + # least one of following: an active zone, 'ANY', 'HOST'. + for zone in conf.get('ingress_zones', []): + if zone in ['ANY', 'HOST'] or zone in used_zones: + break + else: + return False + for zone in conf.get('egress_zones', []): + if zone in ['ANY', 'HOST'] or zone in used_zones: + return True + return False + + +def get_used_services(conf, isZone): + used_services = set() + + for service in conf.get('services', []): + used_services.add(service) + + # Also need to look for 'service name=""' in rich rules. The rule + # strings are normalized by firewalld. zone keyword is 'rules_str'. policy + # keyword is 'rich_rules'. + for rule in conf.get('rules_str', []) if isZone else conf.get('rich_rules', []): + try: + search = 'service name="' + start = rule.index(search) + len(search) + stop = rule[start:].index('"') + used_services.add(rule[start:start+stop]) + except ValueError: + pass + + return used_services + + +def get_used_services_tuple(conf, isZone): + if not isZone: + return set() + + conf_dict = {'services': conf[5], + 'interfaces': conf[10], + 'sources': conf[11], + 'rules_str': conf[12]} + + return get_used_services(conf_dict, isZone) + + +def read_config(): + try: + fw = Firewall(offline=True) + except NameError: + # import failure missing means firewalld is not installed. Just return + # the defaults. + return FirewalldUsedObjectNames() + + # This does not actually start firewalld. It just loads the configuration a + # la firewall-offline-cmd. + fw.start() + + # Default zone is always in use. Even without assigned interfaces/sources. + used_zones = set([fw.get_default_zone()]) + for zone in fw.config.get_zones(): + obj = fw.config.get_zone(zone) + conf = fw.config.get_zone_config(obj) + if is_zone_in_use_tuple(conf): + used_zones.add(zone) + + used_policies = [] + for policy in fw.config.get_policy_objects() if hasattr(fw.config, "get_policy_objects") else []: + obj = fw.config.get_policy_object(policy) + conf = fw.config.get_policy_object_config_dict(obj) + if is_policy_in_use(conf, used_zones): + used_policies.append(policy) + + used_services = set() + for zone in fw.config.get_zones(): + obj = fw.config.get_zone(zone) + conf = fw.config.get_zone_config(obj) + used_services.update(get_used_services_tuple(conf, True)) + for policy in fw.config.get_policy_objects() if hasattr(fw.config, "get_policy_objects") else []: + obj = fw.config.get_policy_object(policy) + conf = fw.config.get_policy_object_config_dict(obj) + used_services.update(get_used_services(conf, False)) + + return FirewalldUsedObjectNames(zones=sorted(used_zones), + policies=sorted(used_policies), + services=sorted(used_services)) diff --git a/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/tests/unit_test_firewalldcollectusedobjectnames.py b/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/tests/unit_test_firewalldcollectusedobjectnames.py new file mode 100644 index 0000000..9d2cfb4 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/tests/unit_test_firewalldcollectusedobjectnames.py @@ -0,0 +1,238 @@ +from leapp.libraries.actor.private_firewalldcollectusedobjectnames import ( + get_used_services, + get_used_services_tuple, + is_policy_in_use, + is_zone_in_use, + is_zone_in_use_tuple +) + + +def test_is_zone_in_use(): + conf = {'interfaces': ['dummy0'], + 'services': ['tftp-client']} + assert is_zone_in_use(conf) + + conf = {'sources': ['10.1.2.0/24'], + 'services': ['tftp-client']} + assert is_zone_in_use(conf) + + conf = {'interfaces': ['dummy0'], + 'sources': ['fd00::/8'], + 'services': ['tftp-client']} + assert is_zone_in_use(conf) + + +def test_is_zone_in_use_tuple(): + conf = (None, None, None, None, None, + ['tftp-client'], # conf[5], services + None, None, None, None, + ['dummy0'], # conf[10], interfaces + [], # conf[11], sources + [], # conf[12], rules_str + None, None, None) + assert is_zone_in_use_tuple(conf) + + conf = (None, None, None, None, None, + ['tftp-client'], # conf[5], services + None, None, None, None, + [], # conf[10], interfaces + ['10.1.2.0/24'], # conf[11], sources + [], # conf[12], rules_str + None, None, None) + assert is_zone_in_use_tuple(conf) + + conf = (None, None, None, None, None, + ['tftp-client'], # conf[5], services + None, None, None, None, + ['dummy0'], # conf[10], interfaces + ['fd00::/8'], # conf[11], sources + [], # conf[12], rules_str + None, None, None) + assert is_zone_in_use_tuple(conf) + + +def test_is_zone_in_use_negative(): + conf = {'interfaces': [], + 'services': ['tftp-client']} + assert not is_zone_in_use(conf) + + conf = {'sources': [], + 'services': ['tftp-client']} + assert not is_zone_in_use(conf) + + conf = {'services': ['tftp-client']} + assert not is_zone_in_use(conf) + + +def test_is_zone_in_use_tuple_negative(): + conf = (None, None, None, None, None, + ['tftp-client'], # conf[5], services + None, None, None, None, + [], # conf[10], interfaces + [], # conf[11], sources + [], # conf[12], rules_str + None, None, None) + assert not is_zone_in_use_tuple(conf) + + +def test_is_policy_in_use(): + conf = {'ingress_zones': ['HOST'], + 'egress_zones': ['public'], + 'services': ['tftp-client']} + used_zones = ['public'] + assert is_policy_in_use(conf, used_zones) + + conf = {'ingress_zones': ['internal'], + 'egress_zones': ['external'], + 'services': []} + used_zones = ['internal', 'external'] + assert is_policy_in_use(conf, used_zones) + + conf = {'ingress_zones': ['internal'], + 'egress_zones': ['external'], + 'services': []} + used_zones = ['internal', 'external', 'public'] + assert is_policy_in_use(conf, used_zones) + + +def test_is_policy_in_use_negative(): + conf = {'ingress_zones': ['HOST'], + 'egress_zones': ['public'], + 'services': ['tftp-client']} + used_zones = ['home'] + assert not is_policy_in_use(conf, used_zones) + + conf = {'ingress_zones': ['internal'], + 'egress_zones': ['external'], + 'services': []} + used_zones = ['public', 'external'] + assert not is_policy_in_use(conf, used_zones) + + conf = {'egress_zones': ['external'], + 'services': []} + used_zones = ['internal', 'public'] + assert not is_policy_in_use(conf, used_zones) + + +def test_get_used_services_zone(): + conf = {'interfaces': ['dummy0'], + 'services': ['tftp-client']} + assert 'tftp-client' in get_used_services(conf, True) + + conf = {'sources': ['10.1.2.0/24'], + 'rules_str': ['rule family="ipv4" source address="10.1.1.0/24" service name="tftp-client" reject']} + assert 'tftp-client' in get_used_services(conf, True) + + conf = {'interfaces': ['dummy0'], + 'sources': ['fd00::/8'], + 'rules_str': ['rule service name="ssh" accept', + 'rule service name="tftp-client" accept']} + assert 'tftp-client' in get_used_services(conf, True) + + +def test_get_used_services_tuple_zone(): + conf = (None, None, None, None, None, + ['tftp-client'], # conf[5], services + None, None, None, None, + ['dummy0'], # conf[10], interfaces + [], # conf[11], sources + [], # conf[12], rules_str + None, None, None) + assert 'tftp-client' in get_used_services_tuple(conf, True) + + conf = (None, None, None, None, None, + [], # conf[5], services + None, None, None, None, + [], # conf[10], interfaces + ['10.1.2.0/24'], # conf[11], sources + ['rule family="ipv4" source address="10.1.1.0/24" service name="tftp-client" reject'], + None, None, None) + assert 'tftp-client' in get_used_services_tuple(conf, True) + + conf = (None, None, None, None, None, + [], # conf[5], services + None, None, None, None, + ['dummy0'], # conf[10], interfaces + ['fd00::/8'], # conf[11], sources + ['rule service name="ssh" accept', 'rule service name="tftp-client" accept'], # conf[12], rules_str + None, None, None) + assert 'tftp-client' in get_used_services_tuple(conf, True) + + +def test_get_used_services_zone_negative(): + conf = {'interfaces': ['dummy0'], + 'services': ['https']} + assert 'tftp-client' not in get_used_services(conf, True) + + conf = {'sources': ['10.1.2.0/24'], + 'rules_str': ['rule family="ipv4" source address="10.1.1.0/24" service name="ssh" reject'], + 'services': ['https']} + assert 'tftp-client' not in get_used_services(conf, True) + + conf = {'interfaces': ['dummy0'], + 'sources': ['fd00::/8'], + 'rules_str': ['rule service name="ssh" accept', + 'rule service name="http" accept']} + assert 'tftp-client' not in get_used_services(conf, True) + + +def test_get_used_services_tuple_zone_negative(): + conf = (None, None, None, None, None, + ['https'], # conf[5], services + None, None, None, None, + ['dummy0'], # conf[10], interfaces + [], # conf[11], sources + [], # conf[12], rules_str + None, None, None) + assert 'tftp-client' not in get_used_services_tuple(conf, True) + + conf = {'sources': ['10.1.2.0/24'], + 'rules_str': ['rule family="ipv4" source address="10.1.1.0/24" service name="ssh" reject'], + 'services': ['https']} + conf = (None, None, None, None, None, + ['https'], # conf[5], services + None, None, None, None, + [], # conf[10], interfaces + ['10.1.2.0/24'], # conf[11], sources + ['rule family="ipv4" source address="10.1.1.0/24" service name="ssh" reject'], # conf[12], rules_str + None, None, None) + assert 'tftp-client' not in get_used_services_tuple(conf, True) + + conf = (None, None, None, None, None, + [], # conf[5], services + None, None, None, None, + ['dummy0'], # conf[10], interfaces + ['fd00::/8'], # conf[11], sources + ['rule service name="ssh" accept', 'rule service name="http" accept'], # conf[12], rules_str + None, None, None) + assert 'tftp-client' not in get_used_services_tuple(conf, True) + + +def test_get_used_services_policy(): + conf = {'services': ['tftp-client']} + assert 'tftp-client' in get_used_services(conf, False) + + conf = {'rich_rules': ['rule family="ipv4" source address="10.1.1.0/24" service name="tftp-client" reject']} + assert 'tftp-client' in get_used_services(conf, False) + + conf = {'rich_rules': ['rule service name="ssh" accept', + 'rule service name="tftp-client" accept']} + assert 'tftp-client' in get_used_services(conf, False) + + +def test_get_used_services_policy_negative(): + conf = {} + assert 'tftp-client' not in get_used_services(conf, False) + + conf = {'services': []} + assert 'tftp-client' not in get_used_services(conf, False) + + conf = {'services': ['ssh']} + assert 'tftp-client' not in get_used_services(conf, False) + + conf = {'rich_rules': ['rule family="ipv4" source address="10.1.1.0/24" service name="http" reject']} + assert 'tftp-client' not in get_used_services(conf, False) + + conf = {'rich_rules': ['rule service name="ssh" accept', + 'rule service name="https" accept']} + assert 'tftp-client' not in get_used_services(conf, False) diff --git a/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/actor.py b/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/actor.py new file mode 100644 index 0000000..b178fc7 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import grub2mkconfigonppc64 +from leapp.models import DefaultGrubInfo, FirmwareFacts +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class Grub2MkconfigOnPpc64(Actor): + """ + Regenerate Grub config after RHEL 8 to RHEL 9 rpm transaction + + Actor runs 'grub2-mkconfig' to regenerate Grub config after RHEL 8 to RHEL 9 + rpm transaction in case system is running on ppc64le, GRUB_ENABLE_BLSCFG=true + and '/boot/grub2/grub.cfg' config file does not yet work with BLS entries. + For the system to successfully boot into el9 kernel, it is essential that the + grub config file is abvle to work with the BLS entries. + + IMPORTANT NOTE: The fix is applied only for virtualized ppc64le systems as we got + unexpected behavior on bare metal ppc64le systems which needs to be + investigated first. + + """ + + name = 'grub2mkconfig_on_ppc64' + consumes = (DefaultGrubInfo, FirmwareFacts) + produces = () + tags = (IPUWorkflowTag, ApplicationsPhaseTag) + + def process(self): + grub2mkconfigonppc64.process() diff --git a/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/libraries/grub2mkconfigonppc64.py b/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/libraries/grub2mkconfigonppc64.py new file mode 100644 index 0000000..3c268c8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/libraries/grub2mkconfigonppc64.py @@ -0,0 +1,36 @@ +from leapp.libraries.common import grub +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import DefaultGrubInfo, FirmwareFacts + +GRUB_CFG_PATH = '/boot/grub2/grub.cfg' + + +def _is_grub_cfg_bls(): + # We do not want to use info from the GrubCfgBios model as it may not be valid + # after the RPM upgrade transaction. + + with open(GRUB_CFG_PATH, 'r') as fo: + grub_cfg = fo.read() + if 'insmod blscfg' in grub_cfg: + return True + return False + + +def process(): + if not architecture.matches_architecture(architecture.ARCH_PPC64LE): + return + default_grub_msg = next(api.consume(DefaultGrubInfo), None) + ff = next(api.consume(FirmwareFacts), None) + if ff and ff.ppc64le_opal: + return + if ( + not _is_grub_cfg_bls() and + grub.is_blscfg_enabled_in_defaultgrub(default_grub_msg) + ): + try: + run(['grub2-mkconfig', '-o', GRUB_CFG_PATH]) + except CalledProcessError as e: + api.current_logger().error( + 'Command grub2-mkconfig -o {} failed: {}'.format(GRUB_CFG_PATH, e) + ) diff --git a/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/tests/test_grub2mkconfigonppc64.py b/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/tests/test_grub2mkconfigonppc64.py new file mode 100644 index 0000000..afa999d --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/grub2mkconfigonppc64/tests/test_grub2mkconfigonppc64.py @@ -0,0 +1,75 @@ +import os +from io import StringIO + +import pytest + +from leapp.libraries.actor import grub2mkconfigonppc64 +from leapp.libraries.common import testutils +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import DefaultGrub, DefaultGrubInfo, FirmwareFacts + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +class MockedRun(object): + def __init__(self): + self.commands = [] + + def __call__(self, cmd, *args, **kwargs): + self.commands.append(cmd) + return {} + + +@pytest.mark.parametrize('cmd_issued', [True, False]) +def test_run_grub2mkconfig(monkeypatch, cmd_issued): + + grub2_cfg_bls_excerpt = ( + 'fi' + 'insmod blscfg' + 'blscfg' + '### END /etc/grub.d/10_linux ###' + ) + + grub2_cfg_non_bls_excerpt = ( + '### BEGIN /etc/grub.d/10_linux ###' + 'menuentry "Red Hat Enterprise Linux Server (3.10.0-1160.45.1.el7.x86_64) 7.9 (Maipo)"' + ) + + class _mock_open(object): + def __init__(self, path, mode): + input_ = grub2_cfg_non_bls_excerpt if cmd_issued else grub2_cfg_bls_excerpt + self._fp = StringIO(input_) + + def __enter__(self): + return self._fp + + def __exit__(self, *args, **kwargs): + return None + + bls_cfg_enabled = DefaultGrubInfo( + default_grub_info=[DefaultGrub(name='GRUB_ENABLE_BLSCFG', value='true')] + ) + + bls_cfg_not_enabled = DefaultGrubInfo( + default_grub_info=[DefaultGrub(name='GRUB_ENABLE_BLSCFG', value='false')] + ) + + bls_cfg = bls_cfg_enabled if cmd_issued else bls_cfg_not_enabled + + arch = testutils.architecture.ARCH_PPC64LE if cmd_issued else testutils.architecture.ARCH_X86_64 + + ppc64le_bare = FirmwareFacts(firmware='bios', ppc64le_opal=True) + ppc64le_virt = FirmwareFacts(firmware='bios', ppc64le_opal=False) + + opal = ppc64le_virt if cmd_issued else ppc64le_bare + + mocked_run = MockedRun() + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(msgs=[bls_cfg, opal], arch=arch)) + monkeypatch.setattr(grub2mkconfigonppc64, 'run', mocked_run) + monkeypatch.setattr(grub2mkconfigonppc64, 'open', _mock_open, False) + grub2mkconfigonppc64.process() + if cmd_issued: + assert mocked_run.commands == [['grub2-mkconfig', '-o', '/boot/grub2/grub.cfg']] + else: + assert not mocked_run.commands diff --git a/repos/system_upgrade/el8toel9/actors/ifcfgscanner/actor.py b/repos/system_upgrade/el8toel9/actors/ifcfgscanner/actor.py new file mode 100644 index 0000000..dd94986 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/ifcfgscanner/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import ifcfgscanner +from leapp.models import IfCfg +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class IfCfgScanner(Actor): + """ + Scan ifcfg files with legacy network configuration + """ + + name = "ifcfg_scanner" + consumes = () + produces = (IfCfg,) + tags = (IPUWorkflowTag, FactsPhaseTag,) + + def process(self): + ifcfgscanner.process() diff --git a/repos/system_upgrade/el8toel9/actors/ifcfgscanner/libraries/ifcfgscanner.py b/repos/system_upgrade/el8toel9/actors/ifcfgscanner/libraries/ifcfgscanner.py new file mode 100644 index 0000000..683327b --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/ifcfgscanner/libraries/ifcfgscanner.py @@ -0,0 +1,73 @@ +import errno +from os import listdir, path + +from leapp.libraries.stdlib import api +from leapp.models import IfCfg, IfCfgProperty + +SYSCONFIG_DIR = "/etc/sysconfig/network-scripts" + + +def aux_file(prefix, filename): + directory = path.dirname(filename) + keys_base = path.basename(filename).replace("ifcfg-", prefix) + return path.join(directory, keys_base) + + +def process_ifcfg(filename, secrets=False): + if not path.exists(filename): + return None + + properties = [] + for line in open(filename).readlines(): + try: + (name, value) = line.split("#")[0].strip().split("=") + if secrets: + value = None + except ValueError: + # We're not interested in lines that are not + # simple assignments. Play it safe. + continue + + # Deal with simple quoting. We don't expand anything, nor do + # multiline strings or anything of that sort. + if value is not None and len(value) > 1 and value[0] == value[-1]: + if value.startswith('"') or value.startswith("'"): + value = value[1:-1] + + properties.append(IfCfgProperty(name=name, value=value)) + return properties + + +def process_plain(filename): + if not path.exists(filename): + return None + return open(filename).readlines() + + +def process_file(filename): + api.produce(IfCfg( + filename=filename, + properties=process_ifcfg(filename), + secrets=process_ifcfg(aux_file("keys-", filename), secrets=True), + rules=process_plain(aux_file("rule-", filename)), + rules6=process_plain(aux_file("rule6-", filename)), + routes=process_plain(aux_file("route-", filename)), + routes6=process_plain(aux_file("route6-", filename)), + )) + + +def process_dir(directory): + try: + keyfiles = listdir(directory) + except OSError as e: + if e.errno == errno.ENOENT: + return + raise + + for f in keyfiles: + if f.startswith("ifcfg-"): + process_file(path.join(directory, f)) + + +def process(): + process_dir(SYSCONFIG_DIR) diff --git a/repos/system_upgrade/el8toel9/actors/ifcfgscanner/tests/unit_test_ifcfgscanner.py b/repos/system_upgrade/el8toel9/actors/ifcfgscanner/tests/unit_test_ifcfgscanner.py new file mode 100644 index 0000000..d3b4846 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/ifcfgscanner/tests/unit_test_ifcfgscanner.py @@ -0,0 +1,127 @@ +import errno +import textwrap +from os.path import basename + +import mock +import six + +from leapp.libraries.actor import ifcfgscanner +from leapp.libraries.common.testutils import make_OSError, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import IfCfg + +_builtins_open = "builtins.open" if six.PY3 else "__builtin__.open" + + +def _listdir_ifcfg(path): + if path == ifcfgscanner.SYSCONFIG_DIR: + return ["ifcfg-net0"] + raise make_OSError(errno.ENOENT) + + +def _listdir_ifcfg2(path): + if path == ifcfgscanner.SYSCONFIG_DIR: + return ["ifcfg-net0", "ifcfg-net1"] + raise make_OSError(errno.ENOENT) + + +def _exists_ifcfg(filename): + return basename(filename).startswith("ifcfg-") + + +def _exists_keys(filename): + if _exists_ifcfg(filename): + return True + return basename(filename).startswith("keys-") + + +def test_no_conf(monkeypatch): + """ + No report if there are no ifcfg files. + """ + + monkeypatch.setattr(ifcfgscanner, "listdir", lambda _: ()) + monkeypatch.setattr(api, "produce", produce_mocked()) + ifcfgscanner.process() + assert not api.produce.called + + +def test_ifcfg1(monkeypatch): + """ + Parse a single ifcfg file. + """ + + ifcfg_file = textwrap.dedent(""" + TYPE=Wireless # Some comment + # Another comment + ESSID=wep1 + NAME="wep1" + MODE='Managed' # comment + WEP_KEY_FLAGS=ask + SECURITYMODE=open + DEFAULTKEY=1 + KEY_TYPE=key + """) + + mock_config = mock.mock_open(read_data=ifcfg_file) + with mock.patch(_builtins_open, mock_config): + monkeypatch.setattr(ifcfgscanner, "listdir", _listdir_ifcfg) + monkeypatch.setattr(ifcfgscanner.path, "exists", _exists_ifcfg) + monkeypatch.setattr(api, "produce", produce_mocked()) + ifcfgscanner.process() + + assert api.produce.called == 1 + assert len(api.produce.model_instances) == 1 + ifcfg = api.produce.model_instances[0] + assert isinstance(ifcfg, IfCfg) + assert ifcfg.filename == "/etc/sysconfig/network-scripts/ifcfg-net0" + assert ifcfg.secrets is None + assert len(ifcfg.properties) == 8 + assert ifcfg.properties[0].name == "TYPE" + assert ifcfg.properties[0].value == "Wireless" + assert ifcfg.properties[1].name == "ESSID" + assert ifcfg.properties[1].value == "wep1" + assert ifcfg.properties[2].name == "NAME" + assert ifcfg.properties[2].value == "wep1" + assert ifcfg.properties[3].name == "MODE" + assert ifcfg.properties[3].value == "Managed" + + +def test_ifcfg2(monkeypatch): + """ + Parse two ifcfg files. + """ + + mock_config = mock.mock_open(read_data="TYPE=Ethernet") + with mock.patch(_builtins_open, mock_config): + monkeypatch.setattr(ifcfgscanner, "listdir", _listdir_ifcfg2) + monkeypatch.setattr(ifcfgscanner.path, "exists", _exists_ifcfg) + monkeypatch.setattr(api, "produce", produce_mocked()) + ifcfgscanner.process() + + assert api.produce.called == 2 + assert len(api.produce.model_instances) == 2 + ifcfg = api.produce.model_instances[0] + assert isinstance(ifcfg, IfCfg) + + +def test_ifcfg_key(monkeypatch): + """ + Report ifcfg secrets from keys- file. + """ + + mock_config = mock.mock_open(read_data="KEY_PASSPHRASE1=Hell0") + with mock.patch(_builtins_open, mock_config): + monkeypatch.setattr(ifcfgscanner, "listdir", _listdir_ifcfg) + monkeypatch.setattr(ifcfgscanner.path, "exists", _exists_keys) + monkeypatch.setattr(api, "produce", produce_mocked()) + ifcfgscanner.process() + + assert api.produce.called == 1 + assert len(api.produce.model_instances) == 1 + ifcfg = api.produce.model_instances[0] + assert isinstance(ifcfg, IfCfg) + assert ifcfg.filename == "/etc/sysconfig/network-scripts/ifcfg-net0" + assert len(ifcfg.secrets) == 1 + assert ifcfg.secrets[0].name == "KEY_PASSPHRASE1" + assert ifcfg.secrets[0].value is None diff --git a/repos/system_upgrade/el8toel9/actors/kernel/checkkpatch/actor.py b/repos/system_upgrade/el8toel9/actors/kernel/checkkpatch/actor.py new file mode 100644 index 0000000..392fde0 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/kernel/checkkpatch/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import CopyFile, InstalledRedHatSignedRPM, TargetUserSpacePreupgradeTasks +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +PLUGIN_PKGNAME = "kpatch-dnf" +CONFIG_PATH = "/etc/dnf/plugins/kpatch.conf" + + +class CheckKpatch(Actor): + """ + Carry over kpatch-dnf and it's config into the container + + Check is kpatch-dnf plugin is installed and if it is, install it and copy + over the config file so that the plugin can make a decision on whether any + kpatch-patch packages need to be installed during in-place upgrade. + """ + + name = 'check_kpatch' + consumes = (InstalledRedHatSignedRPM,) + produces = (TargetUserSpacePreupgradeTasks,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + if has_package(InstalledRedHatSignedRPM, PLUGIN_PKGNAME): + api.produce(TargetUserSpacePreupgradeTasks( + install_rpms=[PLUGIN_PKGNAME], + copy_files=[CopyFile(src=CONFIG_PATH)])) diff --git a/repos/system_upgrade/el8toel9/actors/mariadbcheck/actor.py b/repos/system_upgrade/el8toel9/actors/mariadbcheck/actor.py new file mode 100644 index 0000000..2e7ebc1 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/mariadbcheck/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor.mariadbcheck import report_installed_packages +from leapp.models import InstalledRedHatSignedRPM, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class MariadbCheck(Actor): + """ + Actor checking for presence of MariaDB installation. + + Provides user with information related to upgrading systems + with MariaDB installed. + """ + name = 'mariadb_check' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + report_installed_packages() diff --git a/repos/system_upgrade/el8toel9/actors/mariadbcheck/libraries/mariadbcheck.py b/repos/system_upgrade/el8toel9/actors/mariadbcheck/libraries/mariadbcheck.py new file mode 100644 index 0000000..45e3d8c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/mariadbcheck/libraries/mariadbcheck.py @@ -0,0 +1,53 @@ +from leapp import reporting +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + +# Summary for mariadb-server report +report_server_inst_summary = ( + 'MariaDB server component will be upgraded. Since RHEL-9 includes' + ' MariaDB server 10.5 by default, which is incompatible with 10.3' + ' included in RHEL-8, it is necessary to proceed with additional steps' + ' for the complete upgrade of the MariaDB data.' +) + +report_server_inst_hint = ( + 'Back up your data before proceeding with the upgrade' + ' and follow steps in the documentation section "Migrating to a RHEL 9 version of MariaDB"' + ' after the upgrade.' +) + +# Link URL for mariadb-server report +report_server_inst_link_url = 'https://access.redhat.com/articles/6743671' + + +def _report_server_installed(): + """ + Create report on mariadb-server package installation detection. + + Should remind user about present MariaDB server package + installation, warn them about necessary additional steps, and + redirect them to online documentation for the upgrade process. + """ + reporting.create_report([ + reporting.Title('MariaDB (mariadb-server) has been detected on your system'), + reporting.Summary(report_server_inst_summary), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.ExternalLink(title='Migrating to a RHEL 9 version of MariaDB', + url=report_server_inst_link_url), + reporting.RelatedResource('package', 'mariadb-server'), + reporting.Remediation(hint=report_server_inst_hint), + ]) + + +def report_installed_packages(_context=api): + """ + Create reports according to detected MariaDB packages. + + Create the report if the mariadb-server rpm (RH signed) is installed. + """ + has_server = has_package(InstalledRedHatSignedRPM, 'mariadb-server', context=_context) + + if has_server: + _report_server_installed() diff --git a/repos/system_upgrade/el8toel9/actors/mariadbcheck/tests/test_mariadbcheck.py b/repos/system_upgrade/el8toel9/actors/mariadbcheck/tests/test_mariadbcheck.py new file mode 100644 index 0000000..15e70ed --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/mariadbcheck/tests/test_mariadbcheck.py @@ -0,0 +1,65 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.mariadbcheck import report_installed_packages +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, RPM + + +def _generate_rpm_with_name(name): + """ + Generate new RPM model item with given name. + + Parameters: + name (str): rpm name + + Returns: + rpm (RPM): new RPM object with name parameter set + """ + return RPM(name=name, + version='0.1', + release='1.sm01', + epoch='1', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51', + packager='Red Hat, Inc. ', + arch='noarch') + + +@pytest.mark.parametrize('has_server', [ + (True), # with server + (False), # without server +]) +def test_actor_execution(monkeypatch, has_server): + """ + Parametrized helper function for test_actor_* functions. + + First generate list of RPM models based on set arguments. Then, run + the actor fed with our RPM list. Finally, assert Reports + according to set arguments. + + Parameters: + has_server (bool): mariadb-server installed + """ + + # Couple of random packages + rpms = [_generate_rpm_with_name('sed'), + _generate_rpm_with_name('htop')] + + if has_server: + # Add mariadb-server + rpms += [_generate_rpm_with_name('mariadb-server')] + + curr_actor_mocked = CurrentActorMocked(msgs=[InstalledRedHatSignedRPM(items=rpms)]) + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + # Executed actor fed with fake RPMs + report_installed_packages(_context=api) + + if has_server: + # Assert for mariadb-server package installed + assert reporting.create_report.called == 1 + else: + # Assert for no mariadb packages installed + assert not reporting.create_report.called diff --git a/repos/system_upgrade/el8toel9/actors/migrateblacklistca/actor.py b/repos/system_upgrade/el8toel9/actors/migrateblacklistca/actor.py new file mode 100644 index 0000000..863a006 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/migrateblacklistca/actor.py @@ -0,0 +1,28 @@ +from leapp.actors import Actor +from leapp.libraries.actor import migrateblacklistca +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class MigrateBlacklistCA(Actor): + """ + Preserve blacklisted certificates during the upgrade + + Path for the blacklisted certificates has been changed on RHEL 9. + The original paths on RHEL 8 and older systems have been: + /etc/pki/ca-trust/source/blacklist/ + /usr/share/pki/ca-trust-source/blacklist/ + However on RHEL 9 the blacklist directory has been renamed to 'blocklist'. + So the new paths are: + /etc/pki/ca-trust/source/blocklist/ + /usr/share/pki/ca-trust-source/blocklist/ + This actor moves all blacklisted certificates into the expected directories + and fix symlinks if needed. + """ + + name = 'migrate_blacklist_ca' + consumes = () + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + migrateblacklistca.process() diff --git a/repos/system_upgrade/el8toel9/actors/migrateblacklistca/libraries/migrateblacklistca.py b/repos/system_upgrade/el8toel9/actors/migrateblacklistca/libraries/migrateblacklistca.py new file mode 100644 index 0000000..73c9d56 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/migrateblacklistca/libraries/migrateblacklistca.py @@ -0,0 +1,89 @@ +import os +import shutil + +from leapp.libraries.stdlib import api, CalledProcessError, run + +# dict(orig_dir: new_dir) +DIRS_CHANGE = { + '/etc/pki/ca-trust/source/blacklist/': '/etc/pki/ca-trust/source/blocklist/', + '/usr/share/pki/ca-trust-source/blacklist/': '/usr/share/pki/ca-trust-source/blocklist/' +} + + +def _link_src_path(filepath): + """ + Return expected target path for the symlink. + + In case the symlink points to one of dirs supposed to be migrated in this + actor, we need to point to the new directory instead. + + In case the link points anywhere else, keep the target path as it is. + """ + realpath = os.path.realpath(filepath) + for dirname in DIRS_CHANGE: + if realpath.startswith(dirname): + return realpath.replace(dirname, DIRS_CHANGE[dirname]) + + # it seems we can keep this path + return realpath + + +def _migrate_file(filename, src_basedir): + dst_path = filename.replace(src_basedir, DIRS_CHANGE[src_basedir]) + if os.path.exists(dst_path): + api.current_logger().info( + 'Skipping migration of the {} certificate. The target file already exists' + .format(filename) + ) + return + os.makedirs(os.path.dirname(dst_path), mode=0o755, exist_ok=True) + if os.path.islink(filename): + # create the new symlink instead of the moving the file + # as the target path could be different as well + link_src_path = _link_src_path(filename) + # TODO: is the broken symlink ok? + os.symlink(link_src_path, dst_path) + os.unlink(filename) + else: + # normal file, just move it + shutil.move(filename, dst_path) + + +def _get_files(dirname): + return run(['find', dirname, '-type', 'f,l'], split=True)['stdout'] + + +def process(): + for dirname in DIRS_CHANGE: + if not os.path.exists(dirname): + # The directory does not exist; nothing to do here + continue + try: + blacklisted_certs = _get_files(dirname) + except (CalledProcessError, OSError) as e: + # TODO: create post-upgrade report + api.current_logger().error('Cannot get list of files in {}: {}.'.format(dirname, e)) + api.current_logger().error('Certificates under {} must be migrated manually.'.format(dirname)) + continue + failed_files = [] + for filename in blacklisted_certs: + try: + _migrate_file(filename, dirname) + except OSError as e: + api.current_logger().error( + 'Failed migration of blacklisted certificate {}: {}' + .format(filename, e) + ) + failed_files.append(filename) + if not failed_files: + # the failed removal is not such a big issue here + # clean the dir if all files have been migrated successfully + shutil.rmtree(dirname, ignore_errors=True) + try: + run(['/usr/bin/update-ca-trust']) + except (CalledProcessError, OSError) as e: + api.current_logger().error( + 'Cannot update CA trust on the system.' + ' It needs to be done manually after the in-place upgrade.' + ' Reason: {}'.format(e) + ) diff --git a/repos/system_upgrade/el8toel9/actors/migrateblacklistca/tests/unit_test_migrateblacklistca.py b/repos/system_upgrade/el8toel9/actors/migrateblacklistca/tests/unit_test_migrateblacklistca.py new file mode 100644 index 0000000..970dcb9 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/migrateblacklistca/tests/unit_test_migrateblacklistca.py @@ -0,0 +1,25 @@ +import os + +from leapp.libraries.actor import migrateblacklistca +from leapp.libraries.common.testutils import CurrentActorMocked +from leapp.libraries.stdlib import api + + +class MockedGetFiles(): + def __init__(self): + self.called = 0 + + def __call__(self): + self.called += 1 + return [] + + +def test_no_dirs_exist(monkeypatch): + mocked_files = MockedGetFiles() + monkeypatch.setattr(os.path, 'exists', lambda dummy: False) + monkeypatch.setattr(migrateblacklistca, '_get_files', mocked_files) + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked()) + # this is bad mock, but we want to be sure that update-ca-trust is not + # called on the testing machine + monkeypatch.setattr(migrateblacklistca, 'run', lambda dummy: dummy) + assert not mocked_files.called diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfcheck/actor.py b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/actor.py new file mode 100644 index 0000000..7b89b4f --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/actor.py @@ -0,0 +1,25 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfcheck +from leapp.models import MultipathConfFacts8to9 +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class MultipathConfCheck8to9(Actor): + """ + Checks if changes to the multipath configuration files are necessary + for upgrading to RHEL9, and reports the results. + """ + + name = 'multipath_conf_check_8to9' + consumes = (MultipathConfFacts8to9,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + facts = next(self.consume(MultipathConfFacts8to9), None) + if facts is None: + self.log.debug('Skipping execution. No MultipathConfFacts8to9 has ' + 'been produced') + return + multipathconfcheck.check_configs(facts) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfcheck/libraries/multipathconfcheck.py b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/libraries/multipathconfcheck.py new file mode 100644 index 0000000..31b8bc4 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/libraries/multipathconfcheck.py @@ -0,0 +1,80 @@ +from leapp import reporting +from leapp.reporting import create_report + + +def _report_foreign(): + create_report([ + reporting.Title( + 'device-mapper-multipath now defaults to ignoring foreign devices' + ), + reporting.Summary( + 'In RHEL-9, the default value for the "enable_foreign" option has ' + 'changed to "NONE". This means that multipath will no longer list ' + 'devices that are not managed by device-mapper. In order to retain ' + 'the default RHEL-8 behavior of listing foreign multipath devices, ' + '\'enable_foreign ""\' will be added to the defaults section of ' + '"/etc/multipath.conf". If you wish to change to the default ' + 'RHEL-9 behavior, please remove this line. This option only ' + 'effects the devices that multipath lists. It has no impact on ' + 'what devices are managed.'), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource('package', 'device-mapper-multipath') + ]) + + +def _report_allow_usb(): + create_report([ + reporting.Title( + 'device-mapper-multipath now defaults to ignoring USB devices' + ), + reporting.Summary( + 'In RHEL-9, the default multipath configuration has changed to ' + 'ignore USB devices. A new config option, "allow_usb_devices" has ' + 'been added to control this. In order to retain the RHEL-8 ' + 'behavior of treating USB devices like other block devices. ' + '"allow_usb_devices yes" will be added to the defaults section ' + 'of "/etc/multipath.conf". If you wish to change to the default ' + 'RHEL-9 behavior, please remove this line.'), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource('package', 'device-mapper-multipath') + ]) + + +def _create_paths_str(paths): + if len(paths) < 2: + return paths[0] + return '{} and {}'.format(', '.join(paths[0:-1]), paths[-1]) + + +def _report_invalid_regexes(paths): + paths_str = _create_paths_str(paths) + create_report([ + reporting.Title( + 'device-mapper-multipath no longer accepts "*" as a valid regular expression' + ), + reporting.Summary( + 'Some options in device-mapper-multipath configuration files ' + 'have values that are regular expressions. In RHEL-8, if such an ' + 'option had a value of "*", multipath would internally convert it ' + 'to ".*". In RHEL-9, values of "*" are no longer accepted. ' + 'These regular expression values have been found in {}. They ' + 'will be converted to ".*"'.format(paths_str)), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.RelatedResource('package', 'device-mapper-multipath') + ]) + + +def check_configs(facts): + need_foreign = not any(x for x in facts.configs if x.enable_foreign_exists) + need_allow_usb = not any(x for x in facts.configs if x.allow_usb_exists) + invalid_regexes = [x.pathname for x in facts.configs if x.invalid_regexes_exist] + + if need_foreign: + _report_foreign() + if need_allow_usb: + _report_allow_usb() + if invalid_regexes: + _report_invalid_regexes(invalid_regexes) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfcheck/tests/test_multipath_conf_check_8to9.py b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/tests/test_multipath_conf_check_8to9.py new file mode 100644 index 0000000..b91d414 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfcheck/tests/test_multipath_conf_check_8to9.py @@ -0,0 +1,137 @@ +from leapp.models import MultipathConfFacts8to9, MultipathConfig8to9 +from leapp.reporting import Report + + +def _assert_foreign_report(report): + assert report['title'] == \ + 'device-mapper-multipath now defaults to ignoring foreign devices' + assert report['severity'] == 'info' + + +def _assert_allow_usb_report(report): + assert report['title'] == \ + 'device-mapper-multipath now defaults to ignoring USB devices' + assert report['severity'] == 'info' + + +def _assert_invalid_regexes_report(report, paths_str): + assert report['title'] == \ + 'device-mapper-multipath no longer accepts "*" as a valid regular expression' + assert report['severity'] == 'info' + assert paths_str in report['summary'] + + +def _build_config(pathname, config_dir, enable_foreign_exists, invalid_regexes_exist, allow_usb_exists): + return MultipathConfig8to9( + pathname=pathname, + config_dir=config_dir, + enable_foreign_exists=enable_foreign_exists, + invalid_regexes_exist=invalid_regexes_exist, + allow_usb_exists=allow_usb_exists, + ) + + +def _build_facts(confs): + return MultipathConfFacts8to9(configs=confs) + + +def test_need_everything(current_actor_context): + config = _build_config('need_everything.conf', None, False, True, False) + facts = _build_facts([config]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 3 + _assert_foreign_report(reports[0].report) + _assert_allow_usb_report(reports[1].report) + _assert_invalid_regexes_report(reports[2].report, 'need_everything.conf') + + +def test_need_nothing(current_actor_context): + config = _build_config('need_nothing.conf', '/etc/multipath/conf.d', True, False, True) + facts = _build_facts([config]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = current_actor_context.consume(Report) + assert not reports + + +def test_need_foreign(current_actor_context): + config = _build_config('need_foreign.conf', None, False, False, True) + facts = _build_facts([config]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_foreign_report(reports[0].report) + + +def test_need_allos_usb(current_actor_context): + config = _build_config('need_allow_usb.conf', None, True, False, False) + facts = _build_facts([config]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_allow_usb_report(reports[0].report) + + +def test_invalid_regexes(current_actor_context): + config1 = _build_config('invalid_regexes1.conf', None, True, True, True) + config2 = _build_config('no_invalid_regexes.conf', None, True, False, True) + config3 = _build_config('invalid_regexes2.conf', None, True, True, True) + facts = _build_facts([config1, config2, config3]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_invalid_regexes_report(reports[0].report, 'invalid_regexes1.conf and invalid_regexes2.conf') + + +def test_not_in_main_conf(current_actor_context): + main_conf = _build_config('main.conf', '/etc/multipath/conf.d', False, True, False) + other_conf = _build_config('other.conf', None, True, False, True) + facts = _build_facts([main_conf, other_conf]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_invalid_regexes_report(reports[0].report, 'main.conf') + + +def test_in_main_conf(current_actor_context): + main_conf = _build_config('main.conf', '/etc/multipath/conf.d', True, True, True) + other_conf = _build_config('other.conf', None, False, False, False) + next_conf = _build_config('next.conf', None, False, True, False) + last_conf = _build_config('last.conf', None, False, True, False) + facts = _build_facts([main_conf, other_conf, next_conf, last_conf]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 1 + _assert_invalid_regexes_report(reports[0].report, 'main.conf, next.conf and last.conf') + + +def test_in_none_conf(current_actor_context): + main_conf = _build_config('main.conf', '/etc/multipath/conf.d', False, False, False) + other_conf = _build_config('other.conf', None, False, False, False) + facts = _build_facts([main_conf, other_conf]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 2 + _assert_foreign_report(reports[0].report) + _assert_allow_usb_report(reports[1].report) + + +def test_mixed_conf(current_actor_context): + main_conf = _build_config('main.conf', None, True, False, False) + next_conf = _build_config('next.conf', None, False, True, False) + last_conf = _build_config('last.conf', None, True, False, False) + facts = _build_facts([main_conf, next_conf, last_conf]) + current_actor_context.feed(facts) + current_actor_context.run() + reports = list(current_actor_context.consume(Report)) + assert reports and len(reports) == 2 + _assert_allow_usb_report(reports[0].report) + _assert_invalid_regexes_report(reports[1].report, 'next.conf') diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/actor.py b/repos/system_upgrade/el8toel9/actors/multipathconfread/actor.py new file mode 100644 index 0000000..ec558cb --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/actor.py @@ -0,0 +1,33 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfread +from leapp.models import InstalledRedHatSignedRPM, MultipathConfFacts8to9, TargetUserSpaceUpgradeTasks +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class MultipathConfRead8to9(Actor): + """ + Read multipath configuration files and extract the necessary information + + Related files: + - /etc/multipath.conf + - /etc/multipath/ - any files inside the directory + - /etc/xdrdevices.conf + + As well, create task (msg) to copy all needed multipath files into + the target container as the files are needed to create proper initramfs. + This covers the files mentioned above. + """ + + name = 'multipath_conf_read_8to9' + consumes = (InstalledRedHatSignedRPM,) + produces = (MultipathConfFacts8to9, TargetUserSpaceUpgradeTasks) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + if multipathconfread.is_processable(): + res = multipathconfread.get_multipath_conf_facts() + if res: + self.produce(res) + # Create task to copy multipath config files Iff facts + # are generated + multipathconfread.produce_copy_to_target_task() diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/libraries/multipathconfread.py b/repos/system_upgrade/el8toel9/actors/multipathconfread/libraries/multipathconfread.py new file mode 100644 index 0000000..9acd243 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/libraries/multipathconfread.py @@ -0,0 +1,129 @@ +import errno +import os + +from leapp.libraries.common import multipathutil +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import ( + CopyFile, + InstalledRedHatSignedRPM, + MultipathConfFacts8to9, + MultipathConfig8to9, + TargetUserSpaceUpgradeTasks +) + +_regexes = ('vendor', 'product', 'revision', 'product_blacklist', 'devnode', + 'wwid', 'property', 'protocol') + + +def _parse_config(path): + contents = multipathutil.read_config(path) + if contents is None: + return None + conf = MultipathConfig8to9(pathname=path) + section = None + in_subsection = False + for line in contents.split('\n'): + try: + data = multipathutil.LineData(line, section, in_subsection) + except ValueError: + continue + if data.type == data.TYPE_BLANK: + continue + if data.type == data.TYPE_SECTION_END: + if in_subsection: + in_subsection = False + elif section: + section = None + continue + if data.type == data.TYPE_SECTION_START: + if not section: + section = data.section + elif not in_subsection: + in_subsection = True + continue + if data.type != data.TYPE_OPTION: + continue + if section == 'defaults': + if data.option == 'enable_foreign': + conf.enable_foreign_exists = True + elif data.option == 'allow_usb_devices': + conf.allow_usb_exists = True + elif data.option == 'config_dir': + conf.config_dir = data.value + if data.option in _regexes and data.value == '*': + conf.invalid_regexes_exist = True + return conf + + +def _parse_config_dir(config_dir): + res = [] + try: + for config_file in sorted(os.listdir(config_dir)): + path = os.path.join(config_dir, config_file) + if not path.endswith('.conf'): + continue + conf = _parse_config(path) + if conf: + res.append(conf) + except OSError as e: + if e.errno == errno.ENOENT: + api.current_logger().debug('Multipath conf directory ' + + '"{}" doesn\'t exist'.format(config_dir)) + else: + api.current_logger().warning('Failed to read multipath config ' + + 'directory ' + + '"{}": {}'.format(config_dir, e)) + return res + + +def is_processable(): + res = has_package(InstalledRedHatSignedRPM, 'device-mapper-multipath') + if not res: + api.current_logger().debug('device-mapper-multipath is not installed.') + return res + + +def get_multipath_conf_facts(config_file='/etc/multipath.conf'): + res_configs = [] + conf = _parse_config(config_file) + if not conf: + return None + res_configs.append(conf) + if conf.config_dir: + res_configs.extend(_parse_config_dir(conf.config_dir)) + else: + res_configs.extend(_parse_config_dir('/etc/multipath/conf.d')) + return MultipathConfFacts8to9(configs=res_configs) + + +def produce_copy_to_target_task(): + """ + Produce task to copy files into the target userspace + + The multipath configuration files are needed when the upgrade init ramdisk + is generated to ensure we are able to boot into the upgrade environment + and start the upgrade process itself. By this msg it's told that these + files/dirs will be available when the upgrade init ramdisk is generated. + + See TargetUserSpaceUpgradeTasks and UpgradeInitramfsTasks for more info. + """ + # TODO(pstodulk): move the function to the multipathconfcheck actor + # and get rid of the hardcoded stuff. + # - The current behaviour looks from the user POV same as before this + # * commit. I am going to keep the proper fix for additional PR as we do + # * not want to make the current PR even more complex than now and the solution + # * is not so trivial. + # - As well, I am missing some information around xDR devices, which are + # * possibly not handled correctly (maybe missing some executables?..) + # * Update: practically we do not have enough info about xDR drivers, but + # * discussed with Ben Marzinski, as the multipath dracut module includes + # * the xDR utils stuff, we should handle it in the same way. + # * See xdrgetuid, xdrgetinfo (these two utils are now missing in our initramfs) + copy_files = [] + for fname in ['/etc/multipath.conf', '/etc/multipath', '/etc/xdrdevices.conf']: + if os.path.exists(fname): + copy_files.append(CopyFile(src=fname)) + + if copy_files: + api.produce(TargetUserSpaceUpgradeTasks(copy_files=copy_files)) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/all_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/all_the_things.conf new file mode 100644 index 0000000..263cdf9 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/all_the_things.conf @@ -0,0 +1,21 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes +} + +blacklist { + devnode "*" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/allow_usb.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/allow_usb.conf new file mode 100644 index 0000000..57b6f97 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/allow_usb.conf @@ -0,0 +1,1078 @@ +defaults { + verbosity 2 + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" + allow_usb_devices yes +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/complicated.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/complicated.conf new file mode 100644 index 0000000..23d93ec --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/complicated.conf @@ -0,0 +1,1107 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "tur" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode "*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product "*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision "*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/empty.conf new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/nothing_important.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/nothing_important.conf new file mode 100644 index 0000000..70fbc92 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf1.d/nothing_important.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "this_gets_ignored" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf2.d/all_true.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf2.d/all_true.conf new file mode 100644 index 0000000..cf60680 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf2.d/all_true.conf @@ -0,0 +1,24 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + allow_usb_devices no + find_multipaths yes + enable_foreign "^$" +} + +blacklist { + devnode "*" +} + +blacklist_exceptions { + wwid "^sd[a-z]" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf3.d/README b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf3.d/README new file mode 100644 index 0000000..c208af2 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/conf3.d/README @@ -0,0 +1,2 @@ +This directory contains not *.conf files. This file exists so that git will +track the directory. diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/converted_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/converted_the_things.conf new file mode 100644 index 0000000..f549b9b --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/converted_the_things.conf @@ -0,0 +1,23 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "" + allow_usb_devices yes +} + +blacklist { + devnode ".*" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/default_rhel8.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/default_rhel8.conf new file mode 100644 index 0000000..a08fae8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/default_rhel8.conf @@ -0,0 +1,22 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty.conf new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty_dir.conf new file mode 100644 index 0000000..73179b3 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/empty_dir.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf3.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/missing_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/missing_dir.conf new file mode 100644 index 0000000..0b96300 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/missing_dir.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "missing" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid "*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_defaults.conf new file mode 100644 index 0000000..f7885ca --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_defaults.conf @@ -0,0 +1,1049 @@ +blacklist { + devnode "*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid "*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product "*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property "*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product "*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product "*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision "*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_foreign.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_foreign.conf new file mode 100644 index 0000000..9525731 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/no_foreign.conf @@ -0,0 +1,1089 @@ +defaults { + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + allow_usb_devices no + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid "*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property "*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + enable_foreign "^$" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product "*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + enable_foreign "^$" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/not_set_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/not_set_dir.conf new file mode 100644 index 0000000..681eb90 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/not_set_dir.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf1.d" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid "*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/set_in_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/set_in_dir.conf new file mode 100644 index 0000000..acc068c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/set_in_dir.conf @@ -0,0 +1,33 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf2.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} + +wwids { + wwid { + wwid "123456789" + alias "test" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/two_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/two_defaults.conf new file mode 100644 index 0000000..ae59013 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/files/two_defaults.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} + +defaults { + no_path_retry queue +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/test_multipath_conf_read_8to9.py b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/test_multipath_conf_read_8to9.py new file mode 100644 index 0000000..9134e1d --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfread/tests/test_multipath_conf_read_8to9.py @@ -0,0 +1,144 @@ +import os + +from leapp.libraries.actor import multipathconfread +from leapp.models import MultipathConfig8to9 + +TEST_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files') + + +def build_config(pathname, config_dir, enable_foreign_exists, invalid_regexes_exist, allow_usb_exists): + return MultipathConfig8to9( + pathname=pathname, + config_dir=config_dir, + enable_foreign_exists=enable_foreign_exists, + invalid_regexes_exist=invalid_regexes_exist, + allow_usb_exists=allow_usb_exists, + ) + + +def assert_config(config, expected): + assert config.pathname == expected.pathname + assert config.config_dir == expected.config_dir + assert config.enable_foreign_exists == expected.enable_foreign_exists + assert config.invalid_regexes_exist == expected.invalid_regexes_exist + assert config.allow_usb_exists == expected.allow_usb_exists + + +default_rhel8_conf = build_config( + os.path.join(TEST_DIR, 'default_rhel8.conf'), None, True, False, False) + +all_the_things_conf = build_config( + os.path.join(TEST_DIR, 'all_the_things.conf'), None, False, True, False) + +converted_the_things_conf = build_config( + os.path.join(TEST_DIR, 'converted_the_things.conf'), None, True, False, True) + +complicated_conf = build_config( + os.path.join(TEST_DIR, 'complicated.conf'), "/etc/multipath/conf.d", True, True, False) + +no_foreign_conf = build_config( + os.path.join(TEST_DIR, 'no_foreign.conf'), None, False, True, True) + +allow_usb_conf = build_config( + os.path.join(TEST_DIR, 'allow_usb.conf'), None, False, False, True) + +empty_conf = build_config( + os.path.join(TEST_DIR, 'empty.conf'), None, False, False, False) + +missing_dir_conf = build_config( + os.path.join(TEST_DIR, 'missing_dir.conf'), os.path.join(TEST_DIR, 'missing'), False, True, False) + +empty_dir_conf = build_config( + os.path.join(TEST_DIR, 'empty_dir.conf'), os.path.join(TEST_DIR, 'conf3.d'), False, False, False) + +not_set_dir_conf = build_config( + os.path.join(TEST_DIR, 'not_set_dir.conf'), os.path.join(TEST_DIR, "conf1.d"), False, True, False) + +empty1_conf = build_config( + os.path.join(TEST_DIR, 'conf1.d/empty.conf'), None, False, False, False) + +nothing_important_conf = build_config( + os.path.join(TEST_DIR, 'conf1.d/nothing_important.conf'), + os.path.join(TEST_DIR, 'this_gets_ignored'), False, False, False) + +set_in_dir_conf = build_config( + os.path.join(TEST_DIR, 'set_in_dir.conf'), os.path.join(TEST_DIR, "conf2.d"), False, False, False) + +all_true_conf = build_config( + os.path.join(TEST_DIR, 'conf2.d/all_true.conf'), None, True, True, True) + +no_defaults_conf = build_config( + os.path.join(TEST_DIR, 'no_defaults.conf'), None, False, True, False) + +two_defaults_conf = build_config( + os.path.join(TEST_DIR, 'two_defaults.conf'), None, True, False, False) + + +def mock_parse_config(path): + """Convert config_dir into full pathname""" + conf = multipathconfread._parse_config_orig(path) + if not conf: + return None + if conf.config_dir: + conf.config_dir = os.path.join(TEST_DIR, conf.config_dir) + return conf + + +def test_parse_config(): + test_map = {'default_rhel8.conf': default_rhel8_conf, + 'all_the_things.conf': all_the_things_conf, + 'converted_the_things.conf': converted_the_things_conf, + 'complicated.conf': complicated_conf, + 'no_foreign.conf': no_foreign_conf, + 'allow_usb.conf': allow_usb_conf, + 'no_defaults.conf': no_defaults_conf, + 'two_defaults.conf': two_defaults_conf, + 'empty.conf': empty_conf} + for config_name, expected_data in test_map.items(): + config = multipathconfread._parse_config(os.path.join(TEST_DIR, config_name)) + assert config + assert_config(config, expected_data) + + +def test_get_facts_missing_dir(monkeypatch): + monkeypatch.setattr(multipathconfread, '_parse_config_orig', multipathconfread._parse_config, raising=False) + monkeypatch.setattr(multipathconfread, '_parse_config', mock_parse_config) + + facts = multipathconfread.get_multipath_conf_facts(os.path.join(TEST_DIR, 'missing_dir.conf')) + assert facts + assert len(facts.configs) == 1 + assert_config(facts.configs[0], missing_dir_conf) + + +def test_get_facts_empty_dir(monkeypatch): + monkeypatch.setattr(multipathconfread, '_parse_config_orig', multipathconfread._parse_config, raising=False) + monkeypatch.setattr(multipathconfread, '_parse_config', mock_parse_config) + + facts = multipathconfread.get_multipath_conf_facts(os.path.join(TEST_DIR, 'empty_dir.conf')) + assert facts + assert len(facts.configs) == 1 + assert_config(facts.configs[0], empty_dir_conf) + + +def test_get_facts_not_set_dir(monkeypatch): + monkeypatch.setattr(multipathconfread, '_parse_config_orig', multipathconfread._parse_config, raising=False) + monkeypatch.setattr(multipathconfread, '_parse_config', mock_parse_config) + + expected_configs = (not_set_dir_conf, empty1_conf, nothing_important_conf) + facts = multipathconfread.get_multipath_conf_facts(os.path.join(TEST_DIR, 'not_set_dir.conf')) + assert facts + assert len(facts.configs) == 3 + for i in range(len(facts.configs)): + assert_config(facts.configs[i], expected_configs[i]) + + +def test_get_facts_set_in_dir(monkeypatch): + monkeypatch.setattr(multipathconfread, '_parse_config_orig', multipathconfread._parse_config, raising=False) + monkeypatch.setattr(multipathconfread, '_parse_config', mock_parse_config) + + expected_configs = (set_in_dir_conf, all_true_conf) + facts = multipathconfread.get_multipath_conf_facts(os.path.join(TEST_DIR, 'set_in_dir.conf')) + assert facts + assert len(facts.configs) == 2 + for i in range(len(facts.configs)): + assert_config(facts.configs[i], expected_configs[i]) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/actor.py b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/actor.py new file mode 100644 index 0000000..6c3ef41 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/actor.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.libraries.actor import multipathconfupdate +from leapp.models import MultipathConfFacts8to9 +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class MultipathConfUpdate8to9(Actor): + """ + Modifies multipath configuration files on the target RHEL-9 system so that + they will run properly. This is done in three ways + 1. Adding the allow_usb_devices and enable_foreign options to + /etc/multipath.conf if they are not present, to retain RHEL-8 behavior + 2. Converting any "*" regular expression strings to ".*" + """ + + name = 'multipath_conf_update_8to9' + consumes = (MultipathConfFacts8to9,) + produces = () + tags = (ApplicationsPhaseTag, IPUWorkflowTag) + + def process(self): + facts = next(self.consume(MultipathConfFacts8to9), None) + if facts is None: + self.log.debug('Skipping execution. No MultipathConfFacts8to9 has ' + 'been produced') + return + multipathconfupdate.update_configs(facts) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/libraries/multipathconfupdate.py b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/libraries/multipathconfupdate.py new file mode 100644 index 0000000..9e49d78 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/libraries/multipathconfupdate.py @@ -0,0 +1,86 @@ +from leapp.libraries.common import multipathutil + +_regexes = ('vendor', 'product', 'revision', 'product_blacklist', 'devnode', + 'wwid', 'property', 'protocol') + + +def _update_config(need_foreign, need_allow_usb, config): + if not (need_foreign or need_allow_usb or config.invalid_regexes_exist): + return None + contents = multipathutil.read_config(config.pathname) + if contents is None: + return None + lines = contents.split('\n') + + section = None + in_subsection = False + updated_file = False + defaults_start = -1 + for i, line in enumerate(lines): + try: + data = multipathutil.LineData(line, section, in_subsection) + except ValueError: + continue + if data.type == data.TYPE_SECTION_END: + if in_subsection: + in_subsection = False + elif section is not None: + section = None + elif data.type == data.TYPE_SECTION_START: + if section is None: + section = data.section + if section == 'defaults': + defaults_start = i + 1 + elif not in_subsection: + in_subsection = True + elif data.type == data.TYPE_OPTION: + if section == 'defaults': + if data.option == 'enable_foreign': + need_foreign = False + elif data.option == 'allow_usb_devices': + need_allow_usb = False + if data.option in _regexes and data.value == '*': + lines[i] = line.replace('*', '.*', 1) + lines[i] += ' # line modified by Leapp' + updated_file = True + + if need_foreign or need_allow_usb: + updated_file = True + if defaults_start < 0: + if in_subsection: + lines.append('\t} # line added by Leapp') + if section is not None: + lines.append('} # line added by Leapp') + lines.append('defaults { # section added by Leapp') + if need_foreign: + lines.append('\tenable_foreign ""') + if need_allow_usb: + lines.append('\tallow_usb_devices yes') + lines.append('}') + lines.append('') + else: + if need_allow_usb: + lines.insert(defaults_start, '\tallow_usb_devices yes # line added by Leapp') + if need_foreign: + lines.insert(defaults_start, '\tenable_foreign "" # line added by Leapp') + + if not updated_file: + return None + + contents = '\n'.join(lines) + return contents + + +def update_configs(facts): + need_foreign = not any(x for x in facts.configs if x.enable_foreign_exists) + need_allow_usb = not any(x for x in facts.configs if x.allow_usb_exists) + for config in facts.configs: + contents = _update_config(need_foreign, need_allow_usb, config) + need_foreign = False + need_allow_usb = False + """ + foreign_exists and allow_usb_exists only matter for the main + config file. + """ + if contents: + multipathutil.write_config(config.pathname, contents) diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/all_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/all_the_things.conf new file mode 100644 index 0000000..eb07d50 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/all_the_things.conf @@ -0,0 +1,23 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + enable_foreign "" # line added by Leapp + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes +} + +blacklist { + devnode ".*" # line modified by Leapp +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/allow_usb.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/allow_usb.conf new file mode 100644 index 0000000..e7a9c23 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/allow_usb.conf @@ -0,0 +1,1079 @@ +defaults { + enable_foreign "" # line added by Leapp + verbosity 2 + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" + allow_usb_devices yes +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/complicated.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/complicated.conf new file mode 100644 index 0000000..cbfaf80 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/complicated.conf @@ -0,0 +1,1108 @@ +defaults { + allow_usb_devices yes # line added by Leapp + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "tur" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode ".*" # line modified by Leapp + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" # line modified by Leapp + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" # line modified by Leapp + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" # line modified by Leapp + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" # line modified by Leapp + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" # line modified by Leapp + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/conf2.d/all_true.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/conf2.d/all_true.conf new file mode 100644 index 0000000..0e3991a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/conf2.d/all_true.conf @@ -0,0 +1,24 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + allow_usb_devices no + find_multipaths yes + enable_foreign "^$" +} + +blacklist { + devnode ".*" # line modified by Leapp +} + +blacklist_exceptions { + wwid "^sd[a-z]" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/default_rhel8.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/default_rhel8.conf new file mode 100644 index 0000000..ea083d1 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/default_rhel8.conf @@ -0,0 +1,23 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty.conf new file mode 100644 index 0000000..ecbd72c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty.conf @@ -0,0 +1,5 @@ + +defaults { # section added by Leapp + enable_foreign "" + allow_usb_devices yes +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty_dir.conf new file mode 100644 index 0000000..39e714d --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/empty_dir.conf @@ -0,0 +1,28 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + enable_foreign "" # line added by Leapp + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes + config_dir "conf3.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/missing_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/missing_dir.conf new file mode 100644 index 0000000..c3e7599 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/missing_dir.conf @@ -0,0 +1,29 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + enable_foreign "" # line added by Leapp + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes + config_dir "missing" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid ".*" # line modified by Leapp +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_defaults.conf new file mode 100644 index 0000000..02d7c1a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_defaults.conf @@ -0,0 +1,1054 @@ +blacklist { + devnode ".*" # line modified by Leapp + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" # line modified by Leapp + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" # line modified by Leapp + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" # line modified by Leapp + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" # line modified by Leapp + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" # line modified by Leapp + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" # line modified by Leapp + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" # line modified by Leapp + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" # line modified by Leapp + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" # line modified by Leapp + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} + +defaults { # section added by Leapp + enable_foreign "" + allow_usb_devices yes +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_foreign.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_foreign.conf new file mode 100644 index 0000000..9abffc4 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/no_foreign.conf @@ -0,0 +1,1090 @@ +defaults { + enable_foreign "" # line added by Leapp + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + allow_usb_devices no + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" # line modified by Leapp + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" # line modified by Leapp + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" # line modified by Leapp + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" # line modified by Leapp + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + enable_foreign "^$" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" # line modified by Leapp + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" # line modified by Leapp + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + enable_foreign "^$" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/not_set_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/not_set_dir.conf new file mode 100644 index 0000000..189da99 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/not_set_dir.conf @@ -0,0 +1,29 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + enable_foreign "" # line added by Leapp + allow_usb_devices yes # line added by Leapp + user_friendly_names yes + find_multipaths yes + config_dir "conf1.d" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid ".*" # line modified by Leapp +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/two_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/two_defaults.conf new file mode 100644 index 0000000..2954984 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/after/two_defaults.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} + +defaults { + allow_usb_devices yes # line added by Leapp + no_path_retry queue +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/all_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/all_the_things.conf new file mode 100644 index 0000000..263cdf9 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/all_the_things.conf @@ -0,0 +1,21 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes +} + +blacklist { + devnode "*" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/allow_usb.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/allow_usb.conf new file mode 100644 index 0000000..57b6f97 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/allow_usb.conf @@ -0,0 +1,1078 @@ +defaults { + verbosity 2 + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" + allow_usb_devices yes +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol ".*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor ".*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor ".*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/complicated.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/complicated.conf new file mode 100644 index 0000000..23d93ec --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/complicated.conf @@ -0,0 +1,1107 @@ +defaults { + verbosity 2 + polling_interval 5 + max_polling_interval 20 + reassign_maps "no" + multipath_dir "/lib64/multipath" + path_selector "service-time 0" + path_grouping_policy "failover" + uid_attribute "ID_SERIAL" + prio "const" + prio_args "" + features "0" + path_checker "tur" + alias_prefix "mpath" + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + config_dir "/etc/multipath/conf.d" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + uxsock_timeout 4000 + retrigger_tries 0 + retrigger_delay 10 + missing_uev_wait_timeout 30 + skip_kpartx "no" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + enable_foreign "^$" + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode "*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid ".*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property ".*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product "*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product ".*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision "*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/empty.conf new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/nothing_important.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/nothing_important.conf new file mode 100644 index 0000000..70fbc92 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf1.d/nothing_important.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "this_gets_ignored" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf2.d/all_true.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf2.d/all_true.conf new file mode 100644 index 0000000..cf60680 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf2.d/all_true.conf @@ -0,0 +1,24 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + allow_usb_devices no + find_multipaths yes + enable_foreign "^$" +} + +blacklist { + devnode "*" +} + +blacklist_exceptions { + wwid "^sd[a-z]" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf3.d/README b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf3.d/README new file mode 100644 index 0000000..c208af2 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/conf3.d/README @@ -0,0 +1,2 @@ +This directory contains not *.conf files. This file exists so that git will +track the directory. diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/converted_the_things.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/converted_the_things.conf new file mode 100644 index 0000000..f549b9b --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/converted_the_things.conf @@ -0,0 +1,23 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "" + allow_usb_devices yes +} + +blacklist { + devnode ".*" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/default_rhel8.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/default_rhel8.conf new file mode 100644 index 0000000..a08fae8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/default_rhel8.conf @@ -0,0 +1,22 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty.conf new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty_dir.conf new file mode 100644 index 0000000..73179b3 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/empty_dir.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf3.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/missing_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/missing_dir.conf new file mode 100644 index 0000000..0b96300 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/missing_dir.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "missing" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid "*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_defaults.conf new file mode 100644 index 0000000..f7885ca --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_defaults.conf @@ -0,0 +1,1049 @@ +blacklist { + devnode "*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid "*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product "*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property "*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product "*" + uid_attribute "ID_WWN" + path_checker "none" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product "*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision "*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 + allow_usb_devices yes +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_foreign.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_foreign.conf new file mode 100644 index 0000000..9525731 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/no_foreign.conf @@ -0,0 +1,1089 @@ +defaults { + failback "manual" + rr_min_io 1000 + rr_min_io_rq 1 + max_fds "max" + rr_weight "uniform" + queue_without_daemon "no" + flush_on_last_del "no" + user_friendly_names "yes" + allow_usb_devices no + fast_io_fail_tmo 5 + bindings_file "/etc/multipath/bindings" + wwids_file "/etc/multipath/wwids" + prkeys_file "/etc/multipath/prkeys" + log_checker_err always + all_tg_pt "no" + retain_attached_hw_handler "yes" + detect_prio "yes" + detect_checker "yes" + force_sync "yes" + strict_timing "no" + deferred_remove "no" + delay_watch_checks "no" + delay_wait_checks "no" + san_path_err_threshold "no" + san_path_err_forget_rate "no" + san_path_err_recovery_time "no" + marginal_path_err_sample_time "no" + marginal_path_err_rate_threshold "no" + marginal_path_err_recheck_gap_time "no" + marginal_path_double_failed_time "no" + find_multipaths "on" + disable_changed_wwids ignored + remove_retries 0 + ghost_delay "no" + find_multipaths_timeout -10 + marginal_pathgroups "no" + recheck_wwid "no" +} +blacklist { + devnode ".*" + device { + vendor "SGI" + product "Universal Xport" + } + device { + vendor "^DGC" + product "LUNZ" + } + wwid "*" + device { + vendor "EMC" + product "LUNZ" + } + device { + vendor "DELL" + product "Universal Xport" + } + protocol "*" + device { + vendor "FUJITSU" + product "Universal Xport" + } + device { + vendor "IBM" + product "Universal Xport" + } + device { + vendor "IBM" + product "S/390" + } + device { + vendor "LENOVO" + product "Universal Xport" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "Universal Xport" + } + device { + vendor "STK" + product "Universal Xport" + } + device { + vendor "foo" + product ".*" + } + device { + vendor "SUN" + product "Universal Xport" + } + device { + vendor "(Intel|INTEL)" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "VTrak V-LUN" + } + device { + vendor "Promise" + product "Vess V-LUN" + } + device { + vendor "*" + product "bar" + } +} +blacklist_exceptions { + devnode "^sd[a-z]" + wwid "^3" + property "*" + protocol "scsi" +} +devices { + device { + vendor "NVME" + product ".*" + uid_attribute "ID_WWN" + path_checker "none" + enable_foreign "^$" + retain_attached_hw_handler "no" + } + device { + vendor "APPLE" + product "Xserve RAID" + path_grouping_policy "multibus" + } + device { + vendor "3PARdata" + product "VV" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 18 + fast_io_fail_tmo 10 + dev_loss_tmo "infinity" + vpd_vendor hp3par + } + device { + vendor "DEC" + product "HSG80" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry "queue" + } + device { + vendor "HP" + product "A6189A" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(MSA|HSV)1[01]0" + path_grouping_policy "group_by_prio" + path_checker "hp_sw" + hardware_handler "1 hp_sw" + prio "hp_sw" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "MSA VOLUME" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "(COMPAQ|HP)" + product "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "(MSA2[02]12fc|MSA2012i)" + path_grouping_policy "multibus" + no_path_retry 18 + } + device { + vendor "HP" + product "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "MSA [12]0[456]0 SA[NS]" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "HP" + product "HSVX700" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "HP" + product "LOGICAL VOLUME" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "HP" + product "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "LEFTHAND" + product "(P4000|iSCSIDisk|FCDISK)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 18 + } + device { + vendor "Nimble" + product "Server" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "SGI" + product "TP9100" + path_grouping_policy "multibus" + } + device { + vendor "SGI" + product "TP9[3457]00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "IS" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SGI" + product "^DD[46]A-" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DDN" + product "SAN DataDirector" + path_grouping_policy "multibus" + } + device { + vendor "DDN" + product "^EF3010" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DDN" + product "^(EF3015|S2A|SFA)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NEXENTA" + product "COMSTAR" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "TEGILE" + product "(ZEBI-(FC|ISCSI)|INTELLIFLASH)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "EMC" + product "SYMMETRIX" + path_grouping_policy "multibus" + no_path_retry 6 + } + device { + vendor "^DGC" + product "^(RAID|DISK|VRAID)" + product_blacklist "LUNZ" + path_grouping_policy "group_by_prio" + path_checker "emc_clariion" + hardware_handler "1 emc" + prio "emc" + failback "immediate" + no_path_retry 60 + } + device { + vendor "EMC" + product "Invista" + product_blacklist "LUNZ" + path_grouping_policy "multibus" + no_path_retry 5 + } + device { + vendor "XtremIO" + product "XtremApp" + path_grouping_policy "multibus" + } + device { + vendor "COMPELNT" + product "Compellent Vol" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "DELL" + product "^MD3" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NVME" + product "^EMC PowerMax_" + path_grouping_policy "multibus" + } + device { + vendor "FSC" + product "CentricStor" + path_grouping_policy "group_by_serial" + } + device { + vendor "FUJITSU" + product "ETERNUS_DX(H|L|M|400|8000)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "(EUROLOGC|EuroLogc)" + product "FC2502" + path_grouping_policy "multibus" + } + device { + vendor "FUJITSU" + product "E[234]000" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "E[68]000" + path_grouping_policy "multibus" + no_path_retry 10 + } + device { + vendor "FUJITSU" + product "ETERNUS_AHB" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "(HITACHI|HP)" + product "^OPEN-" + path_grouping_policy "multibus" + } + device { + vendor "HITACHI" + product "^DF" + path_grouping_policy "group_by_prio" + prio "hds" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "HITACHI" + product "^DF600F" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "ProFibre 4000R" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^1722-600" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1724" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1726" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1742" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1746" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1813" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1814" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1815" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^1818" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^3526" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^(3542|3552)" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "IBM" + product "^2105" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^1750500" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2107900" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^2145" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD ECKD" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "S/390 DASD FBA" + product_blacklist "S/390" + path_grouping_policy "multibus" + uid_attribute "ID_UID" + path_checker "directio" + no_path_retry "queue" + } + device { + vendor "IBM" + product "^IPR" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "IBM" + product "1820N00" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(XIV|IBM)" + product "(NEXTRA|2810XIV)" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(TMS|IBM)" + product "(RamSan|FlashSystem)" + path_grouping_policy "multibus" + } + device { + vendor "IBM" + product "^(DCS9900|2851)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AIX" + product "VDASD" + path_grouping_policy "multibus" + no_path_retry 60 + } + device { + vendor "IBM" + product "3303[ ]+NVDISK" + no_path_retry 60 + } + device { + vendor "AIX" + product "NVDISK" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 60 + } + device { + vendor "LENOVO" + product "DE_Series" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "NETAPP" + product "LUN" + path_grouping_policy "group_by_prio" + features "2 pg_init_retries 50" + prio "ontap" + failback "immediate" + no_path_retry "queue" + flush_on_last_del "yes" + dev_loss_tmo "infinity" + user_friendly_names "no" + } + device { + vendor "(NETAPP|LSI|ENGENIO)" + product "INF-01-00" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SolidFir" + product "SSD SAN" + path_grouping_policy "multibus" + no_path_retry 24 + } + device { + vendor "NVME" + product "^NetApp ONTAP Controller" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "NEC" + product "DISK ARRAY" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + } + device { + vendor "^Pillar" + product "^Axiom" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "^Oracle" + product "^Oracle FS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "STK" + product "BladeCtlr" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "OPENstorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "STK" + product "FLEXLINE 380" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "StorEdge 3" + path_grouping_policy "multibus" + } + device { + vendor "SUN" + product "STK6580_6780" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "CSM[12]00_R" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "LCSM100_[IEFS]" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "SUN_6180" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "ArrayStorage" + product_blacklist "Universal Xport" + path_grouping_policy "group_by_prio" + path_checker "rdac" + features "2 pg_init_retries 50" + hardware_handler "1 rdac" + prio "rdac" + failback "immediate" + no_path_retry 30 + } + device { + vendor "SUN" + product "(Sun Storage|ZFS Storage|COMSTAR)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "PIVOT3" + product "RAIGE VOLUME" + path_grouping_policy "multibus" + no_path_retry "queue" + } + device { + vendor "(NexGen|Pivot3)" + product "(TierStore|vSTAC)" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(Intel|INTEL)" + product "Multi-Flex" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "(LIO-ORG|SUSE)" + product "RBD" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 12 + } + device { + vendor "DataCore" + product "SANmelody" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "DataCore" + product "Virtual Disk" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry "queue" + } + device { + vendor "PURE" + product "FlashArray" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + fast_io_fail_tmo 10 + } + device { + vendor "HUAWEI" + product "XSG1" + path_grouping_policy "group_by_prio" + prio "alua" + } + device { + vendor "KOVE" + product "XPD" + path_grouping_policy "multibus" + } + device { + vendor "NFINIDAT" + product "InfiniBox" + path_grouping_policy "group_by_prio" + path_selector "round-robin 0" + prio "alua" + failback 30 + rr_weight "priorities" + no_path_retry "fail" + rr_min_io 1 + rr_min_io_rq 1 + flush_on_last_del "yes" + fast_io_fail_tmo 15 + dev_loss_tmo 15 + } + device { + vendor "KMNRIO" + product "K2" + path_grouping_policy "multibus" + } + device { + vendor "NEXSAN" + product "NXS-B0" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "NEXSAN" + product "SATAB" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 15 + } + device { + vendor "Nexsan" + product "(NestOS|NST5000)" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY$" + path_grouping_policy "group_by_serial" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "SAN ARRAY ALUA" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "VIOLIN" + product "CONCERTO ARRAY" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "ISE" + path_grouping_policy "multibus" + no_path_retry 12 + } + device { + vendor "(XIOTECH|XIOtech)" + product "IGLU DISK" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "(XIOTECH|XIOtech)" + product "Magnitude" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "Promise" + product "VTrak" + product_blacklist "VTrak V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "Promise" + product "Vess" + product_blacklist "Vess V-LUN" + path_grouping_policy "group_by_prio" + hardware_handler "1 alua" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "^IFT" + product "*" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "foo" + product "bar" + product_blacklist "xyzzy" + revision ".*" + path_grouping_policy "failover" + } + device { + vendor "DotHill" + product "SANnet" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "DotHill" + product "R/Evo" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "DotHill" + product "^DH" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + no_path_retry 30 + } + device { + vendor "AStor" + product "NeoSapphire" + path_grouping_policy "multibus" + no_path_retry 30 + } + device { + vendor "INSPUR" + product "MCS" + path_grouping_policy "group_by_prio" + prio "alua" + failback "immediate" + } + device { + vendor "*" + product "plugh" + no_path_retry 5 + } +} +overrides { + no_path_retry fail + dev_loss_tmo 45 +} +multipaths { + multipath { + wwid "333333330000007d0" + alias "test" + enable_foreign "^$" + } + multipath { + wwid "33333333000001388" + alias "foo" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/not_set_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/not_set_dir.conf new file mode 100644 index 0000000..681eb90 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/not_set_dir.conf @@ -0,0 +1,27 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf1.d" +} + +devices { + device { + vendor "foo" + product "bar" + enable_foreign "" + } +} + +blacklist { + wwid "*" +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/set_in_dir.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/set_in_dir.conf new file mode 100644 index 0000000..acc068c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/set_in_dir.conf @@ -0,0 +1,33 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + config_dir "conf2.d" +} + +devices { + device { + vendor "foo" + product "bar" + } +} + +blacklist { + wwid ".*" +} + +wwids { + wwid { + wwid "123456789" + alias "test" + } +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/two_defaults.conf b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/two_defaults.conf new file mode 100644 index 0000000..ae59013 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/files/before/two_defaults.conf @@ -0,0 +1,26 @@ +# device-mapper-multipath configuration file + +# For a complete list of the default configuration values, run either: +# # multipath -t +# or +# # multipathd show config + +# For a list of configuration options with descriptions, see the +# multipath.conf man page. + +defaults { + user_friendly_names yes + find_multipaths yes + enable_foreign "^$" +} + +blacklist_exceptions { + property "(SCSI_IDENT_|ID_WWN)" +} + +blacklist { +} + +defaults { + no_path_retry queue +} diff --git a/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/test_multipath_conf_update_8to9.py b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/test_multipath_conf_update_8to9.py new file mode 100644 index 0000000..c18d6b8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/multipathconfupdate/tests/test_multipath_conf_update_8to9.py @@ -0,0 +1,119 @@ +import os + +from leapp.libraries.actor import multipathconfupdate +from leapp.libraries.common import multipathutil +from leapp.models import MultipathConfFacts8to9, MultipathConfig8to9 + +BEFORE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files/before') +AFTER_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files/after') + +converted_data = {} + + +def build_config(pathname, config_dir, enable_foreign_exists, invalid_regexes_exist, allow_usb_exists): + return MultipathConfig8to9( + pathname=pathname, + config_dir=config_dir, + enable_foreign_exists=enable_foreign_exists, + invalid_regexes_exist=invalid_regexes_exist, + allow_usb_exists=allow_usb_exists, + ) + + +def build_facts(confs): + return MultipathConfFacts8to9(configs=confs) + + +def mock_read_config(path): + """convert to full pathname""" + return multipathutil.read_config_orig(os.path.join(BEFORE_DIR, path)) + + +def mock_write_config(path, contents): + converted_data[path] = contents + + +default_rhel8_conf = build_config( + 'default_rhel8.conf', None, True, False, False) + +all_the_things_conf = build_config( + 'all_the_things.conf', None, False, True, False) + +converted_the_things_conf = build_config( + 'converted_the_things.conf', None, True, False, True) + +idempotent_conf = build_config( + 'converted_the_things.conf', None, False, True, False) + +complicated_conf = build_config( + 'complicated.conf', '/etc/multipath/conf.d', True, True, False) + +no_foreign_conf = build_config( + 'no_foreign.conf', None, False, True, True) + +allow_usb_conf = build_config( + 'allow_usb.conf', None, False, False, True) + +no_defaults_conf = build_config( + 'no_defaults.conf', None, False, True, False) + +two_defaults_conf = build_config( + 'two_defaults.conf', None, True, False, False) + +empty_conf = build_config( + 'empty.conf', None, False, False, False) + +missing_dir_conf = build_config( + 'missing_dir.conf', 'missing', False, True, False) + +not_set_dir_conf = build_config( + 'not_set_dir.conf', 'conf1.d', False, True, False) + +empty1_conf = build_config( + 'conf1.d/empty.conf', None, False, False, False) + +nothing_important_conf = build_config( + 'conf1.d/nothing_important.conf', 'this_gets_ignored', False, False, False) + +set_in_dir_conf = build_config( + 'set_in_dir.conf', 'conf2.d', False, False, False) + +all_true_conf = build_config( + 'conf2.d/all_true.conf', None, True, True, True) + +empty_dir_conf = build_config( + 'empty_dir.conf', 'conf3.d', False, False, False) + +facts_list = [build_facts([default_rhel8_conf]), + build_facts([all_the_things_conf]), + build_facts([converted_the_things_conf]), + build_facts([complicated_conf]), + build_facts([no_foreign_conf]), + build_facts([allow_usb_conf]), + build_facts([no_defaults_conf]), + build_facts([two_defaults_conf]), + build_facts([empty_conf]), + build_facts([missing_dir_conf]), + build_facts([empty_dir_conf]), + build_facts([not_set_dir_conf, empty1_conf, nothing_important_conf]), + build_facts([set_in_dir_conf, all_true_conf]), + build_facts([idempotent_conf])] + + +def _test_facts(facts): + multipathconfupdate.update_configs(facts) + for config in facts.configs: + expected_data = multipathutil.read_config_orig(os.path.join(AFTER_DIR, config.pathname)) + if config.pathname in converted_data: + assert converted_data[config.pathname] == expected_data + else: + assert expected_data is None + + +def test_all_facts(monkeypatch): + monkeypatch.setattr(multipathutil, 'read_config_orig', multipathutil.read_config, raising=False) + monkeypatch.setattr(multipathutil, 'read_config', mock_read_config) + monkeypatch.setattr(multipathutil, 'write_config', mock_write_config) + for facts in facts_list: + _test_facts(facts) + converted_data.clear() diff --git a/repos/system_upgrade/el8toel9/actors/networkdeprecations/actor.py b/repos/system_upgrade/el8toel9/actors/networkdeprecations/actor.py new file mode 100644 index 0000000..3074a3c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/networkdeprecations/actor.py @@ -0,0 +1,24 @@ +from leapp.actors import Actor +from leapp.libraries.actor import networkdeprecations +from leapp.models import IfCfg, NetworkManagerConnection, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckNetworkDeprecations(Actor): + """ + Ensures that network configuration doesn't rely on unsupported settings + + Inhibits upgrade if the network configuration would not work with + NetworkManager on the upgraded system due functionality being deprecated. + + Includes check for insecure wireless network encryption configuration + what will not work with RHEL9. + """ + + name = "network_deprecations" + consumes = (IfCfg, NetworkManagerConnection,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag,) + + def process(self): + networkdeprecations.process() diff --git a/repos/system_upgrade/el8toel9/actors/networkdeprecations/libraries/networkdeprecations.py b/repos/system_upgrade/el8toel9/actors/networkdeprecations/libraries/networkdeprecations.py new file mode 100644 index 0000000..92dfc51 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/networkdeprecations/libraries/networkdeprecations.py @@ -0,0 +1,67 @@ +from leapp import reporting +from leapp.libraries.stdlib import api +from leapp.models import IfCfg, NetworkManagerConnection + +FMT_LIST_SEPARATOR = '\n - ' + + +def process(): + wep_files = [] + + # Scan NetworkManager native keyfile connections + for nmconn in api.consume(NetworkManagerConnection): + for setting in nmconn.settings: + if not setting.name == 'wifi-security': + continue + + for prop in setting.properties: + if not prop.name == 'key-mgmt': + continue + if prop.value in ('none', 'ieee8021x'): + wep_files.append(nmconn.filename) + + # Scan legacy ifcfg files & secrets + for ifcfg in api.consume(IfCfg): + props = ifcfg.properties + if ifcfg.secrets is not None: + props = props + ifcfg.secrets + + for prop in props: + name = prop.name + value = prop.value + + # Dynamic WEP + if name == 'KEY_MGMT' and value.upper() == 'IEEE8021X': + wep_files.append(ifcfg.filename) + continue + + # Static WEP, possibly with agent-owned secrets + if name in ('KEY_PASSPHRASE1', 'KEY1', 'WEP_KEY_FLAGS'): + wep_files.append(ifcfg.filename) + continue + + if wep_files: + title = 'Wireless networks using unsupported WEP encryption detected' + summary = ('The Wired Equivalent Privacy (WEP) algorithm used for' + ' authenticating to wireless networks has been phased out' + ' due to known security weaknesses. Configuration for networks' + ' that use the phased out WEP algorithm is present in the system' + ' and will not work after the upgrade.' + ' Files with the problematic configuration:{}').format( + ''.join(['{}{}'.format(FMT_LIST_SEPARATOR, bfile) for bfile in wep_files]) + ) + remediation = ('Remove configuration for networks that use WEP or' + ' upgrade the networks to use more secure encryption' + ' algorithms, such as ones defined by WPA2 or WPA3.') + reporting.create_report([ + reporting.Title(title), + reporting.Summary(summary), + reporting.Remediation(hint=remediation), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.NETWORK, reporting.Groups.SERVICES]), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.RelatedResource('package', 'NetworkManager-wifi'), + ] + [ + reporting.RelatedResource('file', fname) + for fname in wep_files + ]) diff --git a/repos/system_upgrade/el8toel9/actors/networkdeprecations/tests/unit_test_networkdeprecations.py b/repos/system_upgrade/el8toel9/actors/networkdeprecations/tests/unit_test_networkdeprecations.py new file mode 100644 index 0000000..659ab99 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/networkdeprecations/tests/unit_test_networkdeprecations.py @@ -0,0 +1,124 @@ +from leapp.models import ( + IfCfg, + IfCfgProperty, + NetworkManagerConnection, + NetworkManagerConnectionProperty, + NetworkManagerConnectionSetting +) +from leapp.reporting import Report +from leapp.utils.report import is_inhibitor + + +def test_no_conf(current_actor_context): + """ + No report if there are no networks. + """ + + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_no_wireless(current_actor_context): + """ + No report if there's a keyfile, but it's not for a wireless connection. + """ + + not_wifi_nm_conn = NetworkManagerConnection(filename='/NM/wlan0.nmconn', settings=( + NetworkManagerConnectionSetting(name='connection'), + )) + + current_actor_context.feed(not_wifi_nm_conn) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_keyfile_static_wep(current_actor_context): + """ + Report if there's a static WEP keyfile. + """ + + static_wep_nm_conn = NetworkManagerConnection(filename='/NM/wlan0.nmconn', settings=( + NetworkManagerConnectionSetting(name='wifi-security', properties=( + NetworkManagerConnectionProperty(name='auth-alg', value='open'), + NetworkManagerConnectionProperty(name='key-mgmt', value='none'), + NetworkManagerConnectionProperty(name='wep-key-type', value='1'), + )), + )) + + current_actor_context.feed(static_wep_nm_conn) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_keyfile_dynamic_wep(current_actor_context): + """ + Report if there's a dynamic WEP keyfile. + """ + + dynamic_wep_conn = NetworkManagerConnection(filename='/NM/wlan0.nmconn', settings=( + NetworkManagerConnectionSetting(name='wifi-security', properties=( + NetworkManagerConnectionProperty(name='key-mgmt', value='ieee8021x'), + )), + )) + + current_actor_context.feed(dynamic_wep_conn) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_ifcfg_static_wep_ask(current_actor_context): + """ + Report if there's a static WEP sysconfig without stored key. + """ + + static_wep_ask_key_ifcfg = IfCfg(filename='/NM/ifcfg-wlan0', properties=( + IfCfgProperty(name='TYPE', value='Wireless'), + IfCfgProperty(name='ESSID', value='wep1'), + IfCfgProperty(name='NAME', value='wep1'), + IfCfgProperty(name='MODE', value='Managed'), + IfCfgProperty(name='WEP_KEY_FLAGS', value='ask'), + IfCfgProperty(name='SECURITYMODE', value='open'), + IfCfgProperty(name='DEFAULTKEY', value='1'), + IfCfgProperty(name='KEY_TYPE', value='key'), + )) + + current_actor_context.feed(static_wep_ask_key_ifcfg) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_ifcfg_static_wep(current_actor_context): + """ + Report if there's a static WEP sysconfig with a stored passphrase. + """ + + static_wep_ifcfg = IfCfg(filename='/NM/ifcfg-wlan0', secrets=( + IfCfgProperty(name='KEY_PASSPHRASE1', value=None), + )) + + current_actor_context.feed(static_wep_ifcfg) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_ifcfg_dynamic_wep(current_actor_context): + """ + Report if there's a dynamic WEP sysconfig. + """ + + dynamic_wep_ifcfg = IfCfg(filename='/NM/ifcfg-wlan0', properties=( + IfCfgProperty(name='ESSID', value='dynwep1'), + IfCfgProperty(name='MODE', value='Managed'), + IfCfgProperty(name='KEY_MGMT', value='IEEE8021X'), + IfCfgProperty(name='TYPE', value='Wireless'), + IfCfgProperty(name='NAME', value='dynwep1'), + )) + + current_actor_context.feed(dynamic_wep_ifcfg) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) diff --git a/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/actor.py b/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/actor.py new file mode 100644 index 0000000..6ee66b5 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import networkmanagerconnectionscanner +from leapp.models import NetworkManagerConnection +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class NetworkManagerConnectionScanner(Actor): + """ + Scan NetworkManager connection keyfiles + """ + + name = "network_manager_connection_scanner" + consumes = () + produces = (NetworkManagerConnection,) + tags = (IPUWorkflowTag, FactsPhaseTag,) + + def process(self): + networkmanagerconnectionscanner.process() diff --git a/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/libraries/networkmanagerconnectionscanner.py b/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/libraries/networkmanagerconnectionscanner.py new file mode 100644 index 0000000..b148de6 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/libraries/networkmanagerconnectionscanner.py @@ -0,0 +1,65 @@ +import errno +import os + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import utils +from leapp.libraries.stdlib import api +from leapp.models import NetworkManagerConnection, NetworkManagerConnectionProperty, NetworkManagerConnectionSetting + +libnm_available = False +err_details = None +try: + import gi + try: + gi.require_version("NM", "1.0") + from gi.repository import GLib, NM + libnm_available = True + except ValueError: + err_details = 'NetworkManager-libnm package is not available' +except ImportError: + err_details = 'python3-gobject-base package is not available' + +NM_CONN_DIR = "/etc/NetworkManager/system-connections" + + +def process_file(filename): + # We're running this through libnm in order to clear the secrets. + # We don't know what keys are secret, but libnm does. + keyfile = GLib.KeyFile() + keyfile.load_from_file(filename, GLib.KeyFileFlags.NONE) + con = NM.keyfile_read(keyfile, NM_CONN_DIR, NM.KeyfileHandlerFlags.NONE) + con.clear_secrets() + keyfile = NM.keyfile_write(con, NM.KeyfileHandlerFlags.NONE) + cp = utils.parse_config(keyfile.to_data()[0]) + + settings = [] + for setting_name in cp.sections(): + properties = [] + for name, value in cp.items(setting_name, raw=True): + properties.append(NetworkManagerConnectionProperty(name=name, value=value)) + settings.append( + NetworkManagerConnectionSetting(name=setting_name, properties=properties) + ) + api.produce(NetworkManagerConnection(filename=filename, settings=settings)) + + +def process_dir(directory): + try: + keyfiles = os.listdir(directory) + except OSError as e: + if e.errno == errno.ENOENT: + return + raise + + for f in keyfiles: + process_file(os.path.join(NM_CONN_DIR, f)) + + +def process(): + if libnm_available: + process_dir(NM_CONN_DIR) + else: + raise StopActorExecutionError( + message='Failed to read NetworkManager connections', + details=err_details + ) diff --git a/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/tests/unit_test_networkmanagerconnectionscanner.py b/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/tests/unit_test_networkmanagerconnectionscanner.py new file mode 100644 index 0000000..46af07c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/tests/unit_test_networkmanagerconnectionscanner.py @@ -0,0 +1,105 @@ +import errno +import textwrap + +import pytest +import six + +from leapp.libraries.actor import networkmanagerconnectionscanner as nmconnscanner +from leapp.libraries.common.testutils import make_OSError, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import NetworkManagerConnection + +_builtins_open = "builtins.open" if six.PY3 else "__builtin__.open" + + +def _listdir_nm_conn(path): + if path == nmconnscanner.NM_CONN_DIR: + return ["conn1.nmconnection"] + raise make_OSError(errno.ENOENT) + + +def _listdir_nm_conn2(path): + if path == nmconnscanner.NM_CONN_DIR: + return ["conn1.nmconnection", "conn2.nmconnection"] + raise make_OSError(errno.ENOENT) + + +def _load_from_file(keyfile, filename, flags): + if filename.endswith(".nmconnection"): + return keyfile.load_from_data(textwrap.dedent(""" + [connection] + type=wifi + id=conn1 + uuid=a1bc695d-c548-40e8-9c7f-205a6587135d + + [wifi] + mode=infrastructure + ssid=wifi + + [wifi-security] + auth-alg=open + key-mgmt=none + wep-key-type=1 + wep-key0=abcde + """), nmconnscanner.GLib.MAXSIZE, flags) + raise make_OSError(errno.ENOENT) + + +@pytest.mark.skipif(not nmconnscanner.libnm_available, reason="NetworkManager g-ir not installed") +def test_no_conf(monkeypatch): + """ + No report if there are no keyfiles + """ + + monkeypatch.setattr(nmconnscanner.os, "listdir", lambda _: ()) + monkeypatch.setattr(api, "produce", produce_mocked()) + nmconnscanner.process() + assert not api.produce.called + + +@pytest.mark.skipif(not nmconnscanner.libnm_available, reason="NetworkManager g-ir not installed") +def test_nm_conn(monkeypatch): + """ + Check a basic keyfile + """ + + monkeypatch.setattr(nmconnscanner.os, "listdir", _listdir_nm_conn) + monkeypatch.setattr(api, "produce", produce_mocked()) + monkeypatch.setattr(nmconnscanner.GLib.KeyFile, "load_from_file", _load_from_file) + nmconnscanner.process() + + assert api.produce.called == 1 + assert len(api.produce.model_instances) == 1 + nm_conn = api.produce.model_instances[0] + assert isinstance(nm_conn, NetworkManagerConnection) + assert nm_conn.filename == "/etc/NetworkManager/system-connections/conn1.nmconnection" + assert len(nm_conn.settings) == 3 + assert nm_conn.settings[0].name == "connection" + assert len(nm_conn.settings[0].properties) == 4 + assert nm_conn.settings[0].properties[0].name == "id" + assert nm_conn.settings[0].properties[0].value == "conn1" + assert nm_conn.settings[2].name == "wifi-security" + + # It's important that wek-key0 is gone + assert len(nm_conn.settings[2].properties) == 3 + assert nm_conn.settings[2].properties[0].name == "auth-alg" + assert nm_conn.settings[2].properties[0].value == "open" + assert nm_conn.settings[2].properties[1].name != "wep-key0" + assert nm_conn.settings[2].properties[2].name != "wep-key0" + + +@pytest.mark.skipif(not nmconnscanner.libnm_available, reason="NetworkManager g-ir not installed") +def test_nm_conn2(monkeypatch): + """ + Check a pair of keyfiles + """ + + monkeypatch.setattr(nmconnscanner.os, "listdir", _listdir_nm_conn2) + monkeypatch.setattr(api, "produce", produce_mocked()) + monkeypatch.setattr(nmconnscanner.GLib.KeyFile, "load_from_file", _load_from_file) + nmconnscanner.process() + + assert api.produce.called == 2 + assert len(api.produce.model_instances) == 2 + assert api.produce.model_instances[0].filename.endswith("/conn1.nmconnection") + assert api.produce.model_instances[1].filename.endswith("/conn2.nmconnection") diff --git a/repos/system_upgrade/el8toel9/actors/nischeck/actor.py b/repos/system_upgrade/el8toel9/actors/nischeck/actor.py new file mode 100644 index 0000000..9b70ae8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/nischeck/actor.py @@ -0,0 +1,19 @@ +from leapp.actors import Actor +from leapp.libraries.actor.nischeck import report_nis +from leapp.models import InstalledRedHatSignedRPM, NISConfig, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class NISCheck(Actor): + """ + Checks if any of NIS components is installed and configured + on the system and warns users about discontinuation. + """ + + name = 'nis_check' + consumes = (InstalledRedHatSignedRPM, NISConfig) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + report_nis() diff --git a/repos/system_upgrade/el8toel9/actors/nischeck/libraries/nischeck.py b/repos/system_upgrade/el8toel9/actors/nischeck/libraries/nischeck.py new file mode 100644 index 0000000..7e3d9a8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/nischeck/libraries/nischeck.py @@ -0,0 +1,72 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, NISConfig + +report_summary = ( + 'The NIS components (ypserv, ypbind, and yp-tools) are no longer available in RHEL-9.' + ' The technology behind those packages is based an outdated design patterns, which are' + ' no longer considered as secure. There is no direct alternative with fully compatible' + ' features.' +) + +report_hint = ( + 'The alternatives are LDAP and for some use cases Kerberos or migrating to IPA.' +) + +report_link_url = 'https://access.redhat.com/solutions/5991271' + + +def report_nis(): + """ + Create the report if any of NIS packages (RH signed) + is installed and configured. + + Should notify user about present NIS component package + installation, warn them about discontinuation, and + redirect them to online documentation for possible + alternatives. + """ + + installed_packages = [] + configured_rpms = [] + + # Get necessary models created by another actors + nis_confs = api.consume(NISConfig) + nis_conf = next(nis_confs, None) + if not nis_conf: + raise StopActorExecutionError( + 'Could not obtain NIS RPM information', + details={'details': 'Actor did not receive NISConfig message.'} + ) + + if next(nis_confs, None): + api.current_logger().warning('Unexpectedly received more than one NISConfig message.') + + configured_rpms = nis_conf.nis_not_default_conf + + installed_packages = [package for package in ( + 'ypserv', 'ypbind') if has_package(InstalledRedHatSignedRPM, package)] + + # Final list of NIS packages (configured and installed) + rpms_configured_installed = [x for x in installed_packages if x in configured_rpms] + + if not rpms_configured_installed: + return + + # Create report + report_content = [ + reporting.Title('NIS component has been detected on your system'), + reporting.Summary(report_summary), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.ExternalLink(title='RHEL 9 (NIS) discontinuation', + url=report_link_url), + reporting.Remediation(hint=report_hint), + ] + + related_resources = [reporting.RelatedResource('package', pkg) for pkg in rpms_configured_installed] + report_content += related_resources + + reporting.create_report(report_content) diff --git a/repos/system_upgrade/el8toel9/actors/nischeck/tests/test_nischeck.py b/repos/system_upgrade/el8toel9/actors/nischeck/tests/test_nischeck.py new file mode 100644 index 0000000..7bdfed0 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/nischeck/tests/test_nischeck.py @@ -0,0 +1,71 @@ +import functools + +import pytest + +from leapp import reporting +from leapp.libraries.actor import nischeck +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, NISConfig, RPM + +_generate_rpm = functools.partial(RPM, + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51', + packager='Red Hat, Inc. ', + arch='noarch') + + +@pytest.mark.parametrize('pkgs_installed', [ + ('ypserv',), + ('ypbind',), + ('ypserv-not-ypbind',), + ('ypbind', 'ypserv'), +]) +@pytest.mark.parametrize('pkgs_configured', [ + (), + ('ypbind',), + ('ypserv',), + ('ypbind', 'ypserv'), +]) +def test_actor_nis(monkeypatch, pkgs_installed, pkgs_configured): + """ + Parametrized helper function for test_actor_* functions. + + First generate list of RPM models based on set arguments. Then, run + the actor fed with our RPM list and mocked functions. Finally, assert + Reports according to set arguments. + + Parameters: + pkgs_installed (tuple): installed pkgs + fill_conf_file (bool): not default ypbind config file + fill_ypserv_dir (bool): not default ypserv dir content + """ + + # Generate few standard packages + rpms = [_generate_rpm(name='rclone', version='2.3', release='3', epoch='1'), + _generate_rpm(name='gdb', version='2.0.1', release='1', epoch='2')] + + # Generate packages from 'pkgs_installed' + for pkg_name in pkgs_installed: + rpms += [_generate_rpm(name=pkg_name, version='2.0', release='3', epoch='1')] + + # Generate NIS facts + nis_facts = NISConfig(nis_not_default_conf=pkgs_configured) + + curr_actor_mocked = CurrentActorMocked(msgs=[InstalledRedHatSignedRPM(items=rpms), nis_facts]) + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + # Executed actor fed with out fake msgs + nischeck.report_nis() + + # Iterate through installed packages + for pkg in pkgs_installed: + # Check if package is configured + if pkg in pkgs_configured: + # Don't waste time checking other conditions + # if one of pkgs is already found + assert reporting.create_report.called == 1 + break + else: + # Assert for no NIS installed and configured packages + assert not reporting.create_report.called diff --git a/repos/system_upgrade/el8toel9/actors/nisscanner/actor.py b/repos/system_upgrade/el8toel9/actors/nisscanner/actor.py new file mode 100644 index 0000000..6a08713 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/nisscanner/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor.nisscan import NISScanLibrary +from leapp.models import NISConfig +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class NISScanner(Actor): + """ + Collect information about the NIS packages configuration. + """ + + name = 'nis_scanner' + consumes = () + produces = (NISConfig,) + tags = (FactsPhaseTag, IPUWorkflowTag,) + + def process(self): + NISScanLibrary().process() diff --git a/repos/system_upgrade/el8toel9/actors/nisscanner/libraries/nisscan.py b/repos/system_upgrade/el8toel9/actors/nisscanner/libraries/nisscan.py new file mode 100644 index 0000000..9910f74 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/nisscanner/libraries/nisscan.py @@ -0,0 +1,58 @@ +import os + +from leapp.libraries.stdlib import api +from leapp.models import NISConfig + +PACKAGES_NAMES = ('ypserv', 'ypbind') +YPBIND_CONF_FILE = '/etc/yp.conf' +YPSERV_DIR_PATH = '/var/yp' +YPSERV_DEFAULT_FILES = ('binding', 'Makefile', 'nicknames') + + +class NISScanLibrary: + """ + Helper library for NISScan actor. + """ + + def client_has_non_default_configuration(self): + """ + Check for any significant ypbind configuration lines in .conf file. + """ + if not os.path.isfile(YPBIND_CONF_FILE): + return False + + # Filter whitespaces and empty lines + with open(YPBIND_CONF_FILE) as f: + lines = [line.strip() for line in f.readlines() if line.strip()] + + for line in lines: + # Checks for any valid configuration entry + if not line.startswith('#'): + return True + return False + + def server_has_non_default_configuration(self): + """ + Check for any additional (not default) files in ypserv DIR. + """ + if not os.path.isdir(YPSERV_DIR_PATH): + return False + + return any(f not in YPSERV_DEFAULT_FILES for f in os.listdir(YPSERV_DIR_PATH)) + + def process(self): + """ + Check NIS pkgs configuration for the following options: + + - yp.conf custom configuration + - /var/yp not default entry + """ + pkgs = [] + + if self.server_has_non_default_configuration(): + pkgs.append('ypserv') + + if self.client_has_non_default_configuration(): + pkgs.append('ypbind') + + api.produce(NISConfig(nis_not_default_conf=pkgs)) diff --git a/repos/system_upgrade/el8toel9/actors/nisscanner/tests/test_nisscan.py b/repos/system_upgrade/el8toel9/actors/nisscanner/tests/test_nisscan.py new file mode 100644 index 0000000..ed000ce --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/nisscanner/tests/test_nisscan.py @@ -0,0 +1,82 @@ +import mock +import pytest +import six + +from leapp.libraries.actor import nisscan +from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked +from leapp.libraries.stdlib import api +from leapp.models import NISConfig + +# Examples of /etc/yp.conf configuration file (default and configured) +YPBIND_DEFAULT_CONF = """# /etc/yp.conf - ypbind configuration file +# Valid entries are +# +# domain NISDOMAIN server HOSTNAME +# Use server HOSTNAME for the domain NISDOMAIN""" + +YPBIND_CONFIGURED_CONF = """# /etc/yp.conf - ypbind configuration file +domain whoisredhat.redhat server prod-db + +domain whatisredhat.redhat server prod-db""" + + +@pytest.mark.parametrize('pkgs_installed', [ + ('ypserv',), + ('ypbind',), + ('ypserv-not-ypbind',), + ('ypbind', 'ypserv'), +]) +@pytest.mark.parametrize("fill_conf_file", [True, False]) +@pytest.mark.parametrize("fill_ypserv_dir", [True, False]) +def test_actor_nisscan(monkeypatch, pkgs_installed, fill_conf_file, fill_ypserv_dir): + """ + Parametrized helper function for test_actor_* functions. + + Run the actor fed with our mocked functions and assert + produced messages according to set arguments. + + Parameters: + pkgs_installed (tuple): installed pkgs + fill_conf_file (bool): not default ypbind config file + fill_ypserv_dir (bool): not default ypserv dir content + """ + + # Store final list of configured NIS packages + configured_pkgs = [] + + # Fill ypbind config + yp_conf_content = YPBIND_CONFIGURED_CONF if fill_conf_file else YPBIND_DEFAULT_CONF + + # Fill ypserv dir files + yp_dir_content = (nisscan.YPSERV_DEFAULT_FILES + ('example.com',) if fill_ypserv_dir + else nisscan.YPSERV_DEFAULT_FILES) + + # Mock 'isfile' & 'isdir' based on installed pkgs + mocked_isfile = 'ypbind' in pkgs_installed + mocked_isdir = 'ypserv' in pkgs_installed + + mock_config = mock.mock_open(read_data=yp_conf_content) + with mock.patch("builtins.open" if six.PY3 else "__builtin__.open", mock_config): + curr_actor_mocked = CurrentActorMocked() + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(api, "produce", produce_mocked()) + monkeypatch.setattr(nisscan.os, 'listdir', lambda dummy: yp_dir_content) + monkeypatch.setattr(nisscan.os.path, 'isfile', lambda dummy: mocked_isfile) + monkeypatch.setattr(nisscan.os.path, 'isdir', lambda dummy: mocked_isdir) + + # Executed actor fed with mocked functions + nisscan.NISScanLibrary().process() + + # Filter NIS pkgs + filtered_installed_pkgs = [x for x in pkgs_installed if x in nisscan.PACKAGES_NAMES] + + # Create correct list of pkgs for assert check + for pkg in filtered_installed_pkgs: + if (pkg == 'ypserv' and fill_ypserv_dir) or (pkg == 'ypbind' and fill_conf_file): + configured_pkgs.append(pkg) + + # Sort NISConfig objects + nisconf_template = set(NISConfig(nis_not_default_conf=configured_pkgs).nis_not_default_conf) + nisconf_result = set(api.produce.model_instances[0].nis_not_default_conf) + + assert nisconf_template == nisconf_result diff --git a/repos/system_upgrade/el8toel9/actors/nvidiaproprietarydriver/actor.py b/repos/system_upgrade/el8toel9/actors/nvidiaproprietarydriver/actor.py new file mode 100644 index 0000000..75f3f4a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/nvidiaproprietarydriver/actor.py @@ -0,0 +1,47 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import ActiveKernelModulesFacts +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class CheckNvidiaProprietaryDriver(Actor): + """ + Check if NVIDIA proprietary driver is in use. If yes, inhibit the upgrade process. + + Updating bare metal (or VM) with the binary NVIDIA driver will end up with a blacklisted nouveau. + + See also https://bugzilla.redhat.com/show_bug.cgi?id=2057026 + """ + + name = 'check_nvidia_proprietary_driver' + consumes = (ActiveKernelModulesFacts,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + + for fact in self.consume(ActiveKernelModulesFacts): + nvidia_driver_loaded = any('nvidia' in active_mod.filename for active_mod in fact.kernel_modules) + if nvidia_driver_loaded: + create_report([ + reporting.Title('Proprietary NVIDIA driver detected'), + reporting.Summary( + 'Leapp has detected that the NVIDIA proprietary driver has been loaded, which also means ' + 'the nouveau driver is blacklisted. If you upgrade now, you will end up without a ' + 'graphical session, as the newer kernel won\'t be able to load the NVIDIA driver module ' + 'and nouveau will still be blacklisted.' + '\n\n' + 'Please uninstall the NVIDIA graphics driver before upgrading to make sure you have a ' + 'graphical session after upgrading.' + ), + reporting.ExternalLink( + title='How to uninstall proprietary NVIDIA graphics driver and switch back to Red Hat ' + 'shipped nouveau graphics driver?', + url='https://access.redhat.com/solutions/421683' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Groups([reporting.Groups.KERNEL, reporting.Groups.DRIVERS]), + ]) + break diff --git a/repos/system_upgrade/el8toel9/actors/nvidiaproprietarydriver/tests/test_nvidiadriver.py b/repos/system_upgrade/el8toel9/actors/nvidiaproprietarydriver/tests/test_nvidiadriver.py new file mode 100644 index 0000000..36bb294 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/nvidiaproprietarydriver/tests/test_nvidiadriver.py @@ -0,0 +1,34 @@ +from leapp.models import ActiveKernelModule, ActiveKernelModulesFacts +from leapp.reporting import Report +from leapp.utils.report import is_inhibitor + + +def test_actor_with_nvidia_driver(current_actor_context): + with_nvidia = [ + ActiveKernelModule(filename='nvidia', parameters=[]), + ActiveKernelModule(filename='kvm', parameters=[])] + + current_actor_context.feed(ActiveKernelModulesFacts(kernel_modules=with_nvidia)) + current_actor_context.run() + report_fields = current_actor_context.consume(Report)[0].report + assert is_inhibitor(report_fields) + + +def test_actor_without_nvidia_driver(current_actor_context): + without_nvidia = [ + ActiveKernelModule(filename='i915', parameters=[]), + ActiveKernelModule(filename='kvm', parameters=[])] + + current_actor_context.feed(ActiveKernelModulesFacts(kernel_modules=without_nvidia)) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_with_nouveau_driver(current_actor_context): + without_nvidia = [ + ActiveKernelModule(filename='nouveau', parameters=[]), + ActiveKernelModule(filename='kvm', parameters=[])] + + current_actor_context.feed(ActiveKernelModulesFacts(kernel_modules=without_nvidia)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/actor.py b/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/actor.py new file mode 100644 index 0000000..17a0c01 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp.libraries.actor import opensshdropindirectory +from leapp.models import InstalledRedHatSignedRPM, OpenSshConfig +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class OpenSshDropInDirectory(Actor): + """ + The RHEL 9 provides default configuration file with an Include directive. + + If the configuration file was modified, it will not be replaced by the update + and we need to do couple of tweaks: + + * Insert Include directive as expected by the rest of the OS + * Verify the resulting configuration is valid + * The only potentially problematic option is "Subsystem", but it is kept in the + main sshd_config even in RHEL9 so there is no obvious upgrade path where it + could cause issues (unlike the Debian version). + + [1] https://bugzilla.mindrot.org/show_bug.cgi?id=3236 + """ + + name = 'open_ssh_drop_in_directory' + consumes = (OpenSshConfig, InstalledRedHatSignedRPM,) + produces = () + tags = (IPUWorkflowTag, ApplicationsPhaseTag,) + + def process(self): + opensshdropindirectory.process(self.consume(OpenSshConfig)) diff --git a/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/libraries/opensshdropindirectory.py b/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/libraries/opensshdropindirectory.py new file mode 100644 index 0000000..3b4b24f --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/libraries/opensshdropindirectory.py @@ -0,0 +1,67 @@ +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + +# The main SSHD configuration file +SSHD_CONFIG = '/etc/ssh/sshd_config' + +# The include directive needed, taken from RHEL9 sshd_config with leapp comment +INCLUDE = 'Include /etc/ssh/sshd_config.d/*.conf' +INCLUDE_BLOCK = ''.join(('# Added by leapp during upgrade from RHEL8 to RHEL9\n', INCLUDE, '\n')) + + +def prepend_string_if_not_present(f, content, check_string): + """ + This reads the open file descriptor and checks for presence of the `check_string`. + If not present, the `content` is prepended to the original content of the file and + result is written. + Note, that this requires opened file for both reading and writing, for example with: + + with open(path, r+') as f: + """ + lines = f.readlines() + for line in lines: + if line.lstrip().startswith(check_string): + # The directive is present + return + + # prepend it otherwise, also with comment + f.seek(0) + f.write(''.join((content, ''.join(lines)))) + + +def process(openssh_messages): + """ + The main logic of the actor: + * read the configuration file message + * skip if no action is needed + * package not installed + * the configuration file was not modified + * insert the include directive if it is not present yet + """ + config = next(openssh_messages, None) + if list(openssh_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSshConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssh configuration', details={'details': 'No OpenSshConfig facts found.'} + ) + + # If the package is not installed, there is no need to do anything + if not has_package(InstalledRedHatSignedRPM, 'openssh-server'): + return + + # If the configuration file was not modified, the rpm update will bring the new + # changes by itself + if not config.modified: + return + + # otherwise prepend the Include directive to the main sshd_config + api.current_logger().debug('Adding the Include directive to {}.' + .format(SSHD_CONFIG)) + try: + with open(SSHD_CONFIG, 'r+') as f: + prepend_string_if_not_present(f, INCLUDE_BLOCK, INCLUDE) + except (OSError, IOError) as error: + api.current_logger().error('Failed to modify the file {}: {} '.format(SSHD_CONFIG, error)) diff --git a/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/tests/test_opensshdropindirectory_prepend.py b/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/tests/test_opensshdropindirectory_prepend.py new file mode 100644 index 0000000..bccadf4 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensshdropindirectory/tests/test_opensshdropindirectory_prepend.py @@ -0,0 +1,44 @@ +import pytest + +from leapp.libraries.actor.opensshdropindirectory import prepend_string_if_not_present + + +class MockFile(object): + def __init__(self, path, content=None): + self.path = path + self.content = content + self.error = False + + def readlines(self): + return self.content.splitlines(True) + + def seek(self, n): + self.content = '' + + def write(self, content): + self.content = content + + +testdata = ( + ('', 'Prepend', 'Prepend', + 'Prepend'), # only prepend + ('Text', '', '', + 'Text'), # only text + ('Text', 'Prepend', 'Prepend', + 'PrependText'), # prepended text + ('Prepend\nText\n', 'Prepend', 'Prepend', + 'Prepend\nText\n'), # already present + ('Text\n', '# Comment\nPrepend\n', 'Prepend', + '# Comment\nPrepend\nText\n'), # different prepend than check string + ('Prepend\nText\n', '# Comment\nPrepend\n', 'Prepend', + 'Prepend\nText\n'), # different prepend than check string, already present +) + + +@pytest.mark.parametrize('file_content,prepend,check_string,expected', testdata) +def test_prepend_string_if_not_present(file_content, prepend, check_string, expected): + f = MockFile('/etc/ssh/sshd_config', file_content) + + prepend_string_if_not_present(f, prepend, check_string) + + assert f.content == expected diff --git a/repos/system_upgrade/el8toel9/actors/opensshdropindirectorycheck/actor.py b/repos/system_upgrade/el8toel9/actors/opensshdropindirectorycheck/actor.py new file mode 100644 index 0000000..19f0e44 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensshdropindirectorycheck/actor.py @@ -0,0 +1,64 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, OpenSshConfig, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class OpenSshDropInDirectoryCheck(Actor): + """ + Trigger a notice that the main sshd_config will be updated to contain + the Include directive so the other configuration files dropped by the + RHEL9 packages are effective. + + This might change the sshd behavior so it is advised to verify by the + customer that the updated system behaves as expected. + """ + + name = 'open_ssh_drop_in_directory_check' + consumes = (OpenSshConfig, InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag,) + + def process(self): + openssh_messages = self.consume(OpenSshConfig) + config = next(openssh_messages, None) + if list(openssh_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSshConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssh configuration', details={'details': 'No OpenSshConfig facts found.'} + ) + + # If the package is not installed, there is no need to do anything + if not has_package(InstalledRedHatSignedRPM, 'openssh-server'): + return + + # If the configuration file was not modified, the rpm update will bring the new + # changes by itself + if not config.modified: + return + + # otherwise we will prepend the Include directive to the main sshd_config + resources = [ + reporting.RelatedResource('package', 'openssh-server'), + reporting.RelatedResource('file', '/etc/ssh/sshd_config') + ] + reporting.create_report([ + reporting.Title('The upgrade will prepend the Include directive to OpenSSH sshd_config'), + reporting.Summary( + 'OpenSSH server configuration needs to be modified to contain Include directive ' + 'for the RHEL9 to work properly and integrate with the other parts of the OS. ' + 'The following snippet will be added to the /etc/ssh/sshd_config during the ' + 'ApplicationsPhase: `Include /etc/ssh/sshd_config.d/*.conf`' + ), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + ] + resources) diff --git a/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/actor.py b/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/actor.py new file mode 100644 index 0000000..14d8b88 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.libraries.actor import opensshsubsystemsftp +from leapp.models import InstalledRedHatSignedRPM, OpenSshConfig +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class OpenSshSubsystemSftp(Actor): + """ + The RHEL9 changes the SCP to use SFTP protocol internally. The both RHEL8 and RHEL9 + enable SFTP server by default, but if the user disabled the SFTP for some reason, + it might make sense to warn that some previously working SCP operations could stop + working. + """ + + name = 'open_ssh_subsystem_sftp' + consumes = (OpenSshConfig, InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + opensshsubsystemsftp.process(self.consume(OpenSshConfig)) diff --git a/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/libraries/opensshsubsystemsftp.py b/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/libraries/opensshsubsystemsftp.py new file mode 100644 index 0000000..3264a8d --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/libraries/opensshsubsystemsftp.py @@ -0,0 +1,50 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api + + +def process(openssh_messages): + config = next(openssh_messages, None) + if list(openssh_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSshConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssh configuration', details={'details': 'No OpenSshConfig facts found.'} + ) + + # not modified configuration will get updated by RPM automatically + if not config.modified: + return + + if not config.subsystem_sftp: + resources = [ + reporting.RelatedResource('package', 'openssh-server'), + reporting.RelatedResource('file', '/etc/ssh/sshd_config'), + reporting.ExternalLink( + title="SCP support in RHEL", + url="https://access.redhat.com/articles/5284081", + ), + reporting.ExternalLink( + title="OpenSSH SCP deprecation in RHEL 9: What you need to know ", + url="https://red.ht/rhel-9-blog-openssh-scp-deprecation", + ), + ] + reporting.create_report([ + reporting.Title('OpenSSH configured without SFTP subsystem'), + reporting.Summary( + 'The RHEL9 is changing the default SCP behaviour to use SFTP internally ' + 'so not having SFTP server enabled can prevent interoperability and break existing ' + 'scripts on other systems updated to RHEL9 to copy files to or from this machine.' + ), + reporting.Remediation( + hint='Add the following line to the /etc/ssh/sshd_config to enable SFTP server: ' + 'Subsystem sftp /usr/libexec/openssh/sftp-server' + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + ] + resources) diff --git a/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/tests/test_opensshsubsystemsftp.py b/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/tests/test_opensshsubsystemsftp.py new file mode 100644 index 0000000..4e3c2ac --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensshsubsystemsftp/tests/test_opensshsubsystemsftp.py @@ -0,0 +1,33 @@ +import pytest + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor import opensshsubsystemsftp +from leapp.models import OpenSshConfig, Report + + +def test_no_config(current_actor_context): + with pytest.raises(StopActorExecutionError): + opensshsubsystemsftp.process(iter([])) + + +@pytest.mark.parametrize('modified,subsystem,expected_report', [ + (False, None, False), # should not happen + (False, '/usr/libexec/openssh/sftp-server', False), # Defaults + (True, None, True), + (True, 'internal-sftp', False), + (True, '/usr/libexec/openssh/sftp-server', False) +]) +def test_subsystem(current_actor_context, modified, subsystem, expected_report): + conf = OpenSshConfig( + modified=modified, + permit_root_login=[], + deprecated_directives=[] + ) + if subsystem is not None: + conf.subsystem_sftp = subsystem + current_actor_context.feed(conf) + current_actor_context.run() + if expected_report: + assert current_actor_context.consume(Report) + else: + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/actor.py b/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/actor.py new file mode 100644 index 0000000..41d8bf5 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/actor.py @@ -0,0 +1,81 @@ +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.actor.opensslconfigcheck import ( + check_crypto_policies, + check_default_modules, + check_duplicate_extensions, + check_min_max_protocol +) +from leapp.libraries.stdlib import api +from leapp.models import OpenSslConfig, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class OpenSslConfigCheck(Actor): + """ + The OpenSSL configuration changed between RHEL8 and RHEL9 significantly with the rebase to + OpenSSL 3.0. There are several things to check: + + * If the file was not modified by user, the RPM will take care of the upgrade + * The file was modified and for some reason the link to the system-wide crypto + policies is missing -- this is not recommended so we should warn users about that + * The new OpenSSL 3.0 is using providers so we need to add them to the configuration + file to make sure they behave the same way as when the original configuration file + is used, especially for FIPS mode. + """ + + name = 'open_ssl_config_check' + consumes = (OpenSslConfig,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag,) + + def process(self): + openssl_messages = self.consume(OpenSslConfig) + config = next(openssl_messages, None) + if list(openssl_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSslConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssl configuration', details={'details': 'No OpenSslConfig facts found.'} + ) + + # If the configuration file was not modified, the rpm update will bring the new + # changes by itself + if not config.modified: + return + + # Missing crypto policies is not recommended + check_crypto_policies(config) + + # MinProtocol and MaxProtocol in [tls_system_default] changed their meaning + check_min_max_protocol(config) + + # If the configuration file contains several X509 extensions with the same name, + # only the last one will be used. + check_duplicate_extensions(config) + + # Check and report what we are going to rewrite. + # + # Change the initialization: + # + # - openssl_conf = default_modules + # + openssl_conf = openssl_init + # + # Rename the default block and link the providers block: + # + # - [default_modules] + # + [openssl_init] + # + providers = provider_sect + # + # Add the providers block: + # + # + [provider_sect] + # + default = default_sect + # + ##legacy = legacy_sect + # + + # + [default_sect] + # + activate = 1 + # + + # + ##[legacy_sect] + # + ##activate = 1 + check_default_modules(config) diff --git a/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/libraries/opensslconfigcheck.py b/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/libraries/opensslconfigcheck.py new file mode 100644 index 0000000..f36a62e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/libraries/opensslconfigcheck.py @@ -0,0 +1,354 @@ +from leapp import reporting +from leapp.libraries.stdlib import api + + +def _normalize_key(key): + """ + Strip the part of the key before the first dot + """ + s = key.split(".", 1) + if len(s) == 2: + return s[1] + return key + + +def _key_equal(pair, key): + """ + Check the keys are equal in OpenSSL configuration semantics + + The OpenSSL semantics ignores everything before the first dot to allow specifying + something like following, where the first line would be otherwise normally ignored + + TLS.MaxProtocol = TLSv1.3 + DTLS.MaxProtocol = DTLSv1.2 + """ + if pair.key == key: + return True + return _normalize_key(pair.key) == key + + +def _find_pair(block, key): + """ + Find key-value pair in the given configuration block + + In the given configuration block (OpenSslConfigBlock) find a key-value with a given key. + If multiple values match, only the last one is returned. + """ + res = None + for pair in block.pairs: + if _key_equal(pair, key): + res = pair + + return res + + +def _openssl_find_block(config, name): + """ + In the given configuration file (OpenSslConfig) find a block with a given name + """ + for block in config.blocks: + if block.name == name: + return block + + return None + + +def _openssl_reachable_block(config, start_name, end_name, limit=10): + """ + Check if the end_name is reachable from the start_name in given config + + This searches path between one block name and some other block name in a chain + like (the names in square braces are block names, the other keys pointing to another + block in the chain) + [default_modules] -> ssl_conf -> [ssl_module] -> system_default -> [crypto_policy] + using simple recursion. The end block name is not checked for presence so it can + be just value. + """ + if limit <= 0: + api.current_logger().debug("Recursion limit reached while searching for {}." + .format(end_name)) + return False + + if start_name == end_name: + return True + + start = _openssl_find_block(config, start_name) + if not start: + api.current_logger().debug("Starting block {} not found in current configuration" + .format(start_name)) + return False + + for pair in start.pairs: + if pair.value == end_name: + return True + block = _openssl_find_block(config, pair.value) + if block and _openssl_reachable_block(config, block.name, end_name, limit - 1): + return True + + return False + + +def _openssl_reachable_block_root(config, end_name, limit=10): + """ + Check if the given block is reachable from the root block given in the config. + """ + return _openssl_reachable_block(config, config.openssl_conf, end_name, limit) + + +def _openssl_reachable_key(config, key, value=None): + """ + Check if the key=value pair is reachable from the root block. + + If no value is specified, any value assigned to the given key is matched. + """ + for block in config.blocks: + for pair in block.pairs: + if _key_equal(pair, key) and (value is None or pair.value == value): + api.current_logger().debug("The key {} found in block {}" + .format(key, block.name)) + if _openssl_reachable_block_root(config, block.name): + api.current_logger().debug("The block {} is reachable from the start key {}" + .format(block.name, config.openssl_conf)) + return True + + api.current_logger().debug("The key {} not found".format(key)) + return False + + +# pylint: disable=too-many-return-statements -- could not simplify more +def _openssl_reachable_path(config, path, value=None): + """ + Check if the given path is reachable in OpenSSL configuration + + The path is list where to search for a value. It is a list of keys starting + with a section of a known name followed by key to search for in that section + and then another section, which is assigned to that key. + + If no value is specified, any value assigned to the given key is matched. + """ + path_iterator = iter(path) + block_name = next(path_iterator) + if not _openssl_reachable_block_root(config, block_name): + api.current_logger().debug("The block {} not reachable from the start key {}" + .format(block_name, config.openssl_conf)) + return False + + while block_name and block_name != value: + # Find in the block by name + block = _openssl_find_block(config, block_name) + if not block: + api.current_logger().debug("Block {} not found in current configuration" + .format(block_name)) + return False + + try: + key = next(path_iterator) + except StopIteration: + api.current_logger().debug("Missing key in the path") + return False + + # Find the pair in block + pair = _find_pair(block, key) + if not pair: + api.current_logger().debug("Key {} not found in block {}".format(key, block_name)) + return False + + try: + block_name = next(path_iterator) + except StopIteration: + # if there are no other parts in the path and the value is the one we look for, stop + if pair.value == value or value is None: + api.current_logger().debug("Found reachable value {}".format(pair.value)) + return True + + # otherwise make sure it is the expected one + if pair.value != block_name: + return False + + api.current_logger().debug("Value {} not reachable in current configuration".format(value)) + return False + + +def _find_duplicates(config, block_name): + """ + Finds duplicate keys in given block name + """ + block = _openssl_find_block(config, block_name) + if not block: + api.current_logger().debug("Did not find a block {} when searching for duplicates" + .format(block_name)) + return [] + + duplicates = [] + # not most effective + for p in block.pairs: + for p2 in block.pairs: + key = _normalize_key(p.key) + if p != p2 and key == _normalize_key(p2.key) and key not in duplicates: + duplicates.append(key) + + return duplicates + + +def _openssl_duplicate_keys_in(config, key): + """ + Search for duplicate keys in block named "key" + + Used for searching for duplicate extensions. The given key can be defined in different + blocks and references a block where we search for duplicate keys with the openssl specific + name handling (ignoring content before the dot). + """ + duplicates = [] + + # first find all the keys in all the blocks with the given name + for block in config.blocks: + for pair in block.pairs: + if _key_equal(pair, key): + duplicates += _find_duplicates(config, pair.value) + + return duplicates + + +resources = [ + reporting.RelatedResource('package', 'openssl'), + reporting.RelatedResource('file', '/etc/pki/tls/openssl.cnf') +] + + +def check_crypto_policies(config): + """ + Check the presence of the crypto policies include + + The default openssl.cnf provides include of dynamic crypto policies to keep + applications using OpenSSL in sync with the rest of the OS. Not having this + directive in the configuration file is not recommended. + """ + if not _openssl_reachable_path(config, + path=("default_modules", "ssl_conf", "ssl_module", + "system_default", "crypto_policy", ".include"), + value="/etc/crypto-policies/back-ends/opensslcnf.config"): + reporting.create_report([ + reporting.Title('The OpenSSL configuration is missing the crypto policies integration'), + reporting.Summary( + 'The OpenSSL configuration file `/etc/pki/tls/openssl.cnf` does not contain the ' + 'directive to include the system-wide crypto policies. This is not recommended ' + 'by Red Hat and can lead to decreasing overall system security and inconsistent ' + 'behavior between applications. If you need to adjust the crypto policies to your ' + 'needs, it is recommended to use custom crypto policies.' + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.AUTHENTICATION, + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + reporting.RelatedResource('package', 'crypto-policies'), + ] + resources) + + +def check_min_max_protocol(config): + """ + Check for the MinProtocol and MaxProtocol options + + These options changed their meaning in openssl.cnf so better warn the user + """ + if _openssl_reachable_key(config, "MinProtocol") or _openssl_reachable_key(config, "MaxProtocol"): + reporting.create_report([ + reporting.Title('The meaning of MinProtocol and MaxProtocol in openssl.cnf changed'), + reporting.Summary( + 'The OpenSSL configuration file `/etc/pki/tls/openssl.cnf` contain the ' + 'directive MinProtocol or MaxProtocol, which was previously applied to both ' + 'TLS and DTLS versions. This is no longer case and if you want to limit both ' + 'protocols, you need to add another option, for example for ' + '`MinProtocol TLSv1.2` add the following line `DTLS.MinProtocol = DTLSv1.2`.' + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + ] + resources) + + +def check_duplicate_extensions(config): + dup = _openssl_duplicate_keys_in(config, "x509_extensions") + if dup: + reporting.create_report([ + reporting.Title('There are duplicate x509 extensions defined in openssl.cnf'), + reporting.Summary( + 'The OpenSSL configuration file `/etc/pki/tls/openssl.cnf` contains the ' + 'following duplicate X509 extensions: {}. With OpenSSL 3.0 only the last defined ' + 'will get used. Please, review the configuration file and remove duplicate ' + 'extensions to silence this warning.'.format(', '.join(dup)) + ), + reporting.Severity(reporting.Severity.LOW), + reporting.Groups([ + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + ] + resources) + + +def check_default_modules(config): + if config.openssl_conf != "default_modules" or not _openssl_find_block(config, "default_modules"): + reporting.create_report([ + reporting.Title('Non-standard configuration of openssl.cnf'), + reporting.Summary( + 'The OpenSSL configuration file `/etc/pki/tls/openssl.cnf` does not contain ' + 'expected initialization so it can not be updated to support OpenSSL 3.0 ' + 'with the new providers.' + ), + reporting.Remediation( + 'The openssl.cnf file needs to contain the following initialization: ' + '`openssl_conf = default_modules` and corresponding `[ default_modules] ' + 'block. The `openssl_conf` now contains {} or the `[ default_modules ]` ' + 'block is missing. '.format(config.openssl_conf) + ), + reporting.Groups([reporting.Groups.INHIBITOR]), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + ] + resources) + else: + reporting.create_report([ + reporting.Title('The OpenSSL configuration will be updated to support OpenSSL 3.0'), + reporting.Summary( + 'The OpenSSL configuration file `/etc/pki/tls/openssl.cnf` will be updated ' + 'to support OpenSSL 3.0 with the new providers. The following changes are ' + 'going to be applied:\n' + ' * Change the initialization:\n' + '\n' + ' - openssl_conf = default_modules\n' + ' + openssl_conf = openssl_init\n' + '\n' + ' * Rename the default block and link the providers block:\n' + '\n' + ' - [default_modules]\n' + ' + [openssl_init]\n' + ' + providers = provider_sect\n' + '\n' + ' * Add the providers block:\n' + '\n' + ' + [provider_sect]\n' + ' + default = default_sect\n' + ' + ##legacy = legacy_sect\n' + ' + \n' + ' + [default_sect]\n' + ' + activate = 1\n' + ' + \n' + ' + ##[legacy_sect]\n' + ' + ##activate = 1\n' + ), + reporting.Severity(reporting.Severity.INFO), + reporting.Groups([ + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + ] + resources) diff --git a/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/tests/component_test_opensslconfigcheck.py b/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/tests/component_test_opensslconfigcheck.py new file mode 100644 index 0000000..d3363de --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/tests/component_test_opensslconfigcheck.py @@ -0,0 +1,189 @@ +from leapp.models import OpenSslConfig, OpenSslConfigBlock, OpenSslConfigPair, Report + + +def test_actor_execution_empty(current_actor_context): + current_actor_context.feed( + OpenSslConfig( + blocks=[], + # modified=False, # default + ) + ) + current_actor_context.run() + assert not current_actor_context.consume(Report) + + +def test_actor_execution_empty_modified(current_actor_context): + current_actor_context.feed( + OpenSslConfig( + blocks=[], + modified=True, + ) + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert 'missing the crypto policies integration' in r[0].report['title'] + + +def test_actor_execution_default_modified(current_actor_context): + current_actor_context.feed( + OpenSslConfig( + openssl_conf='default_modules', + blocks=[ + OpenSslConfigBlock( + name="default_modules", + pairs=[ + OpenSslConfigPair( + key="ssl_conf", + value="ssl_module" + ) + ] + ), + OpenSslConfigBlock( + name="ssl_module", + pairs=[ + OpenSslConfigPair( + key="system_default", + value="crypto_policy" + ) + ] + ), + OpenSslConfigBlock( + name="crypto_policy", + pairs=[ + OpenSslConfigPair( + key=".include", + value="/etc/crypto-policies/back-ends/opensslcnf.config" + ) + ] + ), + ], + modified=True, + ) + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert 'The OpenSSL configuration will be updated to support OpenSSL 3.0' in r[0].report['title'] + + +def test_actor_execution_minprotocol_modified(current_actor_context): + current_actor_context.feed( + OpenSslConfig( + openssl_conf='default_modules', + blocks=[ + OpenSslConfigBlock( + name="default_modules", + pairs=[ + OpenSslConfigPair( + key="ssl_conf", + value="ssl_module" + ) + ] + ), + OpenSslConfigBlock( + name="ssl_module", + pairs=[ + OpenSslConfigPair( + key="system_default", + value="crypto_policy" + ) + ] + ), + OpenSslConfigBlock( + name="crypto_policy", + pairs=[ + OpenSslConfigPair( + key=".include", + value="/etc/crypto-policies/back-ends/opensslcnf.config" + ) + ] + ), + OpenSslConfigBlock( + name="crypto_policy", + pairs=[ + OpenSslConfigPair( + key="TLS.MinProtocol", + value="TLSv1.2" + ), + ] + ) + ], + modified=True, + ) + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert 'MinProtocol and MaxProtocol' in r[0].report['title'] + assert 'The OpenSSL configuration will be updated to support OpenSSL 3.0' in r[1].report['title'] + + +def test_actor_execution_duplicate_extensions_modified(current_actor_context): + current_actor_context.feed( + OpenSslConfig( + openssl_conf='default_modules', + blocks=[ + OpenSslConfigBlock( + name="default_modules", + pairs=[ + OpenSslConfigPair( + key="ssl_conf", + value="ssl_module" + ) + ] + ), + OpenSslConfigBlock( + name="ssl_module", + pairs=[ + OpenSslConfigPair( + key="system_default", + value="crypto_policy" + ) + ] + ), + OpenSslConfigBlock( + name="crypto_policy", + pairs=[ + OpenSslConfigPair( + key=".include", + value="/etc/crypto-policies/back-ends/opensslcnf.config" + ) + ] + ), + OpenSslConfigBlock( + name="req", + pairs=[ + OpenSslConfigPair( + key="x509_extensions", + value="v3_ca", + ), + ] + ), + OpenSslConfigBlock( + name="v3_ca", + pairs=[ + OpenSslConfigPair( + key="keyUsage", + value="cRLSign, keyCertSign", + ), + OpenSslConfigPair( + key="keyUsage", + value="cRLSign", + ), # yay, duplicate + OpenSslConfigPair( + key="keyUsage", + value="keyCertSign", + ), # yay, duplicate + ] + ), + ], + modified=True, + ) + ) + current_actor_context.run() + r = current_actor_context.consume(Report) + assert r + assert 'duplicate x509 extensions' in r[0].report['title'] + assert 'keyUsage' in r[0].report['summary'] + assert 'The OpenSSL configuration will be updated to support OpenSSL 3.0' in r[1].report['title'] diff --git a/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/tests/test_reachable.py b/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/tests/test_reachable.py new file mode 100644 index 0000000..9404b58 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslconfigcheck/tests/test_reachable.py @@ -0,0 +1,308 @@ +from leapp.libraries.actor.opensslconfigcheck import ( + _find_duplicates, + _find_pair, + _key_equal, + _normalize_key, + _openssl_duplicate_keys_in, + _openssl_find_block, + _openssl_reachable_block, + _openssl_reachable_block_root, + _openssl_reachable_key, + _openssl_reachable_path +) +from leapp.models import OpenSslConfig, OpenSslConfigBlock, OpenSslConfigPair + + +def _setup_config(): + return OpenSslConfig( + openssl_conf="default_modules", + blocks=[ + OpenSslConfigBlock( + name="default_modules", + pairs=[ + OpenSslConfigPair( + key="ssl_conf", + value="ssl_module", + ) + ] + ), + OpenSslConfigBlock( + name="ssl_module", + pairs=[ + OpenSslConfigPair( + key="system_default", + value="crypto_policy", + ) + ] + ), + OpenSslConfigBlock( + name="crypto_policy", + pairs=[ + OpenSslConfigPair( + key=".include", + value="/etc/crypto-policies/back-ends/opensslcnf.config", + ) + ] + ), + OpenSslConfigBlock( + name="tsa", + pairs=[ + OpenSslConfigPair( + key="1.default_tsa", + value="tsa_config1", + ), + OpenSslConfigPair( + key="2.default_tsa", + value="tsa_config2", + ) + ] + ), + OpenSslConfigBlock( + name="ca", + pairs=[ + OpenSslConfigPair( + key="default_ca", + value="CA_default", + ), + ] + ), + OpenSslConfigBlock( + name="CA_default", + pairs=[ + OpenSslConfigPair( + key="x509_extensions", + value="usr_cert", + ), + ] + ), + OpenSslConfigBlock( + name="usr_cert", + pairs=[ + OpenSslConfigPair( + key="subjectKeyIdentifier", + value="hash", + ), + OpenSslConfigPair( + key="basicConstraints", + value="critical,CA:true", + ), + OpenSslConfigPair( + key="keyUsage", + value="nonRepudiation, digitalSignature, keyEncipherment", + ), + OpenSslConfigPair( + key="subjectAltName", + value="email:copy", + ), + OpenSslConfigPair( + key="subjectAltName", + value="email:move", + ), # yay, duplicate + ] + ), + OpenSslConfigBlock( + name="req", + pairs=[ + OpenSslConfigPair( + key="default_bits", + value="2048", + ), + OpenSslConfigPair( + key="default_md", + value="sha256", + ), + OpenSslConfigPair( + key="x509_extensions", + value="v3_ca", + ), + ] + ), + OpenSslConfigBlock( + name="v3_ca", + pairs=[ + OpenSslConfigPair( + key="subjectKeyIdentifier", + value="hash", + ), + OpenSslConfigPair( + key="basicConstraints", + value="critical,CA:true", + ), + OpenSslConfigPair( + key="keyUsage", + value="cRLSign, keyCertSign", + ), + OpenSslConfigPair( + key="keyUsage", + value="cRLSign", + ), # yay, duplicate + OpenSslConfigPair( + key="keyUsage", + value="keyCertSign", + ), # yay, duplicate + ] + ), + ] + ) + + +def test_normalize_key(): + assert _normalize_key("default_tsa") == "default_tsa" + + # TODO this is questionable, but probably ok + assert _normalize_key(".include") == "include" + + assert _normalize_key("DTLS.MaxProtocol") == "MaxProtocol" + + assert _normalize_key("DTLS.TLS.MaxProtocol") == "TLS.MaxProtocol" + + +def test_key_equal(): + pair = OpenSslConfigPair(key="default_tsa", value="tsa_config1") + assert _key_equal(pair, "default_tsa") + + pair = OpenSslConfigPair(key="default_tsa", value="tsa_config1") + assert not _key_equal(pair, "tsa") + + pair = OpenSslConfigPair(key=".include", value="/some/path") + assert _key_equal(pair, ".include") + + # TODO this is questionable, but probably ok + pair = OpenSslConfigPair(key=".include", value="/some/path") + assert _key_equal(pair, "include") + + pair = OpenSslConfigPair(key="DTLS.MaxProtocol", value="DTLSv1.2") + assert _key_equal(pair, "MaxProtocol") + + pair = OpenSslConfigPair(key="DTLS.TLS.MaxProtocol", value="DTLSv1.2") + assert not _key_equal(pair, "MaxProtocol") + + +def test_find(): + config = _setup_config() + + result = _openssl_find_block(config, 'default_modules') + assert result.name == 'default_modules' + pair = _find_pair(result, 'ssl_conf') + assert pair.key == 'ssl_conf' + assert pair.value == 'ssl_module' + + result = _openssl_find_block(config, 'ssl_module') + assert result.name == 'ssl_module' + pair = _find_pair(result, 'system_default') + assert pair.key == 'system_default' + assert pair.value == 'crypto_policy' + + result = _openssl_find_block(config, 'crypto_policy') + assert result.name == 'crypto_policy' + pair = _find_pair(result, '.include') + assert pair.key == '.include' + assert pair.value == '/etc/crypto-policies/back-ends/opensslcnf.config' + + assert _find_pair(result, 'nonexisting') is None + + assert _openssl_find_block(config, 'nonexisting') is None + + # duplicates + b = _openssl_find_block(config, "tsa") + assert b + p = _find_pair(b, "default_tsa") + assert p.key == "2.default_tsa" + assert p.value == "tsa_config2" + + +def test_reachable_block(): + config = _setup_config() + + assert _openssl_reachable_block_root(config, "default_modules") + + assert _openssl_reachable_block_root(config, "ssl_module") + + assert _openssl_reachable_block_root(config, "crypto_policy") + + assert not _openssl_reachable_block_root(config, "crypto_policy", 1) + + assert not _openssl_reachable_block_root(config, "tsa") + + # searching from arbitrary block + assert _openssl_reachable_block(config, "tsa", "tsa_config1") + + # non-existent start key + assert not _openssl_reachable_block(config, "ecdsa", "crypto_policy") + + +def test_reachable_path(): + config = _setup_config() + + assert _openssl_reachable_path(config, + ("default_modules", "ssl_conf", "ssl_module", "system_default", + "crypto_policy", ".include"), + "/etc/crypto-policies/back-ends/opensslcnf.config") + + assert _openssl_reachable_path(config, + ("ssl_module", "system_default"), + "crypto_policy") + + # missing key in the path + assert not _openssl_reachable_path(config, + ("ssl_module", "system_default", "crypto_policy"), + "crypto_policy") + + # non continuous path/wrong value in path + assert not _openssl_reachable_path(config, + ("ssl_module", "tsa"), + "tsa_config1") + + # wrong value + assert not _openssl_reachable_path(config, + ("ssl_module", "system_default"), + ".include") + + # not reachable from the root + assert not _openssl_reachable_path(config, + ("tsa", "default_tsa"), + "tsa_config1") + + # any value + assert _openssl_reachable_path(config, ("ssl_module", "system_default")) + assert not _openssl_reachable_path(config, ("ssl_module", "tsa")) + + +def test_reachable_key(): + config = _setup_config() + + assert _openssl_reachable_key(config, "system_default") + assert _openssl_reachable_key(config, "system_default", "crypto_policy") + assert not _openssl_reachable_key(config, "tsa") + assert not _openssl_reachable_key(config, "default_tsa", "tsa_config2") + + +def test_find_duplicates(): + config = _setup_config() + + d = _find_duplicates(config, "non-existent") + assert len(d) == 0 + + d = _find_duplicates(config, "default_modules") + assert len(d) == 0 + + d = _find_duplicates(config, "tsa") + assert len(d) == 1 + assert d[0] == 'default_tsa' + + d = _find_duplicates(config, "v3_ca") + assert len(d) == 1 + assert d[0] == 'keyUsage' + + d = _find_duplicates(config, "usr_cert") + assert len(d) == 1 + assert d[0] == 'subjectAltName' + + +def test_duplicate_keys_in(): + config = _setup_config() + + d = _openssl_duplicate_keys_in(config, "x509_extensions") + assert len(d) == 2 + assert 'keyUsage' in d + assert 'subjectAltName' in d diff --git a/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/actor.py b/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/actor.py new file mode 100644 index 0000000..892f1ab --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/actor.py @@ -0,0 +1,18 @@ +from leapp.actors import Actor +from leapp.libraries.actor import readconf +from leapp.models import OpenSslConfig +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class OpenSslConfigScanner(Actor): + """ + Read an OpenSSL configuration file for further analysis. + """ + + name = 'open_ssl_config_scanner' + consumes = () + produces = (OpenSslConfig,) + tags = (FactsPhaseTag, IPUWorkflowTag,) + + def process(self): + readconf.scan_config(self.produce) diff --git a/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/libraries/readconf.py b/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/libraries/readconf.py new file mode 100644 index 0000000..e103703 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/libraries/readconf.py @@ -0,0 +1,97 @@ +import errno + +from leapp.libraries.common.rpms import check_file_modification +from leapp.libraries.stdlib import api +from leapp.models import OpenSslConfig, OpenSslConfigBlock, OpenSslConfigPair + +CONFIG = '/etc/pki/tls/openssl.cnf' + + +def strip_whitespace_and_comments(line): + """ + Returns everything before the first hash sign after stripping leading and trailing whitespace + """ + parts = line.split("#", 1) + return parts[0].strip() + + +def parse_config(config): + """ + Parse openssl.cnf configuration + """ + ret = OpenSslConfig(blocks=[]) + + block = None + for line in config: + line = strip_whitespace_and_comments(line) + if not line: + continue + + # match the block header + if line[0] == "[" and line[-1] == "]": + name = line[1:-1].strip() + block = OpenSslConfigBlock(name=name, pairs=[]) + ret.blocks.append(block) + continue + + # the rest values are key-value pairs separated with equal sign + el = line.split('=', 1) + if len(el) < 2: + # The special options .include and .pragma can appear without the equal sign + if el[0].startswith('.include '): + key = ".include" + value = el[0][8:].strip() + # elif el.startswith('.pragma '): + # we do not care about this option now + else: + continue + else: + key = el[0].strip() + value = el[1].strip() + + if block: + pair = OpenSslConfigPair(key=key, value=value) + block.pairs.append(pair) + continue + + if key == 'openssl_conf': + ret.openssl_conf = value + + return ret + + +def produce_config(producer, config): + """ + Produce a Leapp message with all interesting openssl configuration options. + """ + + producer(config) + + +def read_config(): + """ + Read the actual configuration file. + """ + try: + with open(CONFIG, 'r') as fd: + return fd.readlines() + except IOError as err: + if err.errno != errno.ENOENT: + error = 'Failed to read config: {}'.format(str(err)) + api.current_logger().error(error) + return [] + + +def scan_config(producer): + """ + Parse openssl.cnf file to create OpenSslConfig message. + """ + + # direct access to configuration file + output = read_config() + config = parse_config(output) + + # find out whether the file was modified from the one shipped in rpm + config.modified = check_file_modification(CONFIG) + + produce_config(producer, config) diff --git a/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/tests/test_opensslconfigscanner.py b/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/tests/test_opensslconfigscanner.py new file mode 100644 index 0000000..a8e11d7 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslconfigscanner/tests/test_opensslconfigscanner.py @@ -0,0 +1,146 @@ +import pytest + +from leapp.libraries.actor.readconf import parse_config, produce_config, strip_whitespace_and_comments +from leapp.models import OpenSslConfig, OpenSslConfigBlock, OpenSslConfigPair + +testdata = ( + ('key = value', 'key = value'), # normal formatting + (' key = value ', 'key = value'), # trailing and leading whitespace + (' key = value ', 'key = value'), # whitespace in between is kept + ('[ section ]', '[ section ]'), # normal section formatting + (' [ section ] ', '[ section ]'), # trailing and leading whitespace + ('[ section ]', '[ section ]'), # whitespace in braces is kept + ('# comment', ''), # only comment + (' # comment ', ''), # only comment with whitespace + ('key = value# comment', 'key = value'), # key value with comment + ('key = value # comment', 'key = value'), # key value with comment and more whitespace + ('[ section ]# comment', '[ section ]'), # the section with comment + ('[ section ] # comment', '[ section ]'), # the section with comment and more whitespace +) + + +@pytest.mark.parametrize('line,expected_result', testdata) +def test_strip_whitespace_and_comments(line, expected_result): + result = strip_whitespace_and_comments(line) + assert result == expected_result + + +def test_parse_config(): + config = [ + "# comment from file", + "", # empty line + " ", # whitespace line + "HOME = .", # ignored before the start of block + "openssl_conf = default_modules", # the start key + "# key = value in comment", # ignored + "HOME = .", # ignored again + "[ default_modules ]", # first block + "ssl_conf = ssl_module", + "[ ssl_module ]", + "system_default = crypto_policy", + "[ crypto_policy ]", + "# key = value in comment", # ignored + ".include = /etc/crypto-policies/back-ends/opensslcnf.config", + ] + + output = parse_config(config) + assert isinstance(output, OpenSslConfig) + assert output.openssl_conf == "default_modules" + assert len(output.blocks) == 3 + assert output.blocks[0].name == "default_modules" + assert len(output.blocks[0].pairs) == 1 + assert output.blocks[0].pairs[0].key == "ssl_conf" + assert output.blocks[0].pairs[0].value == "ssl_module" + assert output.blocks[1].name == "ssl_module" + assert len(output.blocks[1].pairs) == 1 + assert output.blocks[1].pairs[0].key == "system_default" + assert output.blocks[1].pairs[0].value == "crypto_policy" + assert output.blocks[2].name == "crypto_policy" + assert len(output.blocks[2].pairs) == 1 + assert output.blocks[2].pairs[0].key == ".include" + assert output.blocks[2].pairs[0].value == "/etc/crypto-policies/back-ends/opensslcnf.config" + + +def test_parse_config_empty(): + output = parse_config([]) + assert isinstance(output, OpenSslConfig) + assert not output.openssl_conf + assert len(output.blocks) == 0 + + +def test_parse_config_bare_include(): + config = [ + "[ crypto_policy ]", + ".include /etc/crypto-policies/back-ends/opensslcnf.config", + ] + output = parse_config(config) + assert isinstance(output, OpenSslConfig) + assert not output.openssl_conf + assert len(output.blocks) == 1 + assert output.blocks[0].name == "crypto_policy" + assert len(output.blocks[0].pairs) == 1 + assert output.blocks[0].pairs[0].key == ".include" + assert output.blocks[0].pairs[0].value == "/etc/crypto-policies/back-ends/opensslcnf.config" + + +def test_produce_config(): + output = [] + + def fake_producer(*args): + output.extend(args) + + config = OpenSslConfig( + openssl_conf="default_modules", + blocks=[ + OpenSslConfigBlock( + name="default_modules", + pairs=[ + OpenSslConfigPair( + key="ssl_conf", + value="ssl_module" + ) + ] + ), + OpenSslConfigBlock( + name="ssl_module", + pairs=[ + OpenSslConfigPair( + key="system_default", + value="crypto_policy" + ) + ] + ), + OpenSslConfigBlock( + name="crypto_policy", + pairs=[ + OpenSslConfigPair( + key=".include", + value="/etc/crypto-policies/back-ends/opensslcnf.config" + ) + ] + ) + ] + ) + + produce_config(fake_producer, config) + assert len(output) == 1 + cfg = output[0] + assert cfg.openssl_conf == "default_modules" + assert len(cfg.blocks) == 3 + assert cfg.blocks[0].name == "default_modules" + assert len(cfg.blocks[0].pairs) == 1 + assert cfg.blocks[0].pairs[0].key == "ssl_conf" + assert cfg.blocks[0].pairs[0].value == "ssl_module" + assert cfg.blocks[1].name == "ssl_module" + assert len(cfg.blocks[1].pairs) == 1 + assert cfg.blocks[1].pairs[0].key == "system_default" + assert cfg.blocks[1].pairs[0].value == "crypto_policy" + assert cfg.blocks[2].name == "crypto_policy" + assert len(cfg.blocks[2].pairs) == 1 + assert cfg.blocks[2].pairs[0].key == ".include" + assert cfg.blocks[2].pairs[0].value == "/etc/crypto-policies/back-ends/opensslcnf.config" + + +def test_actor_execution(current_actor_context): + current_actor_context.run() + assert current_actor_context.consume(OpenSslConfig) diff --git a/repos/system_upgrade/el8toel9/actors/opensslproviders/actor.py b/repos/system_upgrade/el8toel9/actors/opensslproviders/actor.py new file mode 100644 index 0000000..50ad09a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslproviders/actor.py @@ -0,0 +1,41 @@ +from leapp.actors import Actor +from leapp.libraries.actor import add_provider +from leapp.models import OpenSslConfig +from leapp.tags import ApplicationsPhaseTag, IPUWorkflowTag + + +class OpenSslProviders(Actor): + """ + Modify the openssl.cnf file to support new providers in OpenSSL 3.0 + + Change the initialization: + + - openssl_conf = default_modules + + openssl_conf = openssl_init + + Rename the default block and link the providers block: + + - [default_modules] + + [openssl_init] + + providers = provider_sect + + Add the providers block: + + + [provider_sect] + + default = default_sect + + ##legacy = legacy_sect + + + + [default_sect] + + activate = 1 + + + + ##[legacy_sect] + + ##activate = 1 + """ + + name = 'open_ssl_providers' + consumes = (OpenSslConfig,) + produces = () + tags = (IPUWorkflowTag, ApplicationsPhaseTag,) + + def process(self): + add_provider.process(self.consume(OpenSslConfig)) diff --git a/repos/system_upgrade/el8toel9/actors/opensslproviders/libraries/add_provider.py b/repos/system_upgrade/el8toel9/actors/opensslproviders/libraries/add_provider.py new file mode 100644 index 0000000..91462f1 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslproviders/libraries/add_provider.py @@ -0,0 +1,137 @@ +import re + +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api + +# The openssl configuration file +# TODO copied from opensslconfigscanner/libraries/readconf.py +CONFIG = '/etc/pki/tls/openssl.cnf' + +LEAPP_COMMENT = '# Modified by leapp during upgrade to RHEL 9\n' +APPEND_STRING = ( + '[provider_sect]\n' + 'default = default_sect\n' + '##legacy = legacy_sect\n' + '\n' + '[default_sect]\n' + 'activate = 1\n' + '\n' + '##[legacy_sect]\n' + '##activate = 1\n' +) + + +def _add_lines(lines, add): + """ + Add lines to the list of lines. Breaking possible newlines onto separate items + """ + for l in add.split("\n"): + lines.append("{}\n".format(l)) + return lines + + +class NotFoundException(Exception): + pass + + +def _replace(lines, search, replace, comment=None, backup=False, fail_on_error=True): + """ + Replace pattern with new value with optional backup + + Replace the lines (ignoring leading and trailing whitespace) matching `search` regex + in the given file (as `lines` collected using readlines()) with the `replace` line optional + comment is added on line preceding the change. + """ + res = [] + found = False + for line in lines: + if re.search(search, line.strip()): + if comment: + res.append(comment) + if backup: + res.append("# {}".format(line)) + res = _add_lines(res, replace) + found = True + else: + res.append(line) + if not found and fail_on_error: + raise NotFoundException("The pattern {} not found.".format(search)) + return res + + +def _append(lines, add, comment=None): + """ + Append a line to the existing list with optional comment + """ + if comment: + lines.append(comment) + return _add_lines(lines, add) + + +def _modify_file(f, fail_on_error=True): + """ + Modify the openssl configuration file to accommodate el8toel9 changes + """ + lines = f.readlines() + lines = _replace(lines, r"openssl_conf\s*=\s*default_modules", + "openssl_conf = openssl_init", + LEAPP_COMMENT, True, fail_on_error) + lines = _replace(lines, r"\[\s*default_modules\s*\]", + "[openssl_init]\n" + "providers = provider_sect", + LEAPP_COMMENT, True, fail_on_error) + lines = _append(lines, APPEND_STRING, LEAPP_COMMENT) + f.seek(0) + f.write(''.join(lines)) + + +def process(openssl_messages): + """ + Process the changes needed to update configuration file + + Steps: + * read the file + * replace the required chunks + * write the file + """ + config = next(openssl_messages, None) + if list(openssl_messages): + api.current_logger().warning('Unexpectedly received more than one OpenSslConfig message.') + if not config: + raise StopActorExecutionError( + 'Could not check openssl configuration', details={'details': 'No OpenSslConfig facts found.'} + ) + + # If the configuration file was not modified, the rpm update will bring the new + # changes by itself -- do not change the file now. + if not config.modified: + return + + # otherwise modify the file as announced in actors/opensslconfigcheck/actor.py + api.current_logger().debug('Modifying the {}.'.format(CONFIG)) + try: + with open(CONFIG, 'r+') as f: + _modify_file(f) + except (OSError, IOError, NotFoundException) as error: + api.current_logger().error('Failed to modify the file {}: {} '.format(CONFIG, error)) + reporting.create_report([ + reporting.Title('Could not modify {}: {}'.format(CONFIG, error)), + reporting.Summary( + 'The original version was kept in place.' + 'The OpenSSL should keep working as expected in most of the cases, but you ' + 'might encounter some issues if you need to use custom providers. Consider ' + 'updating the configuration manually. For reference, see the openssl.cnf.rpmnew' + ), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([ + reporting.Groups.SECURITY, + reporting.Groups.NETWORK, + reporting.Groups.SERVICES + ]), + reporting.Groups([ + reporting.Groups.POST + ]), + reporting.RelatedResource('package', 'openssl'), + reporting.RelatedResource('file', '/etc/pki/tls/openssl.cnf') + ]) diff --git a/repos/system_upgrade/el8toel9/actors/opensslproviders/tests/test_add_provider.py b/repos/system_upgrade/el8toel9/actors/opensslproviders/tests/test_add_provider.py new file mode 100644 index 0000000..1c1cd20 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/opensslproviders/tests/test_add_provider.py @@ -0,0 +1,111 @@ +import pytest + +from leapp.libraries.actor.add_provider import ( + _add_lines, + _append, + _modify_file, + _replace, + APPEND_STRING, + LEAPP_COMMENT, + NotFoundException +) + +testdata = ( + ([], 'one', ['one\n']), + (['first'], 'one', ['first', 'one\n']), + (['first'], 'one\ntwo', ['first', 'one\n', 'two\n']), +) + + +@pytest.mark.parametrize('lines,add,expected', testdata) +def test_add_lines(lines, add, expected): + r = _add_lines(lines, add) + assert r == expected + + +testdata = ( + ([], "search", "replace", None, False, None), + ([], "search", "replace", "comment", False, None), + ([], r"\s*", "replace", None, False, None), + ([], r"\s*", "replace", "comment", False, None), + (["text"], "text", "replace", None, False, ["replace\n"]), + (["text"], "text", "replace", "comment", False, ["comment", "replace\n"]), + (["text"], "text", "replace", "comment", True, ["comment", "# text", "replace\n"]), + (["text "], "text", "replace", "comment", True, ["comment", "# text ", "replace\n"]), + ([" text"], "text", "replace", "comment", True, ["comment", "# text", "replace\n"]), + (["text text"], r"text\s*text", "replace", "comment", True, ["comment", "# text text", "replace\n"]), + (["first", "text", "last"], "text", "replace", "comment", True, + ["first", "comment", "# text", "replace\n", "last"]), +) + + +@pytest.mark.parametrize('lines,search,replace,comment,backup,expected', testdata) +def test_replace(lines, search, replace, comment, backup, expected): + try: + r = _replace(lines, search, replace, comment, backup) + if expected: + assert r == expected + else: + assert False + except NotFoundException: + assert not expected + + +testdata = ( + ([], 'one', 'comment', ['comment', 'one\n']), + (['first'], 'one', 'comment', ['first', 'comment', 'one\n']), + (['first'], 'one\ntwo', 'comment', ['first', 'comment', 'one\n', 'two\n']), +) + + +@pytest.mark.parametrize('lines,add,comment,expected', testdata) +def test_append(lines, add, comment, expected): + r = _append(lines, add, comment) + assert r == expected + + +class MockFile(object): + def __init__(self, content=None): + self.content = content + self.error = False + + def readlines(self): + return self.content.splitlines(True) + + def seek(self, n): + self.content = '' + + def write(self, content): + self.content = content + + +testdata = ( + ('', ''), + ('openssl_conf=default_modules\n', + '{}# openssl_conf=default_modules\nopenssl_conf = openssl_init\n'.format(LEAPP_COMMENT)), + ('openssl_conf = default_modules\n', + '{}# openssl_conf = default_modules\nopenssl_conf = openssl_init\n'.format(LEAPP_COMMENT)), + ('openssl_conf = default_modules\n', + '{}# openssl_conf = default_modules\nopenssl_conf = openssl_init\n'.format(LEAPP_COMMENT)), + (' openssl_conf = default_modules \n', + '{}# openssl_conf = default_modules \nopenssl_conf = openssl_init\n'.format(LEAPP_COMMENT)), + ('[default_modules]\n', + '{}# [default_modules]\n[openssl_init]\nproviders = provider_sect\n'.format(LEAPP_COMMENT)), + ('[ default_modules ]\n', + '{}# [ default_modules ]\n[openssl_init]\nproviders = provider_sect\n'.format(LEAPP_COMMENT)), + (' [ default_modules ] \n', + '{}# [ default_modules ] \n[openssl_init]\nproviders = provider_sect\n'.format(LEAPP_COMMENT)), + ('openssl_conf=default_modules\n[default_modules]\n', + '{c}# openssl_conf=default_modules\nopenssl_conf = openssl_init\n' + '{c}# [default_modules]\n[openssl_init]\nproviders = provider_sect\n'.format(c=LEAPP_COMMENT)), +) + + +@pytest.mark.parametrize('file_content,expected', testdata) +def test_modify_file(file_content, expected): + f = MockFile(file_content) + + # Test separate replaces and do not fail if pattern is not found + _modify_file(f, False) + + assert f.content == "{}{}{}\n".format(expected, LEAPP_COMMENT, APPEND_STRING) diff --git a/repos/system_upgrade/el8toel9/actors/postgresqlcheck/actor.py b/repos/system_upgrade/el8toel9/actors/postgresqlcheck/actor.py new file mode 100644 index 0000000..2935d53 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/postgresqlcheck/actor.py @@ -0,0 +1,20 @@ +from leapp.actors import Actor +from leapp.libraries.actor.postgresqlcheck import report_installed_packages +from leapp.models import InstalledRedHatSignedRPM, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class PostgresqlCheck(Actor): + """ + Actor checking for presence of PostgreSQL installation. + + Provides user with information related to upgrading systems + with PostgreSQL installed. + """ + name = 'postgresql_check' + consumes = (InstalledRedHatSignedRPM,) + produces = (Report,) + tags = (ChecksPhaseTag, IPUWorkflowTag) + + def process(self): + report_installed_packages() diff --git a/repos/system_upgrade/el8toel9/actors/postgresqlcheck/libraries/postgresqlcheck.py b/repos/system_upgrade/el8toel9/actors/postgresqlcheck/libraries/postgresqlcheck.py new file mode 100644 index 0000000..ae6d625 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/postgresqlcheck/libraries/postgresqlcheck.py @@ -0,0 +1,54 @@ +from leapp import reporting +from leapp.libraries.common.rpms import has_package +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM + +# Summary for postgresql-server report +report_server_inst_summary = ( + 'PostgreSQL server component will be upgraded. Since RHEL-9 includes' + ' PostgreSQL server 13 by default, which is incompatible with 9.6, 10 and 12' + ' included in RHEL-8, it is necessary to proceed with additional steps' + ' for the complete upgrade of the PostgreSQL data.' +) + +report_server_inst_hint = ( + 'Back up your data before proceeding with the upgrade' + ' and follow steps in the documentation section "Migrating to a RHEL 9 version of PostgreSQL"' + ' after the upgrade.' +) + +# Link URL for postgresql-server report +report_server_inst_link_url = 'https://access.redhat.com/articles/6654721' + + +def _report_server_installed(): + """ + Create report on postgresql-server package installation detection. + + Should remind user about present PostgreSQL server package + installation, warn them about necessary additional steps, and + redirect them to online documentation for the upgrade process. + """ + reporting.create_report([ + reporting.Title('PostgreSQL (postgresql-server) has been detected on your system'), + reporting.Summary(report_server_inst_summary), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.SERVICES]), + reporting.ExternalLink(title='Migrating to a RHEL 9 version of PostgreSQL', + url=report_server_inst_link_url), + reporting.RelatedResource('package', 'postgresql-server'), + reporting.Remediation(hint=report_server_inst_hint), + ]) + + +def report_installed_packages(_context=api): + """ + Create reports according to detected PostgreSQL packages. + + Create the report if the postgresql-server rpm (RH signed) is installed. + """ + has_server = has_package(InstalledRedHatSignedRPM, 'postgresql-server', context=_context) + + if has_server: + # postgresql-server + _report_server_installed() diff --git a/repos/system_upgrade/el8toel9/actors/postgresqlcheck/tests/test_postgresqlcheck.py b/repos/system_upgrade/el8toel9/actors/postgresqlcheck/tests/test_postgresqlcheck.py new file mode 100644 index 0000000..7b6f438 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/postgresqlcheck/tests/test_postgresqlcheck.py @@ -0,0 +1,65 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor.postgresqlcheck import report_installed_packages +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import InstalledRedHatSignedRPM, RPM + + +def _generate_rpm_with_name(name): + """ + Generate new RPM model item with given name. + + Parameters: + name (str): rpm name + + Returns: + rpm (RPM): new RPM object with name parameter set + """ + return RPM(name=name, + version='0.1', + release='1.sm01', + epoch='1', + pgpsig='RSA/SHA256, Mon 01 Jan 1970 00:00:00 AM -03, Key ID 199e2f91fd431d51', + packager='Red Hat, Inc. ', + arch='noarch') + + +@pytest.mark.parametrize('has_server', [ + (True), # with server + (False), # without server +]) +def test_actor_execution(monkeypatch, has_server): + """ + Parametrized helper function for test_actor_* functions. + + First generate list of RPM models based on set arguments. Then, run + the actor fed with our RPM list. Finally, assert Reports + according to set arguments. + + Parameters: + has_server (bool): postgresql-server installed + """ + + # Couple of random packages + rpms = [_generate_rpm_with_name('sed'), + _generate_rpm_with_name('htop')] + + if has_server: + # Add postgresql-server + rpms += [_generate_rpm_with_name('postgresql-server')] + + curr_actor_mocked = CurrentActorMocked(msgs=[InstalledRedHatSignedRPM(items=rpms)]) + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + + # Executed actor fed with out fake RPMs + report_installed_packages(_context=api) + + if has_server: + # Assert for postgresql-server package installed + assert reporting.create_report.called == 1 + else: + # Assert for no postgresql packages installed + assert not reporting.create_report.called diff --git a/repos/system_upgrade/el8toel9/actors/pythonthreetmpworkaround/actor.py b/repos/system_upgrade/el8toel9/actors/pythonthreetmpworkaround/actor.py new file mode 100644 index 0000000..b373738 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/pythonthreetmpworkaround/actor.py @@ -0,0 +1,58 @@ +import os + +from leapp.actors import Actor +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import TransactionCompleted +from leapp.tags import IPUWorkflowTag, RPMUpgradePhaseTag + + +class PythonThreeTmpWorkaround(Actor): + """ + Create the /usr/bin/python3 alternative if not exists. + + During the RPM upgrade the /usr/bin/python3 is removed because of problem + in alternatives. The fix requires new builds of python36 on RHEL8, python3 + on RHEL 9 and alternatives on both systems. Once the internal repositories + are updated, we can drop this. If the /usr/bin/python3 file exists, + do nothing. + """ + + name = 'pythonthreetmpworkaround' + consumes = (TransactionCompleted,) + produces = () + tags = (RPMUpgradePhaseTag, IPUWorkflowTag) + + def process(self): + if os.path.isfile('/usr/bin/python3'): + api.current_logger().info('The python3 file exists. the actor can be removed probably.') + return + + cmd = [ + 'alternatives', '--install', '/usr/bin/python3', 'python3', '/usr/bin/python3.9', '1000000', + ] + + sub_cmds = [ + ['--slave', '/usr/share/man/man1/python3.1.gz', 'python3-man', '/usr/share/man/man1/python3.9.1.gz'], + ['--slave', '/usr/bin/pip3', 'pip3', '/usr/bin/pip3.9'], + ['--slave', '/usr/bin/pip-3', 'pip-3', '/usr/bin/pip-3.9'], + ['--slave', '/usr/bin/easy_install-3', 'easy_install-3', '/usr/bin/easy_install-3.9'], + ['--slave', '/usr/bin/pydoc3', 'pydoc3', '/usr/bin/pydoc3.9'], + ['--slave', '/usr/bin/pydoc-3', 'pydoc-3', '/usr/bin/pydoc3.9'], + ['--slave', '/usr/bin/pyvenv-3', 'pyvenv-3', '/usr/bin/pyvenv-3.9'], + ] + + for sub_cmd in sub_cmds: + if os.path.exists(sub_cmd[1]): + # some rhel 9 packages are already updated and handle + # alternatives correctly using the --keep-foreign option + continue + cmd += sub_cmd + + try: + run(cmd) + except CalledProcessError as exc: + raise StopActorExecutionError( + message='Cannot create python3 alternatives; upgrade cannot be finished', + details={'details': str(exc), 'stderr': exc.stderr}, + ) diff --git a/repos/system_upgrade/el8toel9/actors/registerrubyirbadjustment/actor.py b/repos/system_upgrade/el8toel9/actors/registerrubyirbadjustment/actor.py new file mode 100644 index 0000000..ac4d1e6 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/registerrubyirbadjustment/actor.py @@ -0,0 +1,22 @@ +from leapp.actors import Actor +from leapp.models import DNFWorkaround +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RegisterRubyIRBAdjustment(Actor): + """ + Registers a workaround which will adjust the Ruby IRB directories during the upgrade. + """ + + name = 'register_ruby_irb_adjustment' + consumes = () + produces = (DNFWorkaround,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + self.produce( + DNFWorkaround( + display_name='IRB directory fix', + script_path=self.get_tool_path('handlerubyirbsymlink'), + ) + ) diff --git a/repos/system_upgrade/el8toel9/actors/registerrubyirbadjustment/tests/test_register_ruby_irb_adjustments.py b/repos/system_upgrade/el8toel9/actors/registerrubyirbadjustment/tests/test_register_ruby_irb_adjustments.py new file mode 100644 index 0000000..fc34164 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/registerrubyirbadjustment/tests/test_register_ruby_irb_adjustments.py @@ -0,0 +1,11 @@ +import os.path + +from leapp.models import DNFWorkaround + + +def test_register_ruby_irb_adjustments(current_actor_context): + current_actor_context.run() + assert len(current_actor_context.consume(DNFWorkaround)) == 1 + assert current_actor_context.consume(DNFWorkaround)[0].display_name == 'IRB directory fix' + assert os.path.basename(current_actor_context.consume(DNFWorkaround)[0].script_path) == 'handlerubyirbsymlink' + assert os.path.exists(current_actor_context.consume(DNFWorkaround)[0].script_path) diff --git a/repos/system_upgrade/el8toel9/actors/rocecheck/actor.py b/repos/system_upgrade/el8toel9/actors/rocecheck/actor.py new file mode 100644 index 0000000..e848ccf --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/rocecheck/actor.py @@ -0,0 +1,23 @@ +from leapp.actors import Actor +from leapp.libraries.actor import rocecheck +from leapp.models import KernelCmdline, Report, RoceDetected +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + + +class RoceCheck(Actor): + """ + Check whether RoCE is used on the system and well configured for the upgrade. + + This is valid only for IBM Z systems (s390x). If a used RoCE is detected, + * system must be RHEL 8.7+ (suggesting 8.8+ due to 8.7 EOL) + * and system must be booted with: net.naming-scheme=rhel-8.7 + otherwise the network is broken due to changed NICs. + """ + + name = 'roce_check' + consumes = (KernelCmdline, RoceDetected) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + rocecheck.process() diff --git a/repos/system_upgrade/el8toel9/actors/rocecheck/libraries/rocecheck.py b/repos/system_upgrade/el8toel9/actors/rocecheck/libraries/rocecheck.py new file mode 100644 index 0000000..7549feb --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/rocecheck/libraries/rocecheck.py @@ -0,0 +1,134 @@ +from leapp import reporting +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common.config import architecture, version +from leapp.libraries.stdlib import api +from leapp.models import KernelCmdline, RoceDetected + +FMT_LIST_SEPARATOR = '\n - {}' +DOC_URL = 'https://red.ht/predictable-network-interface-device-names-on-the-system-z-platform' + + +def is_kernel_arg_set(): + """ + Return True if the system is booted with net.naming-scheme=rhel-8.7 + + Important: it's really expected the argument is rhel-8.7 always. + So not rhel-8.8, rhel-9.0, ... etc. + """ + kernel_args = next(api.consume(KernelCmdline), None) + if not kernel_args: + # This is theoretical. If this happens, something is terribly wrong + # already - so raising the hard error. + raise StopActorExecutionError('Missing the KernelCmdline message!') + for param in kernel_args.parameters: + if param.key != 'net.naming-scheme': + continue + if param.value == 'rhel-8.7': + return True + api.current_logger().warning( + 'Detected net.naming-scheme with unexpected value: {}' + .format(param.value) + ) + return False + return False + + +def _fmt_list(items): + return ''.join([FMT_LIST_SEPARATOR.format(i) for i in items]) + + +def _report_old_version(roce): + roce_nics = roce.roce_nics_connected + roce.roce_nics_connecting + reporting.create_report([ + reporting.Title('A newer version of RHEL 8 is required for the upgrade with RoCE.'), + reporting.Summary( + 'The RHEL 9 system uses different network schemes for NIC names' + ' than RHEL 8.' + ' RHEL {version} does not provide functionality to be able' + ' to set the system configuration in a way the network interface' + ' names used by RoCE are persistent on both (RHEL 8 and RHEL 9)' + ' systems.' + ' The in-place upgrade from the current version of RHEL to RHEL 9' + ' will break the RoCE network configuration.' + '\n\nRoCE detected on following NICs:{nics}' + .format( + version=version.get_source_version(), + nics=_fmt_list(roce_nics) + ) + ), + reporting.Remediation(hint=( + 'Update the system to RHEL 8.8 or newer using DNF and then reboot' + ' the system prior the in-place upgrade to RHEL 9.' + )), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.INHIBITOR, + reporting.Groups.ACCESSIBILITY, + reporting.Groups.SANITY, + ]), + ]) + + +def _report_wrong_setup(roce): + roce_nics = roce.roce_nics_connected + roce.roce_nics_connecting + reporting.create_report([ + reporting.Title('Invalid RoCE configuration for the in-place upgrade'), + reporting.Summary( + 'The RHEL 9 system uses different network schemes for NIC names' + ' than RHEL 8.' + ' The below listed RoCE NICs need to be reconfigured to the new' + ' interface naming scheme in order to prevent loss of network' + ' access to your system via these interfaces after the upgrade.' + ' For more information, see: {url}' + '\n\nRoCE detected on the following NICs:{nics}' + .format(nics=_fmt_list(roce_nics), url=DOC_URL) + ), + reporting.Remediation(hint=( + 'Prerequisite for upgrading to RHEL9.x:' + 'In RHEL 8, all RoCE cards must be configured with the interface' + ' names they should have in RHEL9.x.\n' + 'For more information, see chapter 1.4 of the RHEL8 Product' + ' Documentation (see the attached link) and follow these steps:\n' + '1.) determine the current interface device names of the RoCE' + ' cards that are in "connected to" or in "connecting" state\n' + '2.) determine if UID uniqueness is set for these cards\n' + '3.) compute new interface device names from the UID or the' + ' function ID, respectively\n' + '4.) change the network interface device names in ifcfg' + ' files\n' + '5.) set the kernel parameter net.naming-scheme=rhel-8.7 in the' + ' effective .conf file in /boot/loader/entries\n' + '6.) adjust other settings that rely on the interface device names' + ' (e.g. firewall) by changing the interface device names' + ' accordingly\n' + '7.) run `zipl -V` and reboot the system\n' + '8.) check your network connectivity\n' + '\n' + 'Caution: Creating an incorrect configuration might cause the loss' + ' of your network connection after reboot!' + )), + reporting.ExternalLink( + title='Predictable network interface device names on the System z platform', + url=DOC_URL), + reporting.Severity(reporting.Severity.HIGH), + reporting.Groups([ + reporting.Groups.INHIBITOR, + reporting.Groups.ACCESSIBILITY, + reporting.Groups.SANITY, + ]), + ]) + + +def process(): + if not architecture.matches_architecture(architecture.ARCH_S390X): + # The check is valid only on S390X architecture + return + roce = next(api.consume(RoceDetected), None) + if not roce or not (roce.roce_nics_connected or roce.roce_nics_connecting): + # No used RoCE detected - nothing to do + api.current_logger().debug('Skipping RoCE checks: No RoCE card detected.') + return + if version.matches_source_version('<= 8.6'): + _report_old_version(roce) + if not is_kernel_arg_set(): + _report_wrong_setup(roce) diff --git a/repos/system_upgrade/el8toel9/actors/rocecheck/tests/unit_test_rocecheck.py b/repos/system_upgrade/el8toel9/actors/rocecheck/tests/unit_test_rocecheck.py new file mode 100644 index 0000000..a36cc8e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/rocecheck/tests/unit_test_rocecheck.py @@ -0,0 +1,116 @@ +import pytest + +from leapp import reporting +from leapp.libraries.actor import rocecheck +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import create_report_mocked, CurrentActorMocked +from leapp.libraries.stdlib import api +from leapp.models import KernelCmdline, KernelCmdlineArg, RoceDetected + + +def _kernel_cmdline(params=None): + if params is None: + return KernelCmdline(parameters=[]) + k_params = [] + for item in params: + try: + key, value = item.split('=', 1) + except ValueError: + key = item + value = None + k_params.append(KernelCmdlineArg(key=key, value=value)) + return KernelCmdline(parameters=k_params) + + +def _roce(connected, connecting): + return RoceDetected( + roce_nics_connected=connected, + roce_nics_connecting=connecting + ) + + +@pytest.mark.parametrize('msgs', ( + [_kernel_cmdline()], + [_kernel_cmdline(), _roce([], [])], + [_kernel_cmdline(['net.naming-scheme=rhel-8.7']), _roce([], [])], +)) +def test_no_roce(monkeypatch, msgs): + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_S390X, msgs=msgs)) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + rocecheck.process() + assert not reporting.create_report.called + + +@pytest.mark.parametrize('arch', ( + architecture.ARCH_ARM64, + architecture.ARCH_X86_64, + architecture.ARCH_PPC64LE +)) +def test_roce_noibmz(monkeypatch, arch): + def mocked_do_not_call_me(dummy): + assert False, 'Unexpected call on non-IBMz arch (actor should not do anything).' + + monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(arch=arch)) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + monkeypatch.setattr(rocecheck, '_report_old_version', mocked_do_not_call_me) + monkeypatch.setattr(rocecheck, '_report_wrong_setup', mocked_do_not_call_me) + monkeypatch.setattr(rocecheck, 'is_kernel_arg_set', mocked_do_not_call_me) + monkeypatch.setattr(rocecheck.api, 'consume', mocked_do_not_call_me) + rocecheck.process() + + +@pytest.mark.parametrize('msgs', ( + [_kernel_cmdline(['net.naming-scheme=rhel-8.7']), _roce(['eno'], [])], + [_kernel_cmdline(['net.naming-scheme=rhel-8.7']), _roce([], ['eno'])], + [_kernel_cmdline(['net.naming-scheme=rhel-8.7']), _roce(['enp0', 'enp1'], ['eno'])], + [_kernel_cmdline(['good', 'net.naming-scheme=rhel-8.7']), _roce(['eno'], [])], + [_kernel_cmdline(['net.naming-scheme=rhel-8.7', 'good']), _roce(['eno'], [])], + [_kernel_cmdline(['foo=bar', 'net.naming-scheme=rhel-8.7', 'foo=bar']), _roce(['eno'], [])], +)) +@pytest.mark.parametrize('version', ['8.7', '8.8', '8.10']) +def test_roce_ok(monkeypatch, msgs, version): + curr_actor_mocked = CurrentActorMocked(arch=architecture.ARCH_S390X, src_ver=version, msgs=msgs) + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + rocecheck.process() + assert not reporting.create_report.called + + +@pytest.mark.parametrize('msgs', ( + [_kernel_cmdline(['net.naming-scheme=rhel-8.7']), _roce(['eno'], [])], + [_kernel_cmdline(['net.naming-scheme=rhel-8.7']), _roce([], ['eno'])], + [_kernel_cmdline(['net.naming-scheme=rhel-8.6']), _roce(['eno'], [])], + [_kernel_cmdline(['net.naming-scheme=rhel-8.6']), _roce(['eno', 'eno1'], ['enp'])], + [_kernel_cmdline(['foo=bar']), _roce(['eno'], [])], + [_kernel_cmdline(), _roce(['eno'], [])], +)) +@pytest.mark.parametrize('version', ['8.0', '8.3', '8.6']) +def test_roce_old_rhel(monkeypatch, msgs, version): + curr_actor_mocked = CurrentActorMocked(arch=architecture.ARCH_S390X, src_ver=version, msgs=msgs) + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + rocecheck.process() + assert reporting.create_report.called + assert any(['version of RHEL' in report['title'] for report in reporting.create_report.reports]) + + +# NOTE: what about the situation when net.naming-scheme is configured multiple times??? +@pytest.mark.parametrize('msgs', ( + [_kernel_cmdline(['net.naming-scheme=rhel-8.6']), _roce(['eno'], [])], + [_kernel_cmdline(['net.naming-scheme=rhel-8.8']), _roce([], ['eno'])], + [_kernel_cmdline(['foo=bar', 'net.naming-scheme=rhel-8.8']), _roce([], ['eno'])], + [_kernel_cmdline(['foo=bar', 'net.naming-scheme=rhel-8.8', 'foo=bar']), _roce([], ['eno'])], + [_kernel_cmdline(['net.naming-scheme']), _roce(['eno'], [])], + [_kernel_cmdline(['foo=bar']), _roce(['eno'], [])], + [_kernel_cmdline(['foo=bar', 'bar=foo']), _roce(['eno'], [])], + [_kernel_cmdline(['rhel-8.7']), _roce([], ['eno'])], + [_kernel_cmdline(), _roce(['eno'], [])], +)) +@pytest.mark.parametrize('version', ['8.6', '8.8']) +def test_roce_wrong_configuration(monkeypatch, msgs, version): + curr_actor_mocked = CurrentActorMocked(arch=architecture.ARCH_S390X, src_ver=version, msgs=msgs) + monkeypatch.setattr(api, 'current_actor', curr_actor_mocked) + monkeypatch.setattr(reporting, "create_report", create_report_mocked()) + rocecheck.process() + assert reporting.create_report.called + assert any(['RoCE configuration' in report['title'] for report in reporting.create_report.reports]) diff --git a/repos/system_upgrade/el8toel9/actors/rocescanner/actor.py b/repos/system_upgrade/el8toel9/actors/rocescanner/actor.py new file mode 100644 index 0000000..93fcbbe --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/rocescanner/actor.py @@ -0,0 +1,27 @@ +from leapp.actors import Actor +from leapp.libraries.actor import rocescanner +from leapp.models import RoceDetected +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class RoCEScanner(Actor): + """ + Detect active RoCE NICs on IBM Z machines. + + Detect whether RoCE is configured on the system and produce + the RoceDetected message with active RoCE NICs - if any exists. + The active connections are scanned using NetworkManager (`nmcli`) as + RoCE is supposed to be configured via NetworkManager since + RHEL 8; see: + https://www.ibm.com/docs/en/linux-on-systems?topic=guide-add-additional-roce-interface + + The scan is performed only on IBM Z machines. + """ + + name = 'roce_scanner' + consumes = () + produces = (RoceDetected,) + tags = (FactsPhaseTag, IPUWorkflowTag) + + def process(self): + rocescanner.process() diff --git a/repos/system_upgrade/el8toel9/actors/rocescanner/libraries/rocescanner.py b/repos/system_upgrade/el8toel9/actors/rocescanner/libraries/rocescanner.py new file mode 100644 index 0000000..4e80dac --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/rocescanner/libraries/rocescanner.py @@ -0,0 +1,71 @@ +from leapp.libraries.common.config import architecture +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import RoceDetected + + +def get_roce_nics_lines(): + """ + Return basic info about RoCE NICs using nmcli + + When RoCE is configured on the system, we should find Mellanox a device + in the `nmcli` output, which is always specified after status line + of an interface, e.g.: + # nmcli + ens1765: connected to ens1765 + "Mellanox MT27710" + ethernet (mlx5_core), 82:28:9B:1B:28:2C, hw, mtu 1500 + inet4 192.168.0.1/16 + route4 192.168.0.1/16 + inet6 fe80::d8c5:3a67:1abb:dcca/64 + route6 fe80::/64 + In this case, the function returns the list of lines with RoCE NICs. + So for the example above: + ['ens1765: connected to ens1765'] + + NOTE: It is unexpected that a NIC itself could contain a 'mellanox' + substring. In such a case additional unexpected lines could be returned. + However, as we are interested only about lines with 'connected to' and 'connecting' + substrings, we know we will filter out any invalid lines later, so it's + no problem for us. + """ + # nmcli | grep --no-group-separator -B1 -i "mellanox" | sed -n 1~2p + roce_nic_lines = [] + try: + nmcli_output = run(['nmcli'], split=True)['stdout'] + except (CalledProcessError, OSError) as e: + # this is theoretical + # If the command fails, most likely the network is not configured + # or it is not configured in a 'supported' way - definitely not + # for RoCE. + api.current_logger().warning( + 'Cannot examine network connections via NetworkManager.' + ' Assuming RoCE is not present. Detail: {}'.format(str(e)) + ) + return roce_nic_lines + + for i, line in enumerate(nmcli_output): + if 'mellanox' in line.lower() and i > 0: + roce_nic_lines.append(nmcli_output[i-1].strip()) + return roce_nic_lines + + +def _parse_NIC(nmcli_line): + return nmcli_line.split(':')[0] + + +def process(): + if not architecture.matches_architecture(architecture.ARCH_S390X): + # The check is valid only on S390X architecture + return + connected_nics = [] + connecting_nics = [] + for line in get_roce_nics_lines(): + if 'connected to' in line: + connected_nics.append(_parse_NIC(line)) + elif 'connecting' in line: + connecting_nics.append(_parse_NIC(line)) + if connected_nics or connecting_nics: + api.produce(RoceDetected( + roce_nics_connected=connected_nics, + roce_nics_connecting=connecting_nics, + )) diff --git a/repos/system_upgrade/el8toel9/actors/rocescanner/tests/unit_test_rocescanner.py b/repos/system_upgrade/el8toel9/actors/rocescanner/tests/unit_test_rocescanner.py new file mode 100644 index 0000000..a488932 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/rocescanner/tests/unit_test_rocescanner.py @@ -0,0 +1,154 @@ +import pytest + +from leapp.libraries.actor import rocescanner +from leapp.libraries.common.config import architecture +from leapp.libraries.common.testutils import CurrentActorMocked, logger_mocked, produce_mocked +from leapp.libraries.stdlib import CalledProcessError + +NMCLI_CON_NIC1 = [ + 'ens1: connected to ens1', + '"Mellanox MT27710"', + 'ethernet (mlx5_core), 82:28:9B:1B:28:2C, hw, mtu 1500', + 'inet4 192.168.0.2/24', + 'route4 192.168.0.1/24', + 'inet6 fe80::d8c5:3a67:1abb:dcca/64', + 'route6 fe80::/64', + '' +] + +NMCLI_CON_NIC2 = [ + 'eno2: connected to eno2', + '"mellanox MT27710"', + 'ethernet (mlx5_core), 82:28:9B:1B:28:2C, hw, mtu 1500', + 'inet4 172.18.0.2/16', + 'route4 172.18.0.1/16', + 'inet6 fe80::d8c5:3a67:1abb:dcca/64', + 'route6 fe80::/64', + '' +] + +NMCLI_DISCON_NIC3 = [ + 'ens3: disconnected', + '"Mellanox MT27710"', + 'ethernet (mlx5_core), 82:28:9B:1B:28:2C, hw, mtu 1500', + '' +] + +NMCLI_CON_NIC4 = [ + 'mellanox4: connecting', + '"Mellanox MT27710"', + 'ethernet (mlx5_core), 82:28:9B:1B:28:2C, hw, mtu 1500', + 'inet4 192.168.0.1/16', + 'route4 192.168.0.1/16', + 'inet6 fe80::d8c5:3a67:1abb:dcca/64', + 'route6 fe80::/64', + '' +] + +NMCLI_CON_NIC5_NO_ROCE = [ + 'ens5: connected to ens5', + '"Red Hat Virtio"', + 'ethernet (mlx5_core), 82:28:9B:1B:28:2C, hw, mtu 1500', + 'inet4 192.168.0.1/16', + 'route4 192.168.0.1/16', + 'inet6 fe80::d8c5:3a67:1abb:dcca/64', + 'route6 fe80::/64', + '' +] + + +@pytest.mark.parametrize('nmcli_stdout,expected', ( + ([], []), + (NMCLI_CON_NIC5_NO_ROCE, []), + # simple + (NMCLI_CON_NIC1, [NMCLI_CON_NIC1[0]]), + (NMCLI_CON_NIC2, [NMCLI_CON_NIC2[0]]), + (NMCLI_CON_NIC4, [NMCLI_CON_NIC4[0]]), + (NMCLI_DISCON_NIC3, [NMCLI_DISCON_NIC3[0]]), + # multiple + ( + NMCLI_CON_NIC1 + NMCLI_CON_NIC2, + [NMCLI_CON_NIC1[0], NMCLI_CON_NIC2[0]] + ), + ( + NMCLI_CON_NIC1 + NMCLI_DISCON_NIC3, + [NMCLI_CON_NIC1[0], NMCLI_DISCON_NIC3[0]] + ), + ( + NMCLI_CON_NIC5_NO_ROCE + NMCLI_CON_NIC2, + [NMCLI_CON_NIC2[0]] + ), + ( + NMCLI_CON_NIC2 + NMCLI_CON_NIC5_NO_ROCE, + [NMCLI_CON_NIC2[0]] + ), +)) +def test_get_roce_nics_lines(monkeypatch, nmcli_stdout, expected): + def mocked_run(cmd, *args, **kwargs): + assert cmd == ['nmcli'] + return {'stdout': nmcli_stdout} + monkeypatch.setattr(rocescanner, 'run', mocked_run) + assert rocescanner.get_roce_nics_lines() == expected + + +@pytest.mark.parametrize('raise_exc', ( + CalledProcessError('foo', {'stdout': '', 'stderr': 'err', 'exit_code': '1'}, ['nmcli']), + OSError('foo') +)) +def test_get_roce_nics_lines_err(monkeypatch, raise_exc): + def mocked_run(cmd, *args, **kwargs): + assert cmd == ['nmcli'] + raise raise_exc + monkeypatch.setattr(rocescanner, 'run', mocked_run) + monkeypatch.setattr(rocescanner.api, 'current_logger', logger_mocked()) + monkeypatch.setattr(rocescanner.api, 'current_actor', CurrentActorMocked()) + assert rocescanner.get_roce_nics_lines() == [] + assert rocescanner.api.current_logger.warnmsg + + +@pytest.mark.parametrize('roce_lines,connected,connecting', ( + ([], [], []), + ([NMCLI_DISCON_NIC3[0]], [], []), + ([NMCLI_CON_NIC1[0]], ['ens1'], []), + ([NMCLI_CON_NIC2[0]], ['eno2'], []), + ([NMCLI_CON_NIC4[0]], [], ['mellanox4']), + ( + [ + 'ens1: connected to ens1', + 'eno2: connecting', + 'route6 fe80::/64', + '', + 'ens3: connected to ens3', + ], + ['ens1', 'ens3'], + ['eno2'] + ), +)) +def test_roce_detected(monkeypatch, roce_lines, connected, connecting): + mocked_produce = produce_mocked() + monkeypatch.setattr(rocescanner.api, 'current_actor', CurrentActorMocked(arch=architecture.ARCH_S390X)) + monkeypatch.setattr(rocescanner.api.current_actor(), 'produce', mocked_produce) + monkeypatch.setattr(rocescanner, 'get_roce_nics_lines', lambda: roce_lines) + rocescanner.process() + if connected or connecting: + assert mocked_produce.called + msg = mocked_produce.model_instances[0] + assert msg.roce_nics_connected == connected + assert msg.roce_nics_connecting == connecting + else: + assert not mocked_produce.called + + +@pytest.mark.parametrize('arch', ( + architecture.ARCH_ARM64, + architecture.ARCH_X86_64, + architecture.ARCH_PPC64LE +)) +def test_roce_noibmz(monkeypatch, arch): + def mocked_roce_lines(): + assert False, 'Unexpected call of get_roce_nics_lines on nonIBMz arch.' + mocked_produce = produce_mocked() + monkeypatch.setattr(rocescanner.api, 'current_actor', CurrentActorMocked(arch=arch)) + monkeypatch.setattr(rocescanner.api.current_actor(), 'produce', mocked_produce) + monkeypatch.setattr(rocescanner, 'get_roce_nics_lines', lambda: mocked_roce_lines) + assert not mocked_produce.called diff --git a/repos/system_upgrade/el8toel9/actors/scanblacklistca/actor.py b/repos/system_upgrade/el8toel9/actors/scanblacklistca/actor.py new file mode 100644 index 0000000..311f6e7 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/scanblacklistca/actor.py @@ -0,0 +1,21 @@ +from leapp.actors import Actor +from leapp.libraries.actor import scanblacklistca +from leapp.models import BlackListCA, BlackListError +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class ScanBlackListCA(Actor): + """ + Scan the file system for distrusted CA's in the blacklist directory. + + The will be moved to the corresponding blocklist directory as the blacklist + directory is deprecated in RHEL-9 + """ + + name = 'scanblacklistca' + consumes = () + produces = (BlackListCA, BlackListError) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + scanblacklistca.process() diff --git a/repos/system_upgrade/el8toel9/actors/scanblacklistca/libraries/scanblacklistca.py b/repos/system_upgrade/el8toel9/actors/scanblacklistca/libraries/scanblacklistca.py new file mode 100644 index 0000000..85e006f --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/scanblacklistca/libraries/scanblacklistca.py @@ -0,0 +1,48 @@ +import os + +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import BlackListCA, BlackListError + +# dict(orig_dir: new_dir) +DIRS_CHANGE = { + '/etc/pki/ca-trust/source/blacklist/': '/etc/pki/ca-trust/source/blocklist/', + '/usr/share/pki/ca-trust-source/blacklist/': '/usr/share/pki/ca-trust-source/blocklist/' +} + + +def _get_dirs(): + return DIRS_CHANGE + + +def _get_files(dirname): + """ + :raises: CalledProcessError: if the find command fails + """ + # on rhel8, -type can't take two arguments, so we need to call find + # twice and concatenate the results + files = run(['find', dirname, '-type', 'f'], split=True)['stdout'] + return files + run(['find', dirname, '-type', 'l'], split=True)['stdout'] + + +def _generate_messages(dirname, targetname): + if not os.path.exists(dirname): + # The directory does not exist; not an error (there is just nothing + # to migrate). + return + try: + blacklisted_certs = _get_files(dirname) + except (CalledProcessError) as e: + api.produce(BlackListError(sourceDir=dirname, targetDir=targetname, error=str(e))) + api.current_logger().error('Cannot get list of files in {}: {}.'.format(dirname, e)) + return + for filename in blacklisted_certs: + # files found, pass a message to the reporter. + # (maybe to migrateblacklistca as well) + target = filename.replace(dirname, targetname) + api.produce(BlackListCA(source=filename, sourceDir=dirname, target=target, targetDir=targetname)) + + +def process(): + change_dirs = _get_dirs() + for dirname in change_dirs: + _generate_messages(dirname, change_dirs[dirname]) diff --git a/repos/system_upgrade/el8toel9/actors/scanblacklistca/tests/files/badca.cert b/repos/system_upgrade/el8toel9/actors/scanblacklistca/tests/files/badca.cert new file mode 100644 index 0000000000000000000000000000000000000000..7cbe6d33ba67038c366ec4f63565c45d78a6b49e GIT binary patch literal 889 zcmXqLVlFjkVv1eB%*4pV#K>sC%f_kI=F#?@mywa1mBApzklTQhjX9KsO_(V(*ihI& z5X9jS=5kKV$xO>H%F9eN6f+P339<|G`sSDBl_X~7DTHOFmKzEg2!O=7ggKr3-9v*F z{DOlGMGS;MV$8zaK%PQKYH^8zv!j86IIoeRfvJJHp@pe|k!6$wzY&m)BtR#3G%+e6 z2LK~019KB2KZ8LNBNtN>BO}AchkyLyZcJ?4`0%#y!`L@bc7drylhPZm`|T;LI;q9E zQ}pDlOQvU~%*{=FUc`91X3afyVRmf9zLN_QHn61hU7gOu6;%_{Z1Vgj1BXZ4llw{k z+#5CgpEL433XSG@b-VQ#&(ohJ%xbGo-kz-YLiTyn);CQbFWjGUck%D5TTQ|XB>q@t zu~)ruOI&!)VzbBQvc0?JvL4fN=rp=Cf5(npn(iW%IoS&q&OY~}vwLleb&f~D;alzh z3wHcA=zdtcdDfR1Nm0(GKd(POTgG;`E&8ebTTP*$SS@pT)O4ER%zfn8I8AZ z12ZQcc--*gTF9S=`9F@k&%N^KRj9}0IhVdLN8V&&W@KPoY+#@VOa`0@Z61tmKb#mD zSy-5v7}yPXfDtPz%))BG%*goPfE&c)2T3uqA%`h2Q31o0kzuM-!nNfI6E`;Pb$-Fi zm6V>BaW>qmNGSH$2QPcp2+c|V?~6YTyz@Nle=JjP-2A)O6E>SEPfves8MK^f(f&{? z?F4@LX@xtltS@}`_^;!p9KnBbdrkNDX-L%t7w$Dwev&(VeaoTTrGGNsxOI51m@R(5 zc~!2P#+;Y@Ee%P@N@c&MFM7CqQLf2rxrtdKn_D+3*Q++ndwcs#$<(|5O!isbvX*xC z-ub7lH+RGHb1{Zqw^q)$`Hvy$vuFH~-<5MrwEBJ2FC4mg 9. + + +class TargetUserspaceCryptoPolicies(Actor): + """ + Set crypto policies inside the target userspace container. + + The crypto policies inside the container are "DEFAULT" by default, ignoring + the setup on the host system. This leads to situations like when + we work with rpms differently than the host system after the upgrade. + The policies inside the container should reflect policies on the host + system from the point of the target OS. E.g. when FIPS is used, we should + not use DEFAULT, or when LEGACY is used, we should use the LEGACY as well. + + However, right now we are not able to handle systems with the custom crypto + policies. In such a case the actor raises an error and upgrade is stopped. + """ + + name = 'target_userspace_crypto_policies' + consumes = (CryptoPolicyInfo, TargetUserSpaceInfo) + produces = () + tags = (IPUWorkflowTag, TargetTransactionChecksPhaseTag) + + def process(self): + targetuserspacecryptopolicies.process() diff --git a/repos/system_upgrade/el8toel9/actors/targetuserspacecryptopolicies/libraries/targetuserspacecryptopolicies.py b/repos/system_upgrade/el8toel9/actors/targetuserspacecryptopolicies/libraries/targetuserspacecryptopolicies.py new file mode 100644 index 0000000..ddb7ad3 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/targetuserspacecryptopolicies/libraries/targetuserspacecryptopolicies.py @@ -0,0 +1,56 @@ +import os + +from leapp.exceptions import StopActorExecutionError +from leapp.libraries.common import mounting +from leapp.libraries.stdlib import api, CalledProcessError +from leapp.models import CryptoPolicyInfo, TargetUserSpaceInfo + +UCP_SCRIPT_PATH = '/usr/bin/update-crypto-policies' + + +def _set_crypto_policy(context, current_policy): + if not os.path.exists(context.full_path(UCP_SCRIPT_PATH)): + # consider this as heavy bug in actors and user cannot do anything - just report the bug + raise StopActorExecutionError( + 'The update-crypto-policies tool is not installed inside the {} container.' + .format(context.full_path('/')) + ) + try: + # In case of custom policies, it will most likely crash + # TODO(pstodulk): copy custom files with the crypto policies to the container first + context.call(['update-crypto-policies', '--set', current_policy]) + except CalledProcessError as e: + # maybe in this case we could set an inhibitor instead? + details = {'details:': str(e), 'stderr': e.stderr} + + # NOTE(pstodulk): In case the LEGACY crypto policy is set, I expect + # a different root cause.. + if current_policy != 'LEGACY': + details['hint'] = ( + 'Custom crypto policies are likely used on the system.' + ' The in-place upgrade cannot handle this correctly right now.' + ' Consider the use of crypto policies that exists on the target system' + ' or contact the support to prioritize the work on this feature.' + ) + raise StopActorExecutionError( + message='Cannot set the expected crypto policies: {}'.format(current_policy), + details=details + ) + + +def process(): + target_userspace_info = next(api.consume(TargetUserSpaceInfo), None) + if not target_userspace_info: + # nothing to do - an error occurred in previous actors and upgrade will be inhibited + api.current_logger().error('Missing the TargetUserSpaceInfo message. Probably it has not been created before.') + return + cpi = next(api.consume(CryptoPolicyInfo), None) + if not cpi: + # unexpected, but still better to log the error + api.current_logger().error('Missing the CryptoPolicyInfo message. Nothing to do') + return + if cpi.current_policy == 'DEFAULT': + api.current_logger().debug('The default crypto policy detected on the host system. Nothing to do.') + return + with mounting.NspawnActions(base_dir=target_userspace_info.path) as context: + _set_crypto_policy(context, cpi.current_policy) diff --git a/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/actor.py b/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/actor.py new file mode 100644 index 0000000..035299e --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/actor.py @@ -0,0 +1,68 @@ +from leapp.actors import Actor +from leapp.libraries.actor import vdoconversionscanner +from leapp.models import InstalledRedHatSignedRPM, StorageInfo, VdoConversionInfo +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class VdoConversionScanner(Actor): + """ + Provides conversion info about VDO devices. + + A VdoConversionInfo message containing the data will be produced. + + In RHEL 9.0 the independent VDO management software, `vdo manager`, is + superseded by LVM management. Existing VDOs must be converted to LVM-based + management *before* upgrading to RHEL 9.0. + + The `VdoConversionScanner` actor provides a pre-upgrade check for VDO + devices. Consuming the StorageInfo model `VdoConversionScanner` iterates + over the contained lsblk information and checks each disk or partition for + being a VDO device. There are four categories of devices in the eyes of + `VdoConversionScanner`: + + - not a VDO device + - a pre-conversion VDO device + - a post-conversion VDO device + - a device not falling into any of the above + + Attempts to definitively identify a device as belonging to one of the first + three listed categories above may fail. These devices may or may not be an + issue for upgrade. + + If a device could not be identified as either a VDO device or not results + in that device's information being recorded in a + VdoConversionUndeterminedDevice model. This includes both the situation + where LVM is installed on the system but the VDO management software is + not as well as the situation where both are installed but the check of + the device encountered an unexpected error. + + Devices identified as not a VDO device are skipped. + + Devices identified as pre-conversion VDOs have their identifying data + stored in a VdoConversionPreDevice model; their simple existence is + sufficient reason to prevent upgrade. + + A post-conversion (at VDO level) VDO device may not have completed its + conversion to LVM-based management (e.g., via a poorly timed system crash + during the conversion). For those VDO device's identified as + post-conversion `VdoConversionScanner` performs an additional check to + determine if the device is identified by blkid as an LVM2_member. As the + invocation of blkid may fail for reasons outside this scanner's control if + such happens the device's completion status will be set to indicate it did + not complete conversion. + + The generated VdoConversionPostDevice, VdoConversionPreDevice and + VdoConversionUndeterminedDevice models are used together to produce the + VdoConversionInfo model. This latter model is consumed by the CheckVdo + actor (executed during ChecksPhase) which, based on the contents of the + model, may produce upgrade inhibitory reports. + """ + + name = 'vdo_conversion_scanner' + consumes = (InstalledRedHatSignedRPM, StorageInfo) + produces = (VdoConversionInfo,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + for storage_info in self.consume(StorageInfo): + self.produce(vdoconversionscanner.get_info(storage_info)) diff --git a/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/libraries/vdoconversionscanner.py b/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/libraries/vdoconversionscanner.py new file mode 100644 index 0000000..cea1fe5 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/libraries/vdoconversionscanner.py @@ -0,0 +1,125 @@ +import os + +from leapp import models +from leapp.libraries.common import rpms +from leapp.libraries.stdlib import api, run + +MIN_DISK_SIZE = 2 ** 22 # 4 MiB + + +def _check_vdo_lvm_managed(device): + """ + Determines if the specified device (which has already been identified + as a post-conversion vdo device (at the level of vdo) is managed by lvm. + """ + command = ['blkid', '--match-token', 'TYPE=LVM2_member', device] + result = run(command, checked=False) + exit_code = result['exit_code'] + # 0: Is LVM managed + # 2: Is not LVM manaaged + # other: Unexpected + return exit_code + + +def _check_vdo_pre_conversion(device): + """ + Identify if the specified device is either not a vdo device, a + pre-conversion vdo device or a post-conversion vdo device. + """ + command = ['/usr/libexec/vdoprepareforlvm', '--check', device] + result = run(command, checked=False) + exit_code = result['exit_code'] + # 255: Not a vdo device + # 0: A post-conversion vdo device + # 1: A pre-conversion vdo device + # other: Unexpected + return exit_code + + +def _lvm_package_installed(): + return rpms.has_package(models.InstalledRedHatSignedRPM, 'lvm2') + + +def _vdo_package_installed(): + return rpms.has_package(models.InstalledRedHatSignedRPM, 'vdo') + + +def get_info(storage_info): + pre_conversion_devices = [] + post_conversion_devices = [] + undetermined_conversion_devices = [] + + # Only if lvm is installed can there be VDO instances. + if _lvm_package_installed(): + vdo_package_installed = _vdo_package_installed() + + for lsblk in storage_info.lsblk: + # NOTE: partitions < MIN_DISK_SIZE cannot be handled by vdo and + # the check results in unexpected outputs + if lsblk.tp not in ('disk', 'part') or lsblk.bsize < MIN_DISK_SIZE: + continue + + if not vdo_package_installed: + undetermined_conversion_devices.append( + models.VdoConversionUndeterminedDevice(name=lsblk.name)) + continue + + # refer to kernel name + device = '/dev/{0}'.format(lsblk.kname) + if not os.path.exists(device): + # NOTE: Corner case. It's hypothetical situation which could possibly + # happen but we do not know under what circumstances and we do not + # have time now for investigation. Let's see if someone report it + # to us so we will have a data :) + # For now, stay on the safe side and inhibit the upgrade if this + # happens. + failure = ( + 'cannot check device {0} (kernel name: {1}): file {2} does not exist' + .format(lsblk.name, lsblk.kname, device) + ) + api.current_logger().warning(failure) + undetermined_conversion_devices.append( + models.VdoConversionUndeterminedDevice( + name=lsblk.name, + check_failed=True, + failure=failure + ) + ) + continue + result = _check_vdo_pre_conversion(device) + if result not in (255, 0, 1): + failure = ( + 'unexpected error from \'vdoprepareforlvm\' for {0}; result = {1}' + .format(lsblk.name, result) + ) + undetermined_conversion_devices.append( + models.VdoConversionUndeterminedDevice( + name=lsblk.name, + check_failed=True, + failure=failure + ) + ) + continue + + if result == 255: + # Not a vdo. + continue + + if result: + pre_conversion_devices.append( + models.VdoConversionPreDevice(name=lsblk.name)) + else: + result = _check_vdo_lvm_managed(device) + failure = (None if result in (0, 2) else + 'unexpected error from \'blkid\' for {0}; ' + 'result = {1}'.format(lsblk.name, result)) + + post_conversion_devices.append( + models.VdoConversionPostDevice(name=lsblk.name, + complete=(not result), + check_failed=(failure is not None), + failure=failure)) + + return models.VdoConversionInfo(pre_conversion=pre_conversion_devices, + post_conversion=post_conversion_devices, + undetermined_conversion=undetermined_conversion_devices) diff --git a/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/tests/unit_test_vdoconversionscanner.py b/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/tests/unit_test_vdoconversionscanner.py new file mode 100644 index 0000000..0745c91 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/vdoconversionscanner/tests/unit_test_vdoconversionscanner.py @@ -0,0 +1,281 @@ +import functools +import os +import random + +from leapp import models, reporting +from leapp.libraries.actor import vdoconversionscanner +from leapp.libraries.common.testutils import create_report_mocked + + +def aslist(f): + """ Decorator used to convert generator to list """ + @functools.wraps(f) + def inner(*args, **kwargs): + return list(f(*args, **kwargs)) + return inner + + +def _lsblk_entry(prefix, number, types, size='128G', bsize=2 ** 37): + lsblk_entry_name = '{0}{1}'.format(prefix, number) + return models.LsblkEntry( + name=lsblk_entry_name, + kname=lsblk_entry_name, + maj_min='253:{0}'.format(number), + rm='0', + size=size, + bsize=bsize, + ro='0', + tp=types[random.randint(0, len(types) - 1)], + mountpoint='') + + +@aslist +def _lsblk_entries(pre=0, post=0, complete=0, undetermined=0, small=0, missing=0): + + begin = pre + for x in range(begin): + yield _lsblk_entry('vdo_pre_', x, ['disk', 'part']) + begin += pre + + for x in range(begin, begin + complete): + yield _lsblk_entry('vdo_post_complete_', x, ['disk', 'part']) + begin += complete + + for x in range(begin, begin + (post - complete)): + yield _lsblk_entry('vdo_post_', x, ['disk', 'part']) + begin += post - complete + + for x in range(begin, begin + undetermined): + yield _lsblk_entry('vdo_undetermined_', x, ['disk', 'part']) + begin += undetermined + + for x in range(begin, begin + small): + # this one will not be undetermined. We want to test this one is actually really + # skipped, so we do not find it in the list + yield _lsblk_entry('vdo_undetermined_small_skipped', x, ['disk', 'part'], size='2K', bsize=2 ** 11) + begin += small + + for x in range(begin, begin + missing): + yield _lsblk_entry('vdo_undetermined_missing_', x, ['disk', 'part']) + + +def _storage_info(pre=0, post=0, complete=0, undetermined=0, small=0, missing=0): + return models.StorageInfo(lsblk=_lsblk_entries(pre, post, complete, undetermined, small, missing)) + + +def _check_vdo_lvm_managed(device): + device = os.path.split(device)[-1] + code = 2 + if device.startswith('vdo_') and ("_post_" in device) and ("_complete_" in device): + code = 0 + return code + + +def _check_vdo_pre_conversion(device): + device = os.path.split(device)[-1] + code = 255 + if device.startswith('vdo_'): + code = -1 if '_undetermined_' in device else 1 if "_pre_" in device else 0 + return code + + +def test_check_vdo_pre_conversion(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(vdoconversionscanner, '_lvm_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_vdo_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_lvm_managed', _check_vdo_lvm_managed) + monkeypatch.setattr(os.path, 'exists', lambda dummy_file: True) + + monkeypatch.setattr(vdoconversionscanner, 'run', lambda _, checked: {'exit_code': 0}) + info = vdoconversionscanner.get_info(_storage_info(pre=1)) + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (len(info.post_conversion) == 1) + assert not info.post_conversion[0].complete + assert isinstance(info.undetermined_conversion, list) and (not info.undetermined_conversion) + + monkeypatch.setattr(vdoconversionscanner, 'run', lambda _, checked: {'exit_code': 1}) + info = vdoconversionscanner.get_info(_storage_info(pre=1)) + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (len(info.pre_conversion) == 1) + assert isinstance(info.post_conversion, list) and (not info.post_conversion) + assert isinstance(info.undetermined_conversion, list) and (not info.undetermined_conversion) + + monkeypatch.setattr(vdoconversionscanner, 'run', lambda _, checked: {'exit_code': 255}) + info = vdoconversionscanner.get_info(_storage_info(pre=1)) + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (not info.post_conversion) + assert isinstance(info.undetermined_conversion, list) and (not info.undetermined_conversion) + + monkeypatch.setattr(vdoconversionscanner, 'run', lambda _, checked: {'exit_code': -1}) + info = vdoconversionscanner.get_info(_storage_info(pre=1)) + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (not info.post_conversion) + assert isinstance(info.undetermined_conversion, list) and (len(info.undetermined_conversion) == 1) + + +def test_check_vdo_lvm_managed(monkeypatch): + monkeypatch.setattr(os.path, 'exists', lambda dummy_file: True) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(vdoconversionscanner, '_lvm_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_vdo_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_pre_conversion', _check_vdo_pre_conversion) + + monkeypatch.setattr(vdoconversionscanner, 'run', lambda _, checked: {'exit_code': 0}) + info = vdoconversionscanner.get_info(_storage_info(post=1)) + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (len(info.post_conversion) == 1) + assert info.post_conversion[0].complete + assert not info.post_conversion[0].failure + assert isinstance(info.undetermined_conversion, list) and (not info.undetermined_conversion) + + monkeypatch.setattr(vdoconversionscanner, 'run', lambda _, checked: {'exit_code': 2}) + info = vdoconversionscanner.get_info(_storage_info(post=1)) + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (len(info.post_conversion) == 1) + assert not info.post_conversion[0].complete + assert not info.post_conversion[0].failure + assert isinstance(info.undetermined_conversion, list) and (not info.undetermined_conversion) + + monkeypatch.setattr(vdoconversionscanner, 'run', lambda _, checked: {'exit_code': -1}) + info = vdoconversionscanner.get_info(_storage_info(post=1)) + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (len(info.post_conversion) == 1) + assert not info.post_conversion[0].complete + assert info.post_conversion[0].failure + assert isinstance(info.undetermined_conversion, list) and (not info.undetermined_conversion) + + +def test_lvm_package_not_installed(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(vdoconversionscanner, '_lvm_package_installed', lambda: False) + monkeypatch.setattr(vdoconversionscanner, '_vdo_package_installed', lambda: False) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_pre_conversion', _check_vdo_pre_conversion) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_lvm_managed', _check_vdo_lvm_managed) + + pre = 0 + post = 0 + complete = 0 + undetermined = 5 + + info = vdoconversionscanner.get_info(_storage_info(pre, post, complete, undetermined)) + + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (not info.post_conversion) + assert isinstance(info.undetermined_conversion, list) and (not info.undetermined_conversion) + + +def test_no_vdo_devices(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(vdoconversionscanner, '_lvm_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_vdo_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_pre_conversion', _check_vdo_pre_conversion) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_lvm_managed', _check_vdo_lvm_managed) + + info = vdoconversionscanner.get_info(_storage_info()) + + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (not info.post_conversion) + assert isinstance(info.undetermined_conversion, list) and (not info.undetermined_conversion) + + +def test_vdo_devices(monkeypatch): + monkeypatch.setattr(os.path, 'exists', lambda dummy_file: True) + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(vdoconversionscanner, '_lvm_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_vdo_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_pre_conversion', _check_vdo_pre_conversion) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_lvm_managed', _check_vdo_lvm_managed) + + pre = 5 + post = 7 + complete = 3 + undetermined = 2 + + info = vdoconversionscanner.get_info(_storage_info(pre, post, complete, undetermined)) + + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (len(info.pre_conversion) == pre) + assert isinstance(info.post_conversion, list) and (len(info.post_conversion) == post) + assert len([x for x in info.post_conversion if x.complete]) == complete + assert (isinstance(info.undetermined_conversion, list) and + (len(info.undetermined_conversion) == undetermined)) + + +def test_vdo_package_not_installed(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(vdoconversionscanner, '_lvm_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_vdo_package_installed', lambda: False) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_pre_conversion', _check_vdo_pre_conversion) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_lvm_managed', _check_vdo_lvm_managed) + + pre = 5 + post = 7 + complete = 3 + undetermined = 2 + + info = vdoconversionscanner.get_info(_storage_info(pre, post, complete, undetermined)) + + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (not info.post_conversion) + assert isinstance(info.undetermined_conversion, list) + assert len(info.undetermined_conversion) == (pre + post + undetermined) + + +def test_missing_devices(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(vdoconversionscanner, '_lvm_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_vdo_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_pre_conversion', _check_vdo_pre_conversion) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_lvm_managed', _check_vdo_lvm_managed) + monkeypatch.setattr(os.path, 'exists', lambda fname: '_missing_' not in fname) + + complete = 1 + undetermined = 2 + missing = 1 + + info = vdoconversionscanner.get_info(_storage_info( + complete=complete, undetermined=undetermined, missing=missing + )) + + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (len(info.post_conversion) == complete) + assert isinstance(info.undetermined_conversion, list) + assert len([x for x in info.post_conversion if x.complete]) == complete + assert len(info.undetermined_conversion) == (undetermined + missing) + missing_detected = False + for item in info.undetermined_conversion: + if 'does not exist' in item.failure and '_missing_' in item.name: + missing_detected = True + assert missing_detected + + +def test_small_partition_skip(monkeypatch): + monkeypatch.setattr(reporting, 'create_report', create_report_mocked()) + monkeypatch.setattr(vdoconversionscanner, '_lvm_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_vdo_package_installed', lambda: True) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_pre_conversion', _check_vdo_pre_conversion) + monkeypatch.setattr(vdoconversionscanner, '_check_vdo_lvm_managed', _check_vdo_lvm_managed) + monkeypatch.setattr(os.path, 'exists', lambda fname: '_missing_' not in fname) + + undetermined = 2 + small = 2 + + info = vdoconversionscanner.get_info(_storage_info(undetermined=undetermined, small=small)) + + assert isinstance(info, models.VdoConversionInfo) + assert isinstance(info.pre_conversion, list) and (not info.pre_conversion) + assert isinstance(info.post_conversion, list) and (not info.post_conversion) + assert isinstance(info.undetermined_conversion, list) + assert len(info.undetermined_conversion) == undetermined + for item in info.undetermined_conversion: + assert 'small' not in item.name diff --git a/repos/system_upgrade/el8toel9/actors/xorgdrvcheck/actor.py b/repos/system_upgrade/el8toel9/actors/xorgdrvcheck/actor.py new file mode 100644 index 0000000..2531e4c --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/xorgdrvcheck/actor.py @@ -0,0 +1,52 @@ +from leapp import reporting +from leapp.actors import Actor +from leapp.models import XorgDrvFacts +from leapp.reporting import create_report, Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +SUMMARY_XORG_DEPRECATE_DRIVERS_FMT = ( + 'Leapp has detected the use of some deprecated Xorg drivers. ' + 'Using these drivers could lead to a broken graphical session after the upgrade. ' + 'Any custom configuration related to these drivers will be ignored. ' + 'The list of used deprecated drivers: {}') + +SUMMARY_XORG_DEPRECATE_DRIVERS_HINT = ( + 'Please uninstall the Xorg driver and remove the corresponding driver ' + 'customisation entries from the X.Org configuration files and directories, ' + 'such as `/etc/X11/xorg.conf` and `/etc/X11/xorg.conf.d/` and reboot before ' + 'upgrading to make sure you have a graphical session after upgrading.' +) +FMT_LIST_SEPARATOR = '\n - {}' + + +def _printable_drv(facts): + output = '' + for fact in facts: + for driver in fact.xorg_drivers: + output += FMT_LIST_SEPARATOR.format(driver.driver) + if driver.has_options: + output += ' (with custom driver options)' + return output + + +class XorgDrvCheck8to9(Actor): + """ + Warn if Xorg deprecated drivers are in use. + """ + + name = 'xorgdrvcheck8to9' + consumes = (XorgDrvFacts,) + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + facts = self.consume(XorgDrvFacts) + deprecated_drivers = _printable_drv(facts) + if len(deprecated_drivers) > 0: + create_report([ + reporting.Title('Deprecated Xorg driver detected'), + reporting.Summary(SUMMARY_XORG_DEPRECATE_DRIVERS_FMT.format(deprecated_drivers)), + reporting.Severity(reporting.Severity.MEDIUM), + reporting.Groups([reporting.Groups.DRIVERS]), + reporting.Remediation(hint=SUMMARY_XORG_DEPRECATE_DRIVERS_HINT) + ]) diff --git a/repos/system_upgrade/el8toel9/actors/xorgdrvcheck/tests/test_xorgdrvcheck.py b/repos/system_upgrade/el8toel9/actors/xorgdrvcheck/tests/test_xorgdrvcheck.py new file mode 100644 index 0000000..7a3ec62 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/xorgdrvcheck/tests/test_xorgdrvcheck.py @@ -0,0 +1,19 @@ +from leapp.models import XorgDrv, XorgDrvFacts +from leapp.reporting import Report + + +def test_actor_with_deprecated_driver(current_actor_context): + for driver in ['RADEON', 'ATI', 'AMDGPU', 'MACH64', 'intel', 'spiceqxl', 'qxl', 'NOUVEAU', 'NV', 'VESA']: + xorg_drv = [XorgDrv(driver=driver, has_options=False)] + + current_actor_context.feed(XorgDrvFacts(xorg_drivers=xorg_drv)) + current_actor_context.run() + assert current_actor_context.consume(Report) + + +def test_actor_without_deprecated_driver(current_actor_context): + xorg_drv = [] + + current_actor_context.feed(XorgDrvFacts(xorg_drivers=xorg_drv)) + current_actor_context.run() + assert not current_actor_context.consume(Report) diff --git a/repos/system_upgrade/el8toel9/actors/xorgdrvfact/actor.py b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/actor.py new file mode 100644 index 0000000..64ebb10 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/actor.py @@ -0,0 +1,28 @@ +from leapp.actors import Actor +from leapp.libraries.actor.xorgdriverlib import check_drv_and_options, get_xorg_logs_from_journal +from leapp.libraries.stdlib import api +from leapp.models import XorgDrvFacts +from leapp.tags import FactsPhaseTag, IPUWorkflowTag + + +class XorgDrvFacts8to9(Actor): + """ + Check the journal logs for deprecated Xorg drivers. + + This actor checks the journal logs and looks for deprecated Xorg drivers. + """ + + name = 'xorgdrvfacts8to9' + consumes = () + produces = (XorgDrvFacts,) + tags = (IPUWorkflowTag, FactsPhaseTag) + + def process(self): + xorg_logs = get_xorg_logs_from_journal() + deprecated_drivers = [] + for driver in ['RADEON', 'ATI', 'AMDGPU', 'MACH64', 'intel', 'spiceqxl', 'qxl', 'NOUVEAU', 'NV', 'VESA']: + deprecated_driver = check_drv_and_options(driver, xorg_logs) + if deprecated_driver: + deprecated_drivers.append(deprecated_driver) + + api.produce(XorgDrvFacts(xorg_drivers=deprecated_drivers)) diff --git a/repos/system_upgrade/el8toel9/actors/xorgdrvfact/libraries/xorgdriverlib.py b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/libraries/xorgdriverlib.py new file mode 100644 index 0000000..713e4ec --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/libraries/xorgdriverlib.py @@ -0,0 +1,36 @@ +# +# Helper functions +# + +import re + +from leapp.libraries.stdlib import api, CalledProcessError, run +from leapp.models import XorgDrv + + +def check_drv_and_options(driver, logs): + regex_driver = re.compile(''.join([driver, '.*DPI set to'])) + regex_options = re.compile(''.join([r'\(\*\*\)', '.*', driver])) + has_driver = False + has_options = False + + for line in logs: + if re.search(regex_driver, line): + has_driver = True + if re.search(regex_options, line): + has_options = True + + if not has_driver: + return None + + return XorgDrv(driver=driver, has_options=has_options) + + +def get_xorg_logs_from_journal(): + try: + output = run(['/usr/bin/journalctl', '/usr/libexec/Xorg', '-o', 'cat', '-b', '0'], split=True) + except CalledProcessError: + api.current_logger().debug('No Xorg logs found in journal.') + return [] + + return output['stdout'] diff --git a/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-intel b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-intel new file mode 100644 index 0000000..7d5b441 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-intel @@ -0,0 +1,461 @@ +(--) Log file renamed from "/home/johndoe/.local/share/xorg/Xorg.pid-1694.log" to "/home/johndoe/.local/share/xorg/Xorg.0.log" +X.Org X Server 1.20.11 +X Protocol Version 11, Revision 0 +Build Operating System: 4.18.0-305.17.1.el8_4.x86_64 +Current Operating System: Linux el8 4.18.0-409.el8.x86_64 #1 SMP Tue Jul 12 00:42:37 EDT 2022 x86_64 +Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-409.el8.x86_64 root=/dev/mapper/rhel_el8-root ro resume=/dev/mapper/rhel_el8-swap rd.lvm.lv=rhel_el8/root rd.lvm.lv=rhel_el8/swap rhgb quiet +Build Date: 09 June 2022 04:30:21PM +Build ID: xorg-x11-server 1.20.11-8.el8 +Current version of pixman: 0.38.4 + Before reporting problems, check http://wiki.x.org + to make sure that you have the latest version. +Markers: (--) probed, (**) from config file, (==) default setting, + (++) from command line, (!!) notice, (II) informational, + (WW) warning, (EE) error, (NI) not implemented, (??) unknown. +(==) Log file: "/home/johndoe/.local/share/xorg/Xorg.2.log", Time: Wed May 10 10:21:00 2023 +(==) Using config directory: "/etc/X11/xorg.conf.d" +(==) Using system config directory "/usr/share/X11/xorg.conf.d" +(==) No Layout section. Using the first Screen section. +(==) No screen section available. Using defaults. +(**) |-->Screen "Default Screen Section" (0) +(**) | |-->Monitor "" +(==) No device specified for screen "Default Screen Section". + Using the first device section listed. +(**) | |-->Device "Intel Graphics" +(==) No monitor specified for screen "Default Screen Section". + Using a default monitor configuration. +(==) Automatically adding devices +(==) Automatically enabling devices +(==) Automatically adding GPU devices +(==) Automatically binding GPU devices +(==) Max clients allowed: 256, resource mask: 0x1fffff +(==) FontPath set to: + catalogue:/etc/X11/fontpath.d, + built-ins +(==) ModulePath set to "/usr/lib64/xorg/modules" +(II) The server relies on udev to provide the list of input devices. + If no devices become available, reconfigure udev or disable AutoAddDevices. +(II) Loader magic: 0x564b9143fa80 +(II) Module ABI versions: + X.Org ANSI C Emulation: 0.4 + X.Org Video Driver: 24.1 + X.Org XInput driver : 24.1 + X.Org Server Extension : 10.0 +(++) using VT number 3 +(II) systemd-logind: took control of session /org/freedesktop/login1/session/_37 +(II) xfree86: Adding drm device (/dev/dri/card0) +(II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 16 paused 0 +(--) PCI:*(0@0:2:0) 8086:5917:17aa:2258 rev 7, Mem @ 0xeb000000/16777216, 0xa0000000/268435456, I/O @ 0x0000e000/64, BIOS @ 0x????????/65536 +(II) LoadModule: "glx" +(II) Loading /usr/lib64/xorg/modules/extensions/libglx.so +(II) Module glx: vendor="X.Org Foundation" + compiled for 1.20.14, module version = 1.0.0 + ABI class: X.Org Server Extension, version 10.0 +(II) LoadModule: "intel" +(II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so +(II) Module intel: vendor="X.Org Foundation" + compiled for 1.20.14, module version = 2.99.917 + Module class: X.Org Video Driver + ABI class: X.Org Video Driver, version 24.1 +(II) intel: Driver for Intel(R) Integrated Graphics Chipsets: + i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, + 915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, + Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, + GM45, 4 Series, G45/G43, Q45/Q43, G41, B43 +(II) intel: Driver for Intel(R) HD Graphics +(II) intel: Driver for Intel(R) Iris(TM) Graphics +(II) intel: Driver for Intel(R) Iris(TM) Pro Graphics +(II) intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20201103 +(WW) VGA arbiter: cannot open kernel arbiter, no multi-card support +(--) intel(0): gen9 engineering sample +(--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2; using a maximum of 4 threads +(II) intel(0): Creating default Display subsection in Screen section + "Default Screen Section" for depth/fbbpp 24/32 +(==) intel(0): Depth 24, (--) framebuffer bpp 32 +(==) intel(0): RGB weight 888 +(==) intel(0): Default visual is TrueColor +(**) intel(0): Option "DRI" "3" +(**) intel(0): Option "TearFree" "true" +(II) intel(0): Output eDP1 has no monitor section +(**) intel(0): Found backlight control interface intel_backlight (type 'raw') for output eDP1 +(II) intel(0): Enabled output eDP1 +(II) intel(0): Output DP1 has no monitor section +(II) intel(0): Enabled output DP1 +(II) intel(0): Output HDMI1 has no monitor section +(II) intel(0): Enabled output HDMI1 +(II) intel(0): Output DP2 has no monitor section +(II) intel(0): Enabled output DP2 +(II) intel(0): Output HDMI2 has no monitor section +(II) intel(0): Enabled output HDMI2 +(II) intel(0): Output DP1-1 has no monitor section +(II) intel(0): Enabled output DP1-1 +(II) intel(0): Output DP1-2 has no monitor section +(II) intel(0): Enabled output DP1-2 +(II) intel(0): Output DP1-3 has no monitor section +(II) intel(0): Enabled output DP1-3 +(--) intel(0): Using a maximum size of 256x256 for hardware cursors +(II) intel(0): Output VIRTUAL1 has no monitor section +(II) intel(0): Enabled output VIRTUAL1 +(--) intel(0): Output eDP1 using initial mode 1920x1080 on pipe 0 +(--) intel(0): Output DP1-1 using initial mode 1920x1200 on pipe 1 +(**) intel(0): TearFree enabled +(==) intel(0): Using gamma correction (1.0, 1.0, 1.0) +(==) intel(0): DPI set to (96, 96) +(II) Loading sub module "dri3" +(II) LoadModule: "dri3" +(II) Module "dri3" already built-in +(II) Loading sub module "dri2" +(II) LoadModule: "dri2" +(II) Module "dri2" already built-in +(II) Loading sub module "present" +(II) LoadModule: "present" +(II) Module "present" already built-in +(II) intel(0): SNA initialized with Kabylake (gen9) backend +(==) intel(0): Backing store enabled +(==) intel(0): Silken mouse enabled +(II) intel(0): HW Cursor enabled +(==) intel(0): DPMS enabled +(==) intel(0): Display hotplug detection enabled +(II) intel(0): [DRI2] Setup complete +(II) intel(0): [DRI2] DRI driver: i965 +(II) intel(0): [DRI2] VDPAU driver: va_gl +(II) intel(0): direct rendering: DRI2 DRI3 enabled +(II) intel(0): hardware support for Present enabled +(II) Initializing extension Generic Event Extension +(II) Initializing extension SHAPE +(II) Initializing extension MIT-SHM +(II) Initializing extension XInputExtension +(II) Initializing extension XTEST +(II) Initializing extension BIG-REQUESTS +(II) Initializing extension SYNC +(II) Initializing extension XKEYBOARD +(II) Initializing extension XC-MISC +(II) Initializing extension SECURITY +(II) Initializing extension XFIXES +(II) Initializing extension RENDER +(II) Initializing extension RANDR +(II) Initializing extension COMPOSITE +(II) Initializing extension DAMAGE +(II) Initializing extension MIT-SCREEN-SAVER +(II) Initializing extension DOUBLE-BUFFER +(II) Initializing extension RECORD +(II) Initializing extension DPMS +(II) Initializing extension Present +(II) Initializing extension DRI3 +(II) Initializing extension X-Resource +(II) Initializing extension XVideo +(II) Initializing extension XVideo-MotionCompensation +(II) Initializing extension SELinux +(II) SELinux: Disabled by boolean +(II) Initializing extension GLX +(EE) AIGLX error: dlopen of /usr/lib64/dri/i965_dri.so failed (/usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory) +(EE) AIGLX error: unable to load driver i965 +(II) IGLX: Loaded and initialized swrast +(II) GLX: Initialized DRISWRAST GL provider for screen 0 +(II) Initializing extension XFree86-VidModeExtension +(II) Initializing extension XFree86-DGA +(II) Initializing extension DRI2 +(II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none +(II) intel(0): switch to mode 1920x1200@60.0 on DP1-1 using pipe 1, position (0, 0), rotation normal, reflection none +(II) intel(0): Setting screen physical size to 508 x 317 +(II) config/udev: Adding input device Power Button (/dev/input/event2) +(**) Power Button: Applying InputClass "evdev keyboard catchall" +(**) Power Button: Applying InputClass "libinput keyboard catchall" +(**) Power Button: Applying InputClass "system-keyboard" +(II) LoadModule: "libinput" +(II) Loading /usr/lib64/xorg/modules/input/libinput_drv.so +(II) Module libinput: vendor="X.Org Foundation" + compiled for 1.20.14, module version = 1.3.0 + Module class: X.Org XInput Driver + ABI class: X.Org XInput driver, version 24.1 +(II) Using input driver 'libinput' for 'Power Button' +(II) systemd-logind: got fd for /dev/input/event2 13:66 fd 26 paused 0 +(**) Power Button: always reports core events +(**) Option "Device" "/dev/input/event2" +(II) event2 - Power Button: is tagged by udev as: Keyboard +(II) event2 - Power Button: device is a keyboard +(II) event2 - Power Button: device removed +(**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2/event2" +(II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event2 - Power Button: is tagged by udev as: Keyboard +(II) event2 - Power Button: device is a keyboard +(II) config/udev: Adding input device Video Bus (/dev/input/event10) +(**) Video Bus: Applying InputClass "evdev keyboard catchall" +(**) Video Bus: Applying InputClass "libinput keyboard catchall" +(**) Video Bus: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'Video Bus' +(II) systemd-logind: got fd for /dev/input/event10 13:74 fd 29 paused 0 +(**) Video Bus: always reports core events +(**) Option "Device" "/dev/input/event10" +(II) event10 - Video Bus: is tagged by udev as: Keyboard +(II) event10 - Video Bus: device is a keyboard +(II) event10 - Video Bus: device removed +(**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input11/event10" +(II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD, id 7) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event10 - Video Bus: is tagged by udev as: Keyboard +(II) event10 - Video Bus: device is a keyboard +(II) config/udev: Adding input device Lid Switch (/dev/input/event1) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device Sleep Button (/dev/input/event0) +(**) Sleep Button: Applying InputClass "evdev keyboard catchall" +(**) Sleep Button: Applying InputClass "libinput keyboard catchall" +(**) Sleep Button: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'Sleep Button' +(II) systemd-logind: got fd for /dev/input/event0 13:64 fd 30 paused 0 +(**) Sleep Button: always reports core events +(**) Option "Device" "/dev/input/event0" +(II) event0 - Sleep Button: is tagged by udev as: Keyboard +(II) event0 - Sleep Button: device is a keyboard +(II) event0 - Sleep Button: device removed +(**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0/event0" +(II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD, id 8) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event0 - Sleep Button: is tagged by udev as: Keyboard +(II) event0 - Sleep Button: device is a keyboard +(II) config/udev: Adding input device Yubico Yubico Yubikey II (/dev/input/event4) +(**) Yubico Yubico Yubikey II: Applying InputClass "evdev keyboard catchall" +(**) Yubico Yubico Yubikey II: Applying InputClass "libinput keyboard catchall" +(**) Yubico Yubico Yubikey II: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'Yubico Yubico Yubikey II' +(II) systemd-logind: got fd for /dev/input/event4 13:68 fd 31 paused 0 +(**) Yubico Yubico Yubikey II: always reports core events +(**) Option "Device" "/dev/input/event4" +(II) event4 - Yubico Yubico Yubikey II: is tagged by udev as: Keyboard +(II) event4 - Yubico Yubico Yubikey II: device is a keyboard +(II) event4 - Yubico Yubico Yubikey II: device removed +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:1050:0010.0001/input/input6/event4" +(II) XINPUT: Adding extended input device "Yubico Yubico Yubikey II" (type: KEYBOARD, id 9) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event4 - Yubico Yubico Yubikey II: is tagged by udev as: Keyboard +(II) event4 - Yubico Yubico Yubikey II: device is a keyboard +(II) config/udev: Adding input device Integrated Camera: Integrated C (/dev/input/event17) +(**) Integrated Camera: Integrated C: Applying InputClass "evdev keyboard catchall" +(**) Integrated Camera: Integrated C: Applying InputClass "libinput keyboard catchall" +(**) Integrated Camera: Integrated C: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'Integrated Camera: Integrated C' +(II) systemd-logind: got fd for /dev/input/event17 13:81 fd 32 paused 0 +(**) Integrated Camera: Integrated C: always reports core events +(**) Option "Device" "/dev/input/event17" +(II) event17 - Integrated Camera: Integrated C: is tagged by udev as: Keyboard +(II) event17 - Integrated Camera: Integrated C: device is a keyboard +(II) event17 - Integrated Camera: Integrated C: device removed +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input22/event17" +(II) XINPUT: Adding extended input device "Integrated Camera: Integrated C" (type: KEYBOARD, id 10) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event17 - Integrated Camera: Integrated C: is tagged by udev as: Keyboard +(II) event17 - Integrated Camera: Integrated C: device is a keyboard +(II) config/udev: Adding input device Lenovo ThinkPad Thunderbolt 3 Dock USB Audio (/dev/input/event6) +(**) Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: Applying InputClass "evdev keyboard catchall" +(**) Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: Applying InputClass "libinput keyboard catchall" +(**) Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'Lenovo ThinkPad Thunderbolt 3 Dock USB Audio' +(II) systemd-logind: got fd for /dev/input/event6 13:70 fd 33 paused 0 +(**) Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: always reports core events +(**) Option "Device" "/dev/input/event6" +(II) event6 - Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: is tagged by udev as: Keyboard +(II) event6 - Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: device is a keyboard +(II) event6 - Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: device removed +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/0000:05:01.0/0000:07:00.0/0000:08:00.0/0000:09:00.0/usb3/3-1/3-1:1.3/0003:17EF:306A.0003/input/input8/event6" +(II) XINPUT: Adding extended input device "Lenovo ThinkPad Thunderbolt 3 Dock USB Audio" (type: KEYBOARD, id 11) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event6 - Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: is tagged by udev as: Keyboard +(II) event6 - Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: device is a keyboard +(II) config/udev: Adding input device USB OPTICAL MOUSE (/dev/input/event5) +(**) USB OPTICAL MOUSE : Applying InputClass "evdev pointer catchall" +(**) USB OPTICAL MOUSE : Applying InputClass "libinput pointer catchall" +(II) Using input driver 'libinput' for 'USB OPTICAL MOUSE ' +(II) systemd-logind: got fd for /dev/input/event5 13:69 fd 34 paused 0 +(**) USB OPTICAL MOUSE : always reports core events +(**) Option "Device" "/dev/input/event5" +(II) event5 - USB OPTICAL MOUSE : is tagged by udev as: Mouse +(II) event5 - USB OPTICAL MOUSE : device is a pointer +(II) event5 - USB OPTICAL MOUSE : device removed +(II) libinput: USB OPTICAL MOUSE : Step value 0 was provided, libinput Fallback acceleration function is used. +(II) libinput: USB OPTICAL MOUSE : Step value 0 was provided, libinput Fallback acceleration function is used. +(II) libinput: USB OPTICAL MOUSE : Step value 0 was provided, libinput Fallback acceleration function is used. +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/0000:05:01.0/0000:07:00.0/0000:08:02.0/0000:0b:00.0/usb5/5-3/5-3:1.0/0003:30FA:0400.0002/input/input7/event5" +(II) XINPUT: Adding extended input device "USB OPTICAL MOUSE " (type: MOUSE, id 12) +(**) Option "AccelerationScheme" "none" +(**) USB OPTICAL MOUSE : (accel) selected scheme none/0 +(**) USB OPTICAL MOUSE : (accel) acceleration factor: 2.000 +(**) USB OPTICAL MOUSE : (accel) acceleration threshold: 4 +(II) event5 - USB OPTICAL MOUSE : is tagged by udev as: Mouse +(II) event5 - USB OPTICAL MOUSE : device is a pointer +(II) config/udev: Adding input device USB OPTICAL MOUSE (/dev/input/mouse0) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device HID 046a:0011 (/dev/input/event9) +(**) HID 046a:0011: Applying InputClass "evdev keyboard catchall" +(**) HID 046a:0011: Applying InputClass "libinput keyboard catchall" +(**) HID 046a:0011: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'HID 046a:0011' +(II) systemd-logind: got fd for /dev/input/event9 13:73 fd 35 paused 0 +(**) HID 046a:0011: always reports core events +(**) Option "Device" "/dev/input/event9" +(II) event9 - HID 046a:0011: is tagged by udev as: Keyboard +(II) event9 - HID 046a:0011: device is a keyboard +(II) event9 - HID 046a:0011: device removed +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/0000:05:01.0/0000:07:00.0/0000:08:02.0/0000:0b:00.0/usb5/5-4/5-4:1.0/0003:046A:0011.0004/input/input10/event9" +(II) XINPUT: Adding extended input device "HID 046a:0011" (type: KEYBOARD, id 13) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event9 - HID 046a:0011: is tagged by udev as: Keyboard +(II) event9 - HID 046a:0011: device is a keyboard +(II) config/udev: Adding input device HDA Intel PCH Mic (/dev/input/event8) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device HDA Intel PCH Headphone (/dev/input/event11) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=3 (/dev/input/event12) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=7 (/dev/input/event13) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=8 (/dev/input/event14) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device Elan Touchpad (/dev/input/event15) +(**) Elan Touchpad: Applying InputClass "evdev touchpad catchall" +(**) Elan Touchpad: Applying InputClass "libinput touchpad catchall" +(II) Using input driver 'libinput' for 'Elan Touchpad' +(II) systemd-logind: got fd for /dev/input/event15 13:79 fd 36 paused 0 +(**) Elan Touchpad: always reports core events +(**) Option "Device" "/dev/input/event15" +(II) event15 - Elan Touchpad: is tagged by udev as: Touchpad +(II) event15 - Elan Touchpad: device is a touchpad +(II) event15 - Elan Touchpad: device removed +(II) libinput: Elan Touchpad: Step value 0 was provided, libinput Fallback acceleration function is used. +(II) libinput: Elan Touchpad: Step value 0 was provided, libinput Fallback acceleration function is used. +(II) libinput: Elan Touchpad: Step value 0 was provided, libinput Fallback acceleration function is used. +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1f.4/i2c-8/8-0015/input/input20/event15" +(II) XINPUT: Adding extended input device "Elan Touchpad" (type: TOUCHPAD, id 14) +(**) Option "AccelerationScheme" "none" +(**) Elan Touchpad: (accel) selected scheme none/0 +(**) Elan Touchpad: (accel) acceleration factor: 2.000 +(**) Elan Touchpad: (accel) acceleration threshold: 4 +(II) event15 - Elan Touchpad: is tagged by udev as: Touchpad +(II) event15 - Elan Touchpad: device is a touchpad +(II) config/udev: Adding input device Elan Touchpad (/dev/input/mouse1) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device Elan TrackPoint (/dev/input/event16) +(**) Elan TrackPoint: Applying InputClass "evdev pointer catchall" +(**) Elan TrackPoint: Applying InputClass "libinput pointer catchall" +(II) Using input driver 'libinput' for 'Elan TrackPoint' +(II) systemd-logind: got fd for /dev/input/event16 13:80 fd 37 paused 0 +(**) Elan TrackPoint: always reports core events +(**) Option "Device" "/dev/input/event16" +(II) event16 - Elan TrackPoint: is tagged by udev as: Mouse Pointingstick +(II) event16 - Elan TrackPoint: device is a pointer +(II) event16 - Elan TrackPoint: device removed +(II) libinput: Elan TrackPoint: Step value 0 was provided, libinput Fallback acceleration function is used. +(II) libinput: Elan TrackPoint: Step value 0 was provided, libinput Fallback acceleration function is used. +(II) libinput: Elan TrackPoint: Step value 0 was provided, libinput Fallback acceleration function is used. +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1f.4/i2c-8/8-0015/input/input21/event16" +(II) XINPUT: Adding extended input device "Elan TrackPoint" (type: MOUSE, id 15) +(**) Option "AccelerationScheme" "none" +(**) Elan TrackPoint: (accel) selected scheme none/0 +(**) Elan TrackPoint: (accel) acceleration factor: 2.000 +(**) Elan TrackPoint: (accel) acceleration threshold: 4 +(II) event16 - Elan TrackPoint: is tagged by udev as: Mouse Pointingstick +(II) event16 - Elan TrackPoint: device is a pointer +(II) config/udev: Adding input device Elan TrackPoint (/dev/input/mouse2) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event3) +(**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall" +(**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall" +(**) AT Translated Set 2 keyboard: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard' +(II) systemd-logind: got fd for /dev/input/event3 13:67 fd 38 paused 0 +(**) AT Translated Set 2 keyboard: always reports core events +(**) Option "Device" "/dev/input/event3" +(II) event3 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard +(II) event3 - AT Translated Set 2 keyboard: device is a keyboard +(II) event3 - AT Translated Set 2 keyboard: device removed +(**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input3/event3" +(II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 16) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event3 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard +(II) event3 - AT Translated Set 2 keyboard: device is a keyboard +(II) config/udev: Adding input device ThinkPad Extra Buttons (/dev/input/event7) +(**) ThinkPad Extra Buttons: Applying InputClass "evdev keyboard catchall" +(**) ThinkPad Extra Buttons: Applying InputClass "libinput keyboard catchall" +(**) ThinkPad Extra Buttons: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'ThinkPad Extra Buttons' +(II) systemd-logind: got fd for /dev/input/event7 13:71 fd 39 paused 0 +(**) ThinkPad Extra Buttons: always reports core events +(**) Option "Device" "/dev/input/event7" +(II) event7 - ThinkPad Extra Buttons: is tagged by udev as: Keyboard Switch +(II) event7 - ThinkPad Extra Buttons: device is a keyboard +(II) event7 - ThinkPad Extra Buttons: device removed +(**) Option "config_info" "udev:/sys/devices/platform/thinkpad_acpi/input/input12/event7" +(II) XINPUT: Adding extended input device "ThinkPad Extra Buttons" (type: KEYBOARD, id 17) +(**) Option "xkb_layout" "gb,fr" +(**) Option "xkb_variant" ",oss" +(II) event7 - ThinkPad Extra Buttons: is tagged by udev as: Keyboard Switch +(II) event7 - ThinkPad Extra Buttons: device is a keyboard +(II) intel(0): EDID vendor "CMN", prod id 5321 +(II) intel(0): Printing DDC gathered Modelines: +(II) intel(0): Modeline "1920x1080"x0.0 152.84 1920 2000 2060 2250 1080 1086 1094 1132 -hsync -vsync (67.9 kHz eP) +(**) Option "fd" "26" +(II) event2 - Power Button: device removed +(**) Option "fd" "29" +(II) event10 - Video Bus: device removed +(**) Option "fd" "30" +(II) event0 - Sleep Button: device removed +(**) Option "fd" "31" +(II) event4 - Yubico Yubico Yubikey II: device removed +(**) Option "fd" "32" +(II) event17 - Integrated Camera: Integrated C: device removed +(**) Option "fd" "33" +(II) event6 - Lenovo ThinkPad Thunderbolt 3 Dock USB Audio: device removed +(**) Option "fd" "34" +(II) event5 - USB OPTICAL MOUSE : device removed +(**) Option "fd" "35" +(II) event9 - HID 046a:0011: device removed +(**) Option "fd" "36" +(II) event15 - Elan Touchpad: device removed +(**) Option "fd" "37" +(II) event16 - Elan TrackPoint: device removed +(**) Option "fd" "38" +(II) event3 - AT Translated Set 2 keyboard: device removed +(**) Option "fd" "39" +(II) event7 - ThinkPad Extra Buttons: device removed +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:71 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:67 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:80 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:79 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:73 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:69 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:70 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:81 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:68 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:64 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:74 +(II) UnloadModule: "libinput" +(II) systemd-logind: releasing fd for 13:66 +(II) Server terminated successfully (0). Closing log file. diff --git a/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-qxl b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-qxl new file mode 100644 index 0000000..1fa4815 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-qxl @@ -0,0 +1,309 @@ +(--) Log file renamed from "/home/johndoe/.local/share/xorg/Xorg.pid-1694.log" to "/home/johndoe/.local/share/xorg/Xorg.0.log" +X.Org X Server 1.20.11 +X Protocol Version 11, Revision 0 +Build Operating System: 4.18.0-305.17.1.el8_4.x86_64 +Current Operating System: Linux el8 4.18.0-409.el8.x86_64 #1 SMP Tue Jul 12 00:42:37 EDT 2022 x86_64 +Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-409.el8.x86_64 root=/dev/mapper/rhel_el8-root ro resume=/dev/mapper/rhel_el8-swap rd.lvm.lv=rhel_el8/root rd.lvm.lv=rhel_el8/swap rhgb quiet +Build Date: 09 June 2022 04:30:21PM +Build ID: xorg-x11-server 1.20.11-8.el8 +Current version of pixman: 0.38.4 + Before reporting problems, check http://wiki.x.org + to make sure that you have the latest version. +Markers: (--) probed, (**) from config file, (==) default setting, + (++) from command line, (!!) notice, (II) informational, + (WW) warning, (EE) error, (NI) not implemented, (??) unknown. +(==) Log file: "/home/johndoe/.local/share/xorg/Xorg.2.log", Time: Wed May 10 10:21:00 2023 +(==) Using config directory: "/etc/X11/xorg.conf.d" +(==) Using system config directory "/usr/share/X11/xorg.conf.d" +(==) No Layout section. Using the first Screen section. +(==) No screen section available. Using defaults. +(**) |-->Screen "Default Screen Section" (0) +(**) | |-->Monitor "" +(==) No monitor specified for screen "Default Screen Section". + Using a default monitor configuration. +(==) Automatically adding devices +(==) Automatically enabling devices +(==) Automatically adding GPU devices +(==) Automatically binding GPU devices +(==) Max clients allowed: 256, resource mask: 0x1fffff +(==) FontPath set to: + catalogue:/etc/X11/fontpath.d, + built-ins +(==) ModulePath set to "/usr/lib64/xorg/modules" +(II) The server relies on udev to provide the list of input devices. + If no devices become available, reconfigure udev or disable AutoAddDevices. +(II) Loader magic: 0x56380b065020 +(II) Module ABI versions: + X.Org ANSI C Emulation: 0.4 + X.Org Video Driver: 24.1 + X.Org XInput driver : 24.1 + X.Org Server Extension : 10.0 +(++) using VT number 2 +(II) systemd-logind: took control of session /org/freedesktop/login1/session/_32 +(II) xfree86: Adding drm device (/dev/dri/card0) +(II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card0 +(II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 12 paused 0 +(--) PCI:*(0@0:2:0) 1b36:0100:1af4:1100 rev 4, Mem @ 0xf4000000/67108864, 0xf8000000/67108864, 0xfc054000/8192, I/O @ 0x0000c080/32, BIOS @ 0x????????/65536 +(II) LoadModule: "glx" +(II) Loading /usr/lib64/xorg/modules/extensions/libglx.so +(II) Module glx: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 1.0.0 + ABI class: X.Org Server Extension, version 10.0 +(==) Matched qxl as autoconfigured driver 0 +(==) Matched modesetting as autoconfigured driver 1 +(==) Matched fbdev as autoconfigured driver 2 +(==) Matched vesa as autoconfigured driver 3 +(==) Assigned the driver to the xf86ConfigLayout +(II) LoadModule: "qxl" +(II) Loading /usr/lib64/xorg/modules/drivers/qxl_drv.so +(II) Module qxl: vendor="X.Org Foundation" + compiled for 1.20.3, module version = 0.1.5 + Module class: X.Org Video Driver + ABI class: X.Org Video Driver, version 24.0 +(II) LoadModule: "modesetting" +(II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so +(II) Module modesetting: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 1.20.11 + Module class: X.Org Video Driver + ABI class: X.Org Video Driver, version 24.1 +(II) LoadModule: "fbdev" +(II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so +(II) Module fbdev: vendor="X.Org Foundation" + compiled for 1.20.1, module version = 0.5.0 + Module class: X.Org Video Driver + ABI class: X.Org Video Driver, version 24.0 +(II) LoadModule: "vesa" +(II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so +(II) Module vesa: vendor="X.Org Foundation" + compiled for 1.20.2, module version = 2.4.0 + Module class: X.Org Video Driver + ABI class: X.Org Video Driver, version 24.0 +(II) qxl: Driver for QXL virtual graphics: QXL 1 +(II) modesetting: Driver for Modesetting Kernel Drivers: kms +(II) FBDEV: driver for framebuffer: fbdev +(II) VESA: driver for VESA chipsets: vesa +xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted) +(II) [KMS] Kernel modesetting enabled. +(WW) Falling back to old probe method for modesetting +(WW) Falling back to old probe method for fbdev +(II) Loading sub module "fbdevhw" +(II) LoadModule: "fbdevhw" +(II) Loading /usr/lib64/xorg/modules/libfbdevhw.so +(II) Module fbdevhw: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 0.0.2 + ABI class: X.Org Video Driver, version 24.1 +(EE) open /dev/fb0: Permission denied +(WW) VGA arbiter: cannot open kernel arbiter, no multi-card support +(II) qxl(0): Creating default Display subsection in Screen section + "Default Screen Section" for depth/fbbpp 24/32 +(==) qxl(0): Depth 24, (--) framebuffer bpp 32 +(==) qxl(0): RGB weight 888 +(==) qxl(0): Default visual is TrueColor +(==) qxl(0): Using gamma correction (1.0, 1.0, 1.0) +(II) qxl(0): Deferred Frames: Disabled +(II) qxl(0): Offscreen Surfaces: Enabled +(II) qxl(0): Image Cache: Enabled +(II) qxl(0): Fallback Cache: Enabled +(==) qxl(0): DPI set to (96, 96) +(II) Loading sub module "fb" +(II) LoadModule: "fb" +(II) Loading /usr/lib64/xorg/modules/libfb.so +(II) Module fb: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 1.0.0 + ABI class: X.Org ANSI C Emulation, version 0.4 +(II) Loading sub module "ramdac" +(II) LoadModule: "ramdac" +(II) Module "ramdac" already built-in +(II) qxl(0): Output Virtual-0 has no monitor section +(II) qxl(0): Output Virtual-1 has no monitor section +(II) qxl(0): Output Virtual-2 has no monitor section +(II) qxl(0): Output Virtual-3 has no monitor section +(II) qxl(0): EDID for output Virtual-0 +(II) qxl(0): Printing probed modes for output Virtual-0 +(II) qxl(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz eP) +(II) qxl(0): Modeline "2560x1600"x60.0 348.50 2560 2752 3032 3504 1600 1603 1609 1658 -hsync +vsync (99.5 kHz e) +(II) qxl(0): Modeline "2560x1600"x60.0 268.50 2560 2608 2640 2720 1600 1603 1609 1646 +hsync -vsync (98.7 kHz e) +(II) qxl(0): Modeline "1920x1440"x60.0 234.00 1920 2048 2256 2600 1440 1441 1444 1500 -hsync +vsync (90.0 kHz e) +(II) qxl(0): Modeline "1856x1392"x60.0 218.25 1856 1952 2176 2528 1392 1393 1396 1439 -hsync +vsync (86.3 kHz e) +(II) qxl(0): Modeline "1792x1344"x60.0 204.75 1792 1920 2120 2448 1344 1345 1348 1394 -hsync +vsync (83.6 kHz e) +(II) qxl(0): Modeline "2048x1152"x60.0 162.00 2048 2074 2154 2250 1152 1153 1156 1200 +hsync +vsync (72.0 kHz e) +(II) qxl(0): Modeline "1920x1200"x59.9 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync (74.6 kHz e) +(II) qxl(0): Modeline "1920x1200"x60.0 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync (74.0 kHz e) +(II) qxl(0): Modeline "1920x1080"x60.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 -hsync -vsync (67.5 kHz e) +(II) qxl(0): Modeline "1600x1200"x60.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz e) +(II) qxl(0): Modeline "1680x1050"x60.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz e) +(II) qxl(0): Modeline "1680x1050"x59.9 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync (64.7 kHz e) +(II) qxl(0): Modeline "1400x1050"x60.0 121.75 1400 1488 1632 1864 1050 1053 1057 1089 -hsync +vsync (65.3 kHz e) +(II) qxl(0): Modeline "1400x1050"x59.9 101.00 1400 1448 1480 1560 1050 1053 1057 1080 +hsync -vsync (64.7 kHz e) +(II) qxl(0): Modeline "1600x900"x60.0 108.00 1600 1624 1704 1800 900 901 904 1000 +hsync +vsync (60.0 kHz e) +(II) qxl(0): Modeline "1280x1024"x60.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz e) +(II) qxl(0): Modeline "1440x900"x59.9 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz e) +(II) qxl(0): Modeline "1440x900"x59.9 88.75 1440 1488 1520 1600 900 903 909 926 +hsync -vsync (55.5 kHz e) +(II) qxl(0): Modeline "1280x960"x60.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz e) +(II) qxl(0): Modeline "1280x854"x60.0 89.34 1280 1352 1480 1680 854 857 867 887 -hsync +vsync (53.2 kHz) +(II) qxl(0): Modeline "1366x768"x59.8 85.50 1366 1436 1579 1792 768 771 774 798 +hsync +vsync (47.7 kHz e) +(II) qxl(0): Modeline "1366x768"x60.0 72.00 1366 1380 1436 1500 768 769 772 800 +hsync +vsync (48.0 kHz e) +(II) qxl(0): Modeline "1360x768"x60.0 85.50 1360 1424 1536 1792 768 771 777 795 +hsync +vsync (47.7 kHz e) +(II) qxl(0): Modeline "1280x800"x59.8 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz e) +(II) qxl(0): Modeline "1280x800"x59.9 71.00 1280 1328 1360 1440 800 803 809 823 +hsync -vsync (49.3 kHz e) +(II) qxl(0): Modeline "1280x768"x59.9 79.50 1280 1344 1472 1664 768 771 778 798 -hsync +vsync (47.8 kHz e) +(II) qxl(0): Modeline "1280x768"x60.0 68.25 1280 1328 1360 1440 768 771 778 790 +hsync -vsync (47.4 kHz e) +(II) qxl(0): Modeline "1280x720"x60.0 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync (45.0 kHz e) +(II) qxl(0): Modeline "1152x768"x59.9 71.95 1152 1216 1328 1504 768 771 781 798 -hsync +vsync (47.8 kHz) +(II) qxl(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e) +(II) qxl(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e) +(II) qxl(0): Modeline "848x480"x60.0 33.75 848 864 976 1088 480 486 494 517 +hsync +vsync (31.0 kHz e) +(II) qxl(0): Modeline "720x480"x59.9 26.85 720 744 808 896 480 483 493 500 -hsync +vsync (30.0 kHz) +(II) qxl(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e) +(II) qxl(0): EDID for output Virtual-1 +(II) qxl(0): EDID for output Virtual-2 +(II) qxl(0): EDID for output Virtual-3 +(II) qxl(0): Output Virtual-0 connected +(II) qxl(0): Output Virtual-1 disconnected +(II) qxl(0): Output Virtual-2 disconnected +(II) qxl(0): Output Virtual-3 disconnected +(II) qxl(0): Using exact sizes for initial modes +(II) qxl(0): Output Virtual-0 using initial mode 1024x768 +0+0 +(II) qxl(0): PreInit complete +(II) qxl(0): git commit 499e30d +(II) UnloadModule: "modesetting" +(II) Unloading modesetting +(II) UnloadModule: "fbdev" +(II) Unloading fbdev +(II) UnloadSubModule: "fbdevhw" +(II) Unloading fbdevhw +(II) UnloadModule: "vesa" +(II) Unloading vesa +(II) UXA(0): Driver registered support for the following operations: +(II) solid +(II) copy +(II) composite (RENDER acceleration) +(II) put_image +resizing primary to 1024x768 +primary is 0x56380ba8b930 +(II) Initializing extension Generic Event Extension +(II) Initializing extension SHAPE +(II) Initializing extension MIT-SHM +(II) Initializing extension XInputExtension +(II) Initializing extension XTEST +(II) Initializing extension BIG-REQUESTS +(II) Initializing extension SYNC +(II) Initializing extension XKEYBOARD +(II) Initializing extension XC-MISC +(II) Initializing extension SECURITY +(II) Initializing extension XFIXES +(II) Initializing extension RENDER +(II) Initializing extension RANDR +(II) Initializing extension COMPOSITE +(II) Initializing extension DAMAGE +(II) Initializing extension MIT-SCREEN-SAVER +(II) Initializing extension DOUBLE-BUFFER +(II) Initializing extension RECORD +(II) Initializing extension DPMS +(II) Initializing extension Present +(II) Initializing extension DRI3 +(II) Initializing extension X-Resource +(II) Initializing extension XVideo +(II) Initializing extension XVideo-MotionCompensation +(II) Initializing extension SELinux +(II) SELinux: Disabled on system +(II) Initializing extension GLX +(II) AIGLX: Screen 0 is not DRI2 capable +(II) IGLX: Loaded and initialized swrast +(II) GLX: Initialized DRISWRAST GL provider for screen 0 +(II) Initializing extension XFree86-VidModeExtension +(II) Initializing extension XFree86-DGA +(II) Initializing extension XFree86-DRI +(II) Initializing extension DRI2 +(II) qxl(0): Setting screen physical size to 270 x 203 +(II) config/udev: Adding input device Power Button (/dev/input/event0) +(**) Power Button: Applying InputClass "evdev keyboard catchall" +(**) Power Button: Applying InputClass "libinput keyboard catchall" +(**) Power Button: Applying InputClass "system-keyboard" +(II) LoadModule: "libinput" +(II) Loading /usr/lib64/xorg/modules/input/libinput_drv.so +(II) Module libinput: vendor="X.Org Foundation" + compiled for 1.20.3, module version = 0.29.0 + Module class: X.Org XInput Driver + ABI class: X.Org XInput driver, version 24.1 +(II) Using input driver 'libinput' for 'Power Button' +(II) systemd-logind: got fd for /dev/input/event0 13:64 fd 20 paused 0 +(**) Power Button: always reports core events +(**) Option "Device" "/dev/input/event0" +(**) Option "_source" "server/udev" +(II) event0 - Power Button: is tagged by udev as: Keyboard +(II) event0 - Power Button: device is a keyboard +(II) event0 - Power Button: device removed +(**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/event0" +(II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6) +(**) Option "xkb_model" "pc105" +(**) Option "xkb_layout" "gb" +(**) Option "xkb_options" "terminate:ctrl_alt_bksp" +(II) event0 - Power Button: is tagged by udev as: Keyboard +(II) event0 - Power Button: device is a keyboard +(II) config/udev: Adding input device QEMU QEMU USB Tablet (/dev/input/event2) +(**) QEMU QEMU USB Tablet: Applying InputClass "evdev pointer catchall" +(**) QEMU QEMU USB Tablet: Applying InputClass "libinput pointer catchall" +(II) Using input driver 'libinput' for 'QEMU QEMU USB Tablet' +(II) systemd-logind: got fd for /dev/input/event2 13:66 fd 23 paused 0 +(**) QEMU QEMU USB Tablet: always reports core events +(**) Option "Device" "/dev/input/event2" +(**) Option "_source" "server/udev" +(II) event2 - QEMU QEMU USB Tablet: is tagged by udev as: Mouse +(II) event2 - QEMU QEMU USB Tablet: device is a pointer +(II) event2 - QEMU QEMU USB Tablet: device removed +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:05.7/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input4/event2" +(II) XINPUT: Adding extended input device "QEMU QEMU USB Tablet" (type: MOUSE, id 7) +(**) Option "AccelerationScheme" "none" +(**) QEMU QEMU USB Tablet: (accel) selected scheme none/0 +(**) QEMU QEMU USB Tablet: (accel) acceleration factor: 2.000 +(**) QEMU QEMU USB Tablet: (accel) acceleration threshold: 4 +(II) event2 - QEMU QEMU USB Tablet: is tagged by udev as: Mouse +(II) event2 - QEMU QEMU USB Tablet: device is a pointer +(II) config/udev: Adding input device QEMU QEMU USB Tablet (/dev/input/mouse0) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event1) +(**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall" +(**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall" +(**) AT Translated Set 2 keyboard: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard' +(II) systemd-logind: got fd for /dev/input/event1 13:65 fd 24 paused 0 +(**) AT Translated Set 2 keyboard: always reports core events +(**) Option "Device" "/dev/input/event1" +(**) Option "_source" "server/udev" +(II) event1 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard +(II) event1 - AT Translated Set 2 keyboard: device is a keyboard +(II) event1 - AT Translated Set 2 keyboard: device removed +(**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input1/event1" +(II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 8) +(**) Option "xkb_model" "pc105" +(**) Option "xkb_layout" "gb" +(**) Option "xkb_options" "terminate:ctrl_alt_bksp" +(II) event1 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard +(II) event1 - AT Translated Set 2 keyboard: device is a keyboard +(II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/event3) +(**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "evdev pointer catchall" +(**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "libinput pointer catchall" +(II) Using input driver 'libinput' for 'ImExPS/2 Generic Explorer Mouse' +(II) systemd-logind: got fd for /dev/input/event3 13:67 fd 25 paused 0 +(**) ImExPS/2 Generic Explorer Mouse: always reports core events +(**) Option "Device" "/dev/input/event3" +(**) Option "_source" "server/udev" +(II) event3 - ImExPS/2 Generic Explorer Mouse: is tagged by udev as: Mouse +(II) event3 - ImExPS/2 Generic Explorer Mouse: device is a pointer +(II) event3 - ImExPS/2 Generic Explorer Mouse: device removed +(**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input3/event3" +(II) XINPUT: Adding extended input device "ImExPS/2 Generic Explorer Mouse" (type: MOUSE, id 9) +(**) Option "AccelerationScheme" "none" +(**) ImExPS/2 Generic Explorer Mouse: (accel) selected scheme none/0 +(**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration factor: 2.000 +(**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration threshold: 4 +(II) event3 - ImExPS/2 Generic Explorer Mouse: is tagged by udev as: Mouse +(II) event3 - ImExPS/2 Generic Explorer Mouse: device is a pointer +(II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/mouse1) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device PC Speaker (/dev/input/event4) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. diff --git a/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-without-qxl b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-without-qxl new file mode 100644 index 0000000..62c24b6 --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/files/journalctl-xorg-without-qxl @@ -0,0 +1,305 @@ +(--) Log file renamed from "/home/johndoe/.local/share/xorg/Xorg.pid-1677.log" to "/home/johndoe/.local/share/xorg/Xorg.0.log" +X.Org X Server 1.20.11 +X Protocol Version 11, Revision 0 +Build Operating System: 4.18.0-305.17.1.el8_4.x86_64 +Current Operating System: Linux el8 4.18.0-409.el8.x86_64 #1 SMP Tue Jul 12 00:42:37 EDT 2022 x86_64 +Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-409.el8.x86_64 root=/dev/mapper/rhel_el8-root ro resume=/dev/mapper/rhel_el8-swap rd.lvm.lv=rhel_el8/root rd.lvm.lv=rhel_el8/swap rhgb quiet +Build Date: 09 June 2022 04:30:21PM +Build ID: xorg-x11-server 1.20.11-8.el8 +Current version of pixman: 0.38.4 + Before reporting problems, check http://wiki.x.org + to make sure that you have the latest version. +Markers: (--) probed, (**) from config file, (==) default setting, + (++) from command line, (!!) notice, (II) informational, + (WW) warning, (EE) error, (NI) not implemented, (??) unknown. +(==) Log file: "/home/johndoe/.local/share/xorg/Xorg.0.log", Time: Tue May 30 15:33:30 2023 +(==) Using config directory: "/etc/X11/xorg.conf.d" +(==) Using system config directory "/usr/share/X11/xorg.conf.d" +(==) No Layout section. Using the first Screen section. +(==) No screen section available. Using defaults. +(**) |-->Screen "Default Screen Section" (0) +(**) | |-->Monitor "" +(==) No monitor specified for screen "Default Screen Section". + Using a default monitor configuration. +(==) Automatically adding devices +(==) Automatically enabling devices +(==) Automatically adding GPU devices +(==) Automatically binding GPU devices +(==) Max clients allowed: 256, resource mask: 0x1fffff +(==) FontPath set to: + catalogue:/etc/X11/fontpath.d, + built-ins +(==) ModulePath set to "/usr/lib64/xorg/modules" +(II) The server relies on udev to provide the list of input devices. + If no devices become available, reconfigure udev or disable AutoAddDevices. +(II) Loader magic: 0x556bf9d4f020 +(II) Module ABI versions: + X.Org ANSI C Emulation: 0.4 + X.Org Video Driver: 24.1 + X.Org XInput driver : 24.1 + X.Org Server Extension : 10.0 +(++) using VT number 2 +(II) systemd-logind: took control of session /org/freedesktop/login1/session/_32 +(II) xfree86: Adding drm device (/dev/dri/card0) +(II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card0 +(II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 12 paused 0 +(--) PCI:*(0@0:2:0) 1b36:0100:1af4:1100 rev 4, Mem @ 0xf4000000/67108864, 0xf8000000/67108864, 0xfc054000/8192, I/O @ 0x0000c080/32, BIOS @ 0x????????/65536 +(II) LoadModule: "glx" +(II) Loading /usr/lib64/xorg/modules/extensions/libglx.so +(II) Module glx: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 1.0.0 + ABI class: X.Org Server Extension, version 10.0 +(==) Matched qxl as autoconfigured driver 0 +(==) Matched modesetting as autoconfigured driver 1 +(==) Matched fbdev as autoconfigured driver 2 +(==) Matched vesa as autoconfigured driver 3 +(==) Assigned the driver to the xf86ConfigLayout +(II) LoadModule: "qxl" +(WW) Warning, couldn't open module qxl +(EE) Failed to load module "qxl" (module does not exist, 0) +(II) LoadModule: "modesetting" +(II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so +(II) Module modesetting: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 1.20.11 + Module class: X.Org Video Driver + ABI class: X.Org Video Driver, version 24.1 +(II) LoadModule: "fbdev" +(II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so +(II) Module fbdev: vendor="X.Org Foundation" + compiled for 1.20.1, module version = 0.5.0 + Module class: X.Org Video Driver + ABI class: X.Org Video Driver, version 24.0 +(II) LoadModule: "vesa" +(II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so +(II) Module vesa: vendor="X.Org Foundation" + compiled for 1.20.2, module version = 2.4.0 + Module class: X.Org Video Driver + ABI class: X.Org Video Driver, version 24.0 +(II) modesetting: Driver for Modesetting Kernel Drivers: kms +(II) FBDEV: driver for framebuffer: fbdev +(II) VESA: driver for VESA chipsets: vesa +xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted) +(II) modeset(0): using drv /dev/dri/card0 +(WW) Falling back to old probe method for fbdev +(II) Loading sub module "fbdevhw" +(II) LoadModule: "fbdevhw" +(II) Loading /usr/lib64/xorg/modules/libfbdevhw.so +(II) Module fbdevhw: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 0.0.2 + ABI class: X.Org Video Driver, version 24.1 +(EE) open /dev/fb0: Permission denied +(WW) VGA arbiter: cannot open kernel arbiter, no multi-card support +(II) modeset(0): Creating default Display subsection in Screen section + "Default Screen Section" for depth/fbbpp 24/32 +(==) modeset(0): Depth 24, (==) framebuffer bpp 32 +(==) modeset(0): RGB weight 888 +(==) modeset(0): Default visual is TrueColor +(II) Loading sub module "glamoregl" +(II) LoadModule: "glamoregl" +(II) Loading /usr/lib64/xorg/modules/libglamoregl.so +(II) Module glamoregl: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 1.0.1 + ABI class: X.Org ANSI C Emulation, version 0.4 +pci id for fd 12: 1b36:0100, driver (null) +MESA-LOADER: failed to open qxl: /usr/lib64/dri/qxl_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri) +failed to load driver: qxl +MESA-LOADER: failed to open zink: /usr/lib64/dri/zink_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri) +failed to load driver: zink +(II) modeset(0): Refusing to try glamor on llvmpipe +(II) modeset(0): glamor initialization failed +(II) modeset(0): ShadowFB: preferred NO, enabled NO +(II) modeset(0): Output Virtual-1 has no monitor section +(II) modeset(0): Output Virtual-2 has no monitor section +(II) modeset(0): Output Virtual-3 has no monitor section +(II) modeset(0): Output Virtual-4 has no monitor section +(II) modeset(0): EDID for output Virtual-1 +(II) modeset(0): Printing probed modes for output Virtual-1 +(II) modeset(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz eP) +(II) modeset(0): Modeline "2560x1600"x60.0 348.50 2560 2752 3032 3504 1600 1603 1609 1658 -hsync +vsync (99.5 kHz e) +(II) modeset(0): Modeline "2560x1600"x60.0 268.50 2560 2608 2640 2720 1600 1603 1609 1646 +hsync -vsync (98.7 kHz e) +(II) modeset(0): Modeline "1920x1440"x60.0 234.00 1920 2048 2256 2600 1440 1441 1444 1500 -hsync +vsync (90.0 kHz e) +(II) modeset(0): Modeline "1856x1392"x60.0 218.25 1856 1952 2176 2528 1392 1393 1396 1439 -hsync +vsync (86.3 kHz e) +(II) modeset(0): Modeline "1792x1344"x60.0 204.75 1792 1920 2120 2448 1344 1345 1348 1394 -hsync +vsync (83.6 kHz e) +(II) modeset(0): Modeline "2048x1152"x60.0 162.00 2048 2074 2154 2250 1152 1153 1156 1200 +hsync +vsync (72.0 kHz e) +(II) modeset(0): Modeline "1920x1200"x59.9 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync (74.6 kHz e) +(II) modeset(0): Modeline "1920x1200"x60.0 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync (74.0 kHz e) +(II) modeset(0): Modeline "1920x1080"x60.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 -hsync -vsync (67.5 kHz e) +(II) modeset(0): Modeline "1600x1200"x60.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz e) +(II) modeset(0): Modeline "1680x1050"x60.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz e) +(II) modeset(0): Modeline "1680x1050"x59.9 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync (64.7 kHz e) +(II) modeset(0): Modeline "1400x1050"x60.0 121.75 1400 1488 1632 1864 1050 1053 1057 1089 -hsync +vsync (65.3 kHz e) +(II) modeset(0): Modeline "1400x1050"x59.9 101.00 1400 1448 1480 1560 1050 1053 1057 1080 +hsync -vsync (64.7 kHz e) +(II) modeset(0): Modeline "1600x900"x60.0 108.00 1600 1624 1704 1800 900 901 904 1000 +hsync +vsync (60.0 kHz e) +(II) modeset(0): Modeline "1280x1024"x60.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz e) +(II) modeset(0): Modeline "1440x900"x59.9 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz e) +(II) modeset(0): Modeline "1440x900"x59.9 88.75 1440 1488 1520 1600 900 903 909 926 +hsync -vsync (55.5 kHz e) +(II) modeset(0): Modeline "1280x960"x60.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz e) +(II) modeset(0): Modeline "1280x854"x60.0 89.34 1280 1352 1480 1680 854 857 867 887 -hsync +vsync (53.2 kHz) +(II) modeset(0): Modeline "1366x768"x59.8 85.50 1366 1436 1579 1792 768 771 774 798 +hsync +vsync (47.7 kHz e) +(II) modeset(0): Modeline "1366x768"x60.0 72.00 1366 1380 1436 1500 768 769 772 800 +hsync +vsync (48.0 kHz e) +(II) modeset(0): Modeline "1360x768"x60.0 85.50 1360 1424 1536 1792 768 771 777 795 +hsync +vsync (47.7 kHz e) +(II) modeset(0): Modeline "1280x800"x59.8 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz e) +(II) modeset(0): Modeline "1280x800"x59.9 71.00 1280 1328 1360 1440 800 803 809 823 +hsync -vsync (49.3 kHz e) +(II) modeset(0): Modeline "1280x768"x59.9 79.50 1280 1344 1472 1664 768 771 778 798 -hsync +vsync (47.8 kHz e) +(II) modeset(0): Modeline "1280x768"x60.0 68.25 1280 1328 1360 1440 768 771 778 790 +hsync -vsync (47.4 kHz e) +(II) modeset(0): Modeline "1280x720"x60.0 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync (45.0 kHz e) +(II) modeset(0): Modeline "1152x768"x59.9 71.95 1152 1216 1328 1504 768 771 781 798 -hsync +vsync (47.8 kHz) +(II) modeset(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e) +(II) modeset(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e) +(II) modeset(0): Modeline "848x480"x60.0 33.75 848 864 976 1088 480 486 494 517 +hsync +vsync (31.0 kHz e) +(II) modeset(0): Modeline "720x480"x59.9 26.85 720 744 808 896 480 483 493 500 -hsync +vsync (30.0 kHz) +(II) modeset(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e) +(II) modeset(0): EDID for output Virtual-2 +(II) modeset(0): EDID for output Virtual-3 +(II) modeset(0): EDID for output Virtual-4 +(II) modeset(0): Output Virtual-1 connected +(II) modeset(0): Output Virtual-2 disconnected +(II) modeset(0): Output Virtual-3 disconnected +(II) modeset(0): Output Virtual-4 disconnected +(II) modeset(0): Using exact sizes for initial modes +(II) modeset(0): Output Virtual-1 using initial mode 1024x768 +0+0 +(==) modeset(0): Using gamma correction (1.0, 1.0, 1.0) +(==) modeset(0): DPI set to (96, 96) +(II) Loading sub module "fb" +(II) LoadModule: "fb" +(II) Loading /usr/lib64/xorg/modules/libfb.so +(II) Module fb: vendor="X.Org Foundation" + compiled for 1.20.11, module version = 1.0.0 + ABI class: X.Org ANSI C Emulation, version 0.4 +(II) UnloadModule: "fbdev" +(II) Unloading fbdev +(II) UnloadSubModule: "fbdevhw" +(II) Unloading fbdevhw +(II) UnloadModule: "vesa" +(II) Unloading vesa +(==) modeset(0): Backing store enabled +(==) modeset(0): Silken mouse enabled +(II) modeset(0): Initializing kms color map for depth 24, 8 bpc. +(==) modeset(0): DPMS enabled +(II) Initializing extension Generic Event Extension +(II) Initializing extension SHAPE +(II) Initializing extension MIT-SHM +(II) Initializing extension XInputExtension +(II) Initializing extension XTEST +(II) Initializing extension BIG-REQUESTS +(II) Initializing extension SYNC +(II) Initializing extension XKEYBOARD +(II) Initializing extension XC-MISC +(II) Initializing extension SECURITY +(II) Initializing extension XFIXES +(II) Initializing extension RENDER +(II) Initializing extension RANDR +(II) Initializing extension COMPOSITE +(II) Initializing extension DAMAGE +(II) Initializing extension MIT-SCREEN-SAVER +(II) Initializing extension DOUBLE-BUFFER +(II) Initializing extension RECORD +(II) Initializing extension DPMS +(II) Initializing extension Present +(II) Initializing extension DRI3 +(II) Initializing extension X-Resource +(II) Initializing extension XVideo +(II) Initializing extension XVideo-MotionCompensation +(II) Initializing extension SELinux +(II) SELinux: Disabled on system +(II) Initializing extension GLX +(II) AIGLX: Screen 0 is not DRI2 capable +(II) IGLX: Loaded and initialized swrast +(II) GLX: Initialized DRISWRAST GL provider for screen 0 +(II) Initializing extension XFree86-VidModeExtension +(II) Initializing extension XFree86-DGA +(II) Initializing extension XFree86-DRI +(II) Initializing extension DRI2 +(II) modeset(0): Damage tracking initialized +(II) modeset(0): Setting screen physical size to 270 x 203 +(II) config/udev: Adding input device Power Button (/dev/input/event0) +(**) Power Button: Applying InputClass "evdev keyboard catchall" +(**) Power Button: Applying InputClass "libinput keyboard catchall" +(**) Power Button: Applying InputClass "system-keyboard" +(II) LoadModule: "libinput" +(II) Loading /usr/lib64/xorg/modules/input/libinput_drv.so +(II) Module libinput: vendor="X.Org Foundation" + compiled for 1.20.3, module version = 0.29.0 + Module class: X.Org XInput Driver + ABI class: X.Org XInput driver, version 24.1 +(II) Using input driver 'libinput' for 'Power Button' +(II) systemd-logind: got fd for /dev/input/event0 13:64 fd 21 paused 0 +(**) Power Button: always reports core events +(**) Option "Device" "/dev/input/event0" +(**) Option "_source" "server/udev" +(II) event0 - Power Button: is tagged by udev as: Keyboard +(II) event0 - Power Button: device is a keyboard +(II) event0 - Power Button: device removed +(**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/event0" +(II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6) +(**) Option "xkb_model" "pc105" +(**) Option "xkb_layout" "gb" +(**) Option "xkb_options" "terminate:ctrl_alt_bksp" +(II) event0 - Power Button: is tagged by udev as: Keyboard +(II) event0 - Power Button: device is a keyboard +(II) config/udev: Adding input device QEMU QEMU USB Tablet (/dev/input/event2) +(**) QEMU QEMU USB Tablet: Applying InputClass "evdev pointer catchall" +(**) QEMU QEMU USB Tablet: Applying InputClass "libinput pointer catchall" +(II) Using input driver 'libinput' for 'QEMU QEMU USB Tablet' +(II) systemd-logind: got fd for /dev/input/event2 13:66 fd 24 paused 0 +(**) QEMU QEMU USB Tablet: always reports core events +(**) Option "Device" "/dev/input/event2" +(**) Option "_source" "server/udev" +(II) event2 - QEMU QEMU USB Tablet: is tagged by udev as: Mouse +(II) event2 - QEMU QEMU USB Tablet: device is a pointer +(II) event2 - QEMU QEMU USB Tablet: device removed +(**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:05.7/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input4/event2" +(II) XINPUT: Adding extended input device "QEMU QEMU USB Tablet" (type: MOUSE, id 7) +(**) Option "AccelerationScheme" "none" +(**) QEMU QEMU USB Tablet: (accel) selected scheme none/0 +(**) QEMU QEMU USB Tablet: (accel) acceleration factor: 2.000 +(**) QEMU QEMU USB Tablet: (accel) acceleration threshold: 4 +(II) event2 - QEMU QEMU USB Tablet: is tagged by udev as: Mouse +(II) event2 - QEMU QEMU USB Tablet: device is a pointer +(II) config/udev: Adding input device QEMU QEMU USB Tablet (/dev/input/mouse0) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event1) +(**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall" +(**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall" +(**) AT Translated Set 2 keyboard: Applying InputClass "system-keyboard" +(II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard' +(II) systemd-logind: got fd for /dev/input/event1 13:65 fd 25 paused 0 +(**) AT Translated Set 2 keyboard: always reports core events +(**) Option "Device" "/dev/input/event1" +(**) Option "_source" "server/udev" +(II) event1 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard +(II) event1 - AT Translated Set 2 keyboard: device is a keyboard +(II) event1 - AT Translated Set 2 keyboard: device removed +(**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input1/event1" +(II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 8) +(**) Option "xkb_model" "pc105" +(**) Option "xkb_layout" "gb" +(**) Option "xkb_options" "terminate:ctrl_alt_bksp" +(II) event1 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard +(II) event1 - AT Translated Set 2 keyboard: device is a keyboard +(II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/event3) +(**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "evdev pointer catchall" +(**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "libinput pointer catchall" +(II) Using input driver 'libinput' for 'ImExPS/2 Generic Explorer Mouse' +(II) systemd-logind: got fd for /dev/input/event3 13:67 fd 26 paused 0 +(**) ImExPS/2 Generic Explorer Mouse: always reports core events +(**) Option "Device" "/dev/input/event3" +(**) Option "_source" "server/udev" +(II) event3 - ImExPS/2 Generic Explorer Mouse: is tagged by udev as: Mouse +(II) event3 - ImExPS/2 Generic Explorer Mouse: device is a pointer +(II) event3 - ImExPS/2 Generic Explorer Mouse: device removed +(**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input3/event3" +(II) XINPUT: Adding extended input device "ImExPS/2 Generic Explorer Mouse" (type: MOUSE, id 9) +(**) Option "AccelerationScheme" "none" +(**) ImExPS/2 Generic Explorer Mouse: (accel) selected scheme none/0 +(**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration factor: 2.000 +(**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration threshold: 4 +(II) event3 - ImExPS/2 Generic Explorer Mouse: is tagged by udev as: Mouse +(II) event3 - ImExPS/2 Generic Explorer Mouse: device is a pointer +(II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/mouse1) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. +(II) config/udev: Adding input device PC Speaker (/dev/input/event4) +(II) No input driver specified, ignoring this device. +(II) This device may have been added with another device file. diff --git a/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/test_xorgdrvfact.py b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/test_xorgdrvfact.py new file mode 100644 index 0000000..44bc10a --- /dev/null +++ b/repos/system_upgrade/el8toel9/actors/xorgdrvfact/tests/test_xorgdrvfact.py @@ -0,0 +1,77 @@ +import os + +from leapp.libraries.actor import xorgdriverlib +from leapp.models import XorgDrv, XorgDrvFacts + +CUR_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def _read_log_file(path): + """ + Read a log file in text mode and return the contents as an array. + + :param path: Log file path + """ + with open(path, 'r') as f: + return f.read().splitlines() + + +def test_check_drv_and_options_qxl_driver(monkeypatch): + + def get_xorg_logs_from_journal_mocked(): + return _read_log_file(os.path.join(CUR_DIR, 'files/journalctl-xorg-qxl')) + + monkeypatch.setattr(xorgdriverlib, 'get_xorg_logs_from_journal', get_xorg_logs_from_journal_mocked) + xorg_logs = xorgdriverlib.get_xorg_logs_from_journal() + expected = XorgDrv(driver='qxl', has_options=False) + actual = xorgdriverlib.check_drv_and_options('qxl', xorg_logs) + assert expected == actual + + +def test_check_drv_and_options_intel_driver(monkeypatch): + + def get_xorg_logs_from_journal_mocked(): + return _read_log_file(os.path.join(CUR_DIR, 'files/journalctl-xorg-intel')) + + monkeypatch.setattr(xorgdriverlib, 'get_xorg_logs_from_journal', get_xorg_logs_from_journal_mocked) + xorg_logs = xorgdriverlib.get_xorg_logs_from_journal() + expected = XorgDrv(driver='intel', has_options=True) + actual = xorgdriverlib.check_drv_and_options('intel', xorg_logs) + assert expected == actual + + +def test_actor_with_deprecated_driver_without_options(current_actor_context, monkeypatch): + + def get_xorg_logs_from_journal_mocked(): + return _read_log_file(os.path.join(CUR_DIR, 'files/journalctl-xorg-qxl')) + + monkeypatch.setattr(xorgdriverlib, 'get_xorg_logs_from_journal', get_xorg_logs_from_journal_mocked) + current_actor_context.run() + facts = list(current_actor_context.consume(XorgDrvFacts)) + assert facts and len(facts[0].xorg_drivers) == 1 + assert (facts[0].xorg_drivers)[0].driver == 'qxl' + assert (facts[0].xorg_drivers)[0].has_options is False + + +def test_actor_with_deprecated_driver_with_options(current_actor_context, monkeypatch): + + def get_xorg_logs_from_journal_mocked(): + return _read_log_file(os.path.join(CUR_DIR, 'files/journalctl-xorg-intel')) + + monkeypatch.setattr(xorgdriverlib, 'get_xorg_logs_from_journal', get_xorg_logs_from_journal_mocked) + current_actor_context.run() + facts = list(current_actor_context.consume(XorgDrvFacts)) + assert facts and len(facts[0].xorg_drivers) == 1 + assert (facts[0].xorg_drivers)[0].driver == 'intel' + assert (facts[0].xorg_drivers)[0].has_options is True + + +def test_actor_without_deprecated_driver(current_actor_context, monkeypatch): + + def get_xorg_logs_from_journal_mocked(): + return _read_log_file(os.path.join(CUR_DIR, 'files/journalctl-xorg-without-qxl')) + + monkeypatch.setattr(xorgdriverlib, 'get_xorg_logs_from_journal', get_xorg_logs_from_journal_mocked) + current_actor_context.run() + facts = current_actor_context.consume(XorgDrvFacts) + assert facts and len(facts[0].xorg_drivers) == 0 diff --git a/repos/system_upgrade/el8toel9/files/bundled-rpms/.gitkeep b/repos/system_upgrade/el8toel9/files/bundled-rpms/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el8toel9/libraries/.gitkeep b/repos/system_upgrade/el8toel9/libraries/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el8toel9/models/.gitkeep b/repos/system_upgrade/el8toel9/models/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el8toel9/models/blacklistca.py b/repos/system_upgrade/el8toel9/models/blacklistca.py new file mode 100644 index 0000000..32c5eb0 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/blacklistca.py @@ -0,0 +1,30 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class BlackListCA(Model): + """ + Provides an entry for all disabled CAs in one of blacklist directoriesi + which needs to be moved to blocklist. + """ + topic = SystemInfoTopic + + source = fields.String() + """ + The full path to the file in the blacklist directory. + """ + + sourceDir = fields.String() + """ + The path of the blacklist directory where source resides. + """ + + target = fields.String() + """ + The full path to where the file should be migrated to. + """ + + targetDir = fields.String() + """ + The path of the blocklist directory where the target resides + """ diff --git a/repos/system_upgrade/el8toel9/models/blacklisterror.py b/repos/system_upgrade/el8toel9/models/blacklisterror.py new file mode 100644 index 0000000..2565707 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/blacklisterror.py @@ -0,0 +1,25 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class BlackListError(Model): + """ + Provides an entry for all disabled CAs in one of blacklist directoriesi + which needs to be moved to blocklist. + """ + topic = SystemInfoTopic + + sourceDir = fields.String() + """ + The path of the blacklist directory where distrusted certs reside. + """ + + targetDir = fields.String() + """ + The path of the blocklist directory where distructed certs should reside. + """ + + error = fields.String() + """ + Errors string from the OS or the LEAPP run process + """ diff --git a/repos/system_upgrade/el8toel9/models/cryptopolicy.py b/repos/system_upgrade/el8toel9/models/cryptopolicy.py new file mode 100644 index 0000000..20a6006 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/cryptopolicy.py @@ -0,0 +1,61 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class CustomCryptoPolicy(Model): + """ + Provides information about custom crypto policy found on the source system. + """ + topic = SystemInfoTopic + + name = fields.String() + """ + The policy name, derived from the filename. + """ + + path = fields.String() + """ + The path to the policy file to be copied to the target system. + """ + + +class CustomCryptoPolicyModule(CustomCryptoPolicy): + """ + Internally, this carries the same information as CustomCryptoPolicy model, + but the path will point to different directory as the semantics of the files + is different. + """ + + +class CryptoPolicyInfo(Model): + """ + Provide information related to crypto policies + """ + topic = SystemInfoTopic + + current_policy = fields.String() + """ + The current used crypto policy: /etc/crypto-policies/state/current + + Contains e.g. 'LEGACY', 'DEFAULT', ... + """ + + custom_policies = fields.List(fields.Model(CustomCryptoPolicy)) + """ + This is the list of custom crypto policies with *.pol extension found under the following + directories that are not part of any RPM package: + + * /usr/share/crypto-policies/policies/ + * /etc/crypto-policies/policies/ + + """ + + custom_modules = fields.List(fields.Model(CustomCryptoPolicyModule)) + """ + This is the list of custom crypto policies modules with *.pmod extension found under the + following directories that are not part of any RPM package: + + * /usr/share/crypto-policies/policies/modules/ + * /etc/crypto-policies/policies/modules/ + + """ diff --git a/repos/system_upgrade/el8toel9/models/firewalldglobalconfig.py b/repos/system_upgrade/el8toel9/models/firewalldglobalconfig.py new file mode 100644 index 0000000..7a03fa8 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/firewalldglobalconfig.py @@ -0,0 +1,27 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class FirewalldGlobalConfig(Model): + """ + The model contains firewalld global configuration. The configuration is + usually located at /etc/firewalld/firewalld.conf. + """ + topic = SystemInfoTopic + + # Defaults for RHEL-9. + # + defaultzone = fields.String(default='public') + cleanuponexit = fields.Boolean(default=True) + cleanupmodulesonexit = fields.Boolean(default=False) + lockdown = fields.Boolean(default=False) + ipv6_rpfilter = fields.Boolean(default=True) + individualcalls = fields.Boolean(default=False) + logdenied = fields.String(default='off') + firewallbackend = fields.String(default='nftables') + flushallonreload = fields.Boolean(default=True) + rfc3964_ipv4 = fields.Boolean(default=True) + + # These have been removed in RHEL-9. + # + allowzonedrifting = fields.Boolean(default=False) diff --git a/repos/system_upgrade/el8toel9/models/firewalldusedobjectnames.py b/repos/system_upgrade/el8toel9/models/firewalldusedobjectnames.py new file mode 100644 index 0000000..3a3d070 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/firewalldusedobjectnames.py @@ -0,0 +1,31 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class FirewalldUsedObjectNames(Model): + """ + This model contains lists of firewalld object (e.g. zones, services) names + in use by the permanent firewalld configuration. + """ + topic = SystemInfoTopic + + services = fields.List(fields.String(), default=[]) + """ + list of services (names) in use by firewalld's permanent configuration + + e.g. ["ssh", "https"] + """ + + policies = fields.List(fields.String(), default=[]) + """ + list of policies (names) in use by firewalld's permanent configuration + + e.g. ["allow-host-ipv6", "mypolicy"] + """ + + zones = fields.List(fields.String(), default=[]) + """ + list of zones (names) in use by firewalld's permanent configuration + + e.g. ["public", "internal", "nm-shared", "libvirt"] + """ diff --git a/repos/system_upgrade/el8toel9/models/ifcfg.py b/repos/system_upgrade/el8toel9/models/ifcfg.py new file mode 100644 index 0000000..b0607fe --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/ifcfg.py @@ -0,0 +1,42 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class IfCfgProperty(Model): + """ + Key-value pair for ifcfg properties. + + This model is not expected to be used as a message (produced/consumed by actors). + It is used from within the IfCfg model. + """ + topic = SystemInfoTopic + + name = fields.String() + """ Name of a property """ + value = fields.Nullable(fields.String()) + """ Value of a property """ + + +class IfCfg(Model): + """ + IfCfg file describing legacy network configuration + + Produced for every ifcfg file loaded from key-value ("sysconfig") + format described in nm-settings-ifcfg-rh(5) manual. + """ + topic = SystemInfoTopic + + filename = fields.String() + """ Path to file this model was populated from """ + properties = fields.List(fields.Model(IfCfgProperty), default=[]) + """ The list of name-value pairs from ifcfg file """ + secrets = fields.Nullable(fields.List(fields.Model(IfCfgProperty))) + """ The list of name-value pairs from keys file """ + rules = fields.Nullable(fields.List(fields.String())) + """ The list of traffic rules for IPv4 """ + rules6 = fields.Nullable(fields.List(fields.String())) + """ The list of traffic rules for IPv6 """ + routes = fields.Nullable(fields.List(fields.String())) + """ The list of routes for IPv4 """ + routes6 = fields.Nullable(fields.List(fields.String())) + """ The list of routes for IPv6 """ diff --git a/repos/system_upgrade/el8toel9/models/multipathconffacts.py b/repos/system_upgrade/el8toel9/models/multipathconffacts.py new file mode 100644 index 0000000..91d3ce3 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/multipathconffacts.py @@ -0,0 +1,30 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class MultipathConfig8to9(Model): + """Model representing information about a multipath configuration file""" + topic = SystemInfoTopic + + pathname = fields.String() + """Config file path name""" + + config_dir = fields.Nullable(fields.String()) + """Value of config_dir in the defaults section. None if not set""" + + enable_foreign_exists = fields.Boolean(default=False) + """True if enable_foreign is set in the defaults section""" + + invalid_regexes_exist = fields.Boolean(default=False) + """True if any regular expressions have the value of "*" """ + + allow_usb_exists = fields.Boolean(default=False) + """True if allow_usb_devices is set in the defaults section.""" + + +class MultipathConfFacts8to9(Model): + """Model representing information from multipath configuration files""" + topic = SystemInfoTopic + + configs = fields.List(fields.Model(MultipathConfig8to9), default=[]) + """List of multipath configuration files""" diff --git a/repos/system_upgrade/el8toel9/models/networkmanagerconnection.py b/repos/system_upgrade/el8toel9/models/networkmanagerconnection.py new file mode 100644 index 0000000..e3456b7 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/networkmanagerconnection.py @@ -0,0 +1,47 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class NetworkManagerConnectionProperty(Model): + """ + Name-value pair for NetworkManager properties. + + This model is not expected to be used as a message (produced/consumed by actors). + It is used within NetworkManagerConnectionSetting of a NetworkManagerConnection. + """ + topic = SystemInfoTopic + + name = fields.String() + """ Name of a property """ + value = fields.String() + """ Value of a property """ + + +class NetworkManagerConnectionSetting(Model): + """ + NetworkManager setting, composed of a name and a list of name-value pairs. + + This model is not expected to be used as a message (produced/consumed by actors). + It is used within NetworkManagerConnection. + """ + topic = SystemInfoTopic + + name = fields.String() + """ The NetworkManager setting name """ + properties = fields.List(fields.Model(NetworkManagerConnectionProperty), default=[]) + """ The name-value pair for every setting property """ + + +class NetworkManagerConnection(Model): + """ + NetworkManager native keyfile connection + + Produced for every connection profile loaded from INI-stile files + described in nm-settings-keyfile(5) manual. + """ + topic = SystemInfoTopic + + settings = fields.List(fields.Model(NetworkManagerConnectionSetting), default=[]) + """ List of NetworkManager settings """ + filename = fields.String() + """ Path to file this model was populated from """ diff --git a/repos/system_upgrade/el8toel9/models/nis.py b/repos/system_upgrade/el8toel9/models/nis.py new file mode 100644 index 0000000..5c7ac2e --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/nis.py @@ -0,0 +1,16 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class NISConfig(Model): + """ + The model contains NIS packages configuration status. + """ + topic = SystemInfoTopic + + nis_not_default_conf = fields.List(fields.String(), default=[]) + """ + List of names of NIS packages with modified default configuration. + + e.g. ["ypbind", "ypserv"] + """ diff --git a/repos/system_upgrade/el8toel9/models/opensslconfig.py b/repos/system_upgrade/el8toel9/models/opensslconfig.py new file mode 100644 index 0000000..831256d --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/opensslconfig.py @@ -0,0 +1,72 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class OpenSslConfigPair(Model): + """ + Key-value pair in the OpenSSL config block + + [ name ] + key = value + key2 = value2 + ... + + This model is not expected to be used as a message (produced/consumed by actors). + See the OpenSslConfig. + """ + topic = SystemInfoTopic + + key = fields.String() + """ The key is usually fixed name for specific purpose """ + value = fields.String() + """ The value, can be a reference to another block """ + + +class OpenSslConfigBlock(Model): + """ + Every block in the openssl.cnf in the following format: + + [ name ] + key = value + key2 = value2 + ... + + This model is not expected to be used as a message (produced/consumed by actors). + See the OpenSslConfig. + """ + topic = SystemInfoTopic + + name = fields.String() + """ The block name """ + pairs = fields.List(fields.Model(OpenSslConfigPair)) + """ The key-value pairs """ + + +class OpenSslConfig(Model): + """ + openssl.cnf + + This mode contains interesting parts of the RHEL8 OpenSSL configuration file + that will be later used to decide if it needs to be updated to keep working + in RHEL9. + """ + topic = SystemInfoTopic + + openssl_conf = fields.Nullable(fields.String()) + """ + The value of openssl_conf field + + It is used to load default TLS policy in RHEL8, but controls loading of all + providers in RHEL9 so it needs to be adjusted for upgrade. This is listed + before any block. + """ + + blocks = fields.List(fields.Model(OpenSslConfigBlock)) + """ + The list of blocks in the openssl.cnf + + We are mostly interested in the ones referenced by the openssl_conf value above. + """ + + modified = fields.Boolean(default=False) + """ True if the configuration file was modified. """ diff --git a/repos/system_upgrade/el8toel9/models/roce.py b/repos/system_upgrade/el8toel9/models/roce.py new file mode 100644 index 0000000..5380861 --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/roce.py @@ -0,0 +1,27 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class RoceDetected(Model): + """ + The model creates a list of + - RoCE NICs that are detected as connected, which means, they are + configured persistently + - RoCE NICs that are in process of connecting (i.e. they are trying + to get an IP address - and might become connected upon success) + """ + topic = SystemInfoTopic + + roce_nics_connected = fields.List(fields.String(), default=[]) + """ + List of RoCE NICs which are detected as connected. + + e.g. ["ens1234", "eno3456"] + """ + + roce_nics_connecting = fields.List(fields.String(), default=[]) + """ + List of RoCE NICs which are detected as connecting right now. + + (They might become detected as connected, soon.) + """ diff --git a/repos/system_upgrade/el8toel9/models/sssd.py b/repos/system_upgrade/el8toel9/models/sssd.py new file mode 100644 index 0000000..88dd60e --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/sssd.py @@ -0,0 +1,24 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class SSSDConfig8to9(Model): + """ + SSSD configuration that is related to the upgrade process. + """ + topic = SystemInfoTopic + + enable_files_domain_set = fields.Boolean() + """ + True if [sssd]/enable_files_domain is explicitly set. + """ + + explicit_files_domain = fields.Boolean() + """ + True if a domain with id_provider=files exist. + """ + + pam_cert_auth = fields.Boolean() + """ + True if [pam]/pam_cert_auth is set to True. + """ diff --git a/repos/system_upgrade/el8toel9/models/vdoconversioninfo.py b/repos/system_upgrade/el8toel9/models/vdoconversioninfo.py new file mode 100644 index 0000000..ac1771f --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/vdoconversioninfo.py @@ -0,0 +1,42 @@ +from leapp.models import fields, Model +from leapp.topics import SystemInfoTopic + + +class VdoConversionDevice(Model): + topic = SystemInfoTopic + name = fields.String() + + +class VdoConversionPreDevice(VdoConversionDevice): + pass + + +class VdoConversionFailiableDevice(VdoConversionDevice): + # `check_failed` and `failure` are only set if the checking process fails. + check_failed = fields.Boolean(default=False) + failure = fields.Nullable(fields.String()) + + +class VdoConversionPostDevice(VdoConversionFailiableDevice): + complete = fields.Boolean() + + +class VdoConversionUndeterminedDevice(VdoConversionFailiableDevice): + # There are only devices which are undetermined as to VDO conversion if + # lvm is installed on the system and either vdo is not or + # `vdoprepareforlvm` fails. + # + # If the vdo package is not installed on the system `check_failed` is + # false (the device wasn't actually checked); this indicates the absence of + # the vdo package on the system. + pass + + +class VdoConversionInfo(Model): + # If lvm is not installed on the system there can be no VDO instances. + # In that case VdoConversionInfo is generated with empty lists of devices. + topic = SystemInfoTopic + + pre_conversion = fields.List(fields.Model(VdoConversionPreDevice), default=[]) + post_conversion = fields.List(fields.Model(VdoConversionPostDevice), default=[]) + undetermined_conversion = fields.List(fields.Model(VdoConversionUndeterminedDevice), default=[]) diff --git a/repos/system_upgrade/el8toel9/models/xorgdrv.py b/repos/system_upgrade/el8toel9/models/xorgdrv.py new file mode 100644 index 0000000..21d8eec --- /dev/null +++ b/repos/system_upgrade/el8toel9/models/xorgdrv.py @@ -0,0 +1,24 @@ +from leapp.models import fields, Model +from leapp.topics import SystemFactsTopic + + +class XorgDrv(Model): + """ + Name of the Xorg driver in use and whether it has custom options set. + + This model is not expected to be used as a message (produced/consumed by actors). + It is used from within the XorgDrvFacts model. + """ + topic = SystemFactsTopic + + driver = fields.String() + has_options = fields.Boolean(default=False) + + +class XorgDrvFacts(Model): + """ + List of Xorg drivers. + """ + topic = SystemFactsTopic + + xorg_drivers = fields.List(fields.Model(XorgDrv)) diff --git a/repos/system_upgrade/el8toel9/tools/.gitkeep b/repos/system_upgrade/el8toel9/tools/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/repos/system_upgrade/el8toel9/tools/handlerubyirbsymlink b/repos/system_upgrade/el8toel9/tools/handlerubyirbsymlink new file mode 100755 index 0000000..9558dd4 --- /dev/null +++ b/repos/system_upgrade/el8toel9/tools/handlerubyirbsymlink @@ -0,0 +1,23 @@ +#!/usr/bin/bash -e + +# just in case of hidden files.. not sure why would someone do that, it's more +# like forgotten cache file possibility, but rather do that.. +shopt -s dotglob + +handle_dir() { + # Check that $1 is not already a symlink + # then remove the directory so that RPM can freely create the + # symlink. + if [ "$(readlink "$1")" == "/usr/share/gems/gems/irb-1.3.5" ]; then + return + fi + + # There is no configuration or anything that the user should ever customize + # and expect to retain. + rm -rf "$1" + + return 0 +} + + +handle_dir /usr/share/ruby/irb diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ac6bf9b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,15 @@ +### Additional requirements + +flake8 +isort +funcsigs==1.0.2 +mock==2.0.0 +pylint +pytest==4.6.11 +pyudev==0.22.0 +distro==1.5.0 +ipaddress==1.0.23 +git+https://github.com/oamg/leapp +requests +# pinning a py27 troublemaking transitive dependency +lazy-object-proxy==1.5.2; python_version < '3' diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..d4bca3f --- /dev/null +++ b/setup.cfg @@ -0,0 +1,14 @@ +[flake8] +max-line-length = 119 + # redefinition of unused 'current_actor_context' + # redefinition of unused 'current_actor_libraries' + # 'leapp.snactor.fixture.current_actor_context' imported but unused + # 'leapp.snactor.fixture.current_actor_libraries' imported but unused +per-file-ignores = + repos/system_upgrade/el7toel8/actors/*/tests/*.py:F811,F401 + repos/system_upgrade/common/actors/*/tests/*.py:F811,F401 +application-import-names = leapp +# check only for correct group type and abc sorting without group +import-order-style = pep8 +# default values + ignore strict alphabetical sorting within one module import +ignore = E121,E123,E126,E133,E241,E242,E226,W503,W504,W505,I101,E741 diff --git a/utils/actor_path.py b/utils/actor_path.py new file mode 100755 index 0000000..5c53a16 --- /dev/null +++ b/utils/actor_path.py @@ -0,0 +1,41 @@ +import logging +import sys + +from leapp.repository.scan import find_and_scan_repositories + +def err_exit(): + # We want to be sure that `make test` (test_no_lint) will stop when expected + # actor is not found and want to be sure that users will not overlook error + # messages. This print will easily resolve the problem + sys.stdout.write('ERROR:__read_error_messages_above_this_one_on_stderr__') + sys.exit(1) + +def main(): + logging.basicConfig(level=logging.INFO, filename='/dev/null') + logger = logging.getLogger('run_pytest.py') + + BASE_REPO = 'repos' + repos = find_and_scan_repositories(BASE_REPO, include_locals=True) + repos.load() + if len(sys.argv) > 1: + actors = repos._lookup_actors(sys.argv[1]) + if not actors: + sys.stderr.write('ERROR: No actor found for search "{}"\n'.format(sys.argv[1])) + err_exit() + print(' '.join([actor.full_path for actor in actors])) + else: + sys.stderr.write('ERROR: Missing commandline argument\n') + err_exit() + + +if __name__ == '__main__': + try: + main() + except Exception as e: + # Make a generic exception as in case of error, without the explicit + # sys.exit(1) call running of tests continues with all actors always + # and we expect that many people will be affected unless they installed + sys.stderr.write('ERROR: Unknown error: {}\n'.format(e)) + sys.stderr.write('ERROR: Possibly you need newer version of the leapp framework\n') + sys.stderr.write('ERROR: e.g.: rm -rf .tut && make install-deps-fedora\n') + err_exit() diff --git a/utils/container-builds/Containerfile.centos7 b/utils/container-builds/Containerfile.centos7 new file mode 100644 index 0000000..70ac3df --- /dev/null +++ b/utils/container-builds/Containerfile.centos7 @@ -0,0 +1,10 @@ +FROM centos:7 + +VOLUME /repo + +RUN yum update -y && \ + yum install -y rpm-build python-devel make git + +WORKDIR /repo +ENV DIST_VERSION 7 +ENTRYPOINT make _build_local diff --git a/utils/container-builds/Containerfile.ubi8 b/utils/container-builds/Containerfile.ubi8 new file mode 100644 index 0000000..443c576 --- /dev/null +++ b/utils/container-builds/Containerfile.ubi8 @@ -0,0 +1,10 @@ +FROM registry.access.redhat.com/ubi8/ubi:latest + +VOLUME /repo + +RUN dnf update -y && \ + dnf install -y python3-devel rpm-build make git + +WORKDIR /repo +ENV DIST_VERSION 8 +ENTRYPOINT make _build_local diff --git a/utils/container-tests/Containerfile.f34 b/utils/container-tests/Containerfile.f34 new file mode 100644 index 0000000..a934663 --- /dev/null +++ b/utils/container-tests/Containerfile.f34 @@ -0,0 +1,18 @@ +FROM fedora:34 + +VOLUME /repo + +RUN dnf update -y && \ + dnf install -y findutils make rsync python3-gobject-base NetworkManager-libnm + +ENV PYTHON_VENV python3.9 + +COPY . /repocopy + +WORKDIR /repocopy + +RUN rm -rf tut* + +RUN make clean && make install-deps-fedora + +WORKDIR / diff --git a/utils/container-tests/Containerfile.rhel7 b/utils/container-tests/Containerfile.rhel7 new file mode 100644 index 0000000..0a0c384 --- /dev/null +++ b/utils/container-tests/Containerfile.rhel7 @@ -0,0 +1,24 @@ +FROM registry.access.redhat.com/ubi7/ubi:7.9 + +VOLUME /repo + +RUN yum update -y && \ + yum install -y python-virtualenv python-setuptools make git rsync + +# see ./Containerfile.ubi7 for explanation +RUN yum -y install python27-python-pip && \ + scl enable python27 -- pip install -U --target /usr/lib/python2.7/site-packages/ pip==20.3.0 && \ + python -m pip install --ignore-installed pip==20.3.4 ipaddress virtualenv + +ENV PYTHON_VENV python2.7 + +COPY . /repocopy + +WORKDIR /repocopy + +RUN rm -rf tut* + +RUN make clean && make install-deps + +WORKDIR / + diff --git a/utils/container-tests/Containerfile.rhel8 b/utils/container-tests/Containerfile.rhel8 new file mode 100644 index 0000000..6f21839 --- /dev/null +++ b/utils/container-tests/Containerfile.rhel8 @@ -0,0 +1,18 @@ +FROM registry.access.redhat.com/ubi8/ubi:latest + +VOLUME /repo + +RUN dnf update -y && \ + dnf install -y python3-virtualenv python3-setuptools python3-pip make git rsync + +ENV PYTHON_VENV python3.6 + +COPY . /repocopy + +WORKDIR /repocopy + +RUN rm -rf tut* + +RUN make clean && make install-deps-fedora + +WORKDIR / diff --git a/utils/container-tests/Containerfile.ubi7 b/utils/container-tests/Containerfile.ubi7 new file mode 100644 index 0000000..c38489e --- /dev/null +++ b/utils/container-tests/Containerfile.ubi7 @@ -0,0 +1,25 @@ +FROM registry.access.redhat.com/ubi7/ubi:7.9 + +VOLUME /payload + +RUN yum update -y && \ + yum install python-virtualenv python-setuptools make git -y + +# NOTE(ivasilev,pstodulk) We need at least pip v10.0.1, however centos:7 +# provides just v8.1.2 (via EPEL). So do this: install epel repos -> install +# python2-pip -> use pip to update to specific pip version we require. period +# NOTE(pstodulk) I see we take care about pip for py3 inside the Makefile, +# however I am afraid of additional possible troubles in future because of the +# archaic pip3 version (v9.0.1). As we want to run tests for Py2 and Py3 in ci +# always anyway, let's put py3 installation here as well.. +# Dropped Python3 as it is now added in its own container on RHEL8 + +# This is some trickery: We install python27-python-pip from the scl, use the scl to bootstrap the python +# module of pip version 20.3.0 and then make it update to 20.3.4 resulting the 'pip' command to be available. +# The --target approach doesn't add it, but at least we now have pip 20.3.4 installed ;-) +RUN yum -y install python27-python-pip && \ + scl enable python27 -- pip install -U --target /usr/lib/python2.7/site-packages/ pip==20.3.0 && \ + python -m pip install --ignore-installed pip==20.3.4 ipaddress virtualenv + +WORKDIR /payload +ENTRYPOINT make install-deps && make test diff --git a/utils/container-tests/Containerfile.ubi8 b/utils/container-tests/Containerfile.ubi8 new file mode 100644 index 0000000..24cee96 --- /dev/null +++ b/utils/container-tests/Containerfile.ubi8 @@ -0,0 +1,9 @@ +FROM registry.access.redhat.com/ubi8/ubi:latest + +VOLUME /payload + +RUN dnf update -y && \ + dnf install python3-virtualenv python3-setuptools python3-pip make git -y + +WORKDIR /payload +ENTRYPOINT make install-deps && make test diff --git a/utils/container-tests/Containerfile.ubi9 b/utils/container-tests/Containerfile.ubi9 new file mode 100644 index 0000000..4460c74 --- /dev/null +++ b/utils/container-tests/Containerfile.ubi9 @@ -0,0 +1,9 @@ +FROM registry.access.redhat.com/ubi9/ubi:latest + +VOLUME /payload + +RUN dnf update -y && \ + dnf install python3-virtualenv python3-setuptools python3-pip make git -y + +WORKDIR /payload +ENTRYPOINT make install-deps && make test diff --git a/utils/dashboard-json-dump.py b/utils/dashboard-json-dump.py new file mode 100755 index 0000000..6f428d5 --- /dev/null +++ b/utils/dashboard-json-dump.py @@ -0,0 +1,15 @@ +from __future__ import print_function +import json + +from leapp.utils.repository import find_repository_basedir +from leapp.repository.scan import find_and_scan_repositories + +base_dir = find_repository_basedir('.') +repository = find_and_scan_repositories(base_dir, include_locals=True) + +repository.load() + +if not hasattr(repository, 'repos'): + repository.repos = [repository] + +print(json.dumps([repo.serialize() for repo in repository.repos])) diff --git a/utils/get_latest_copr_build b/utils/get_latest_copr_build new file mode 100755 index 0000000..9e96be5 --- /dev/null +++ b/utils/get_latest_copr_build @@ -0,0 +1,93 @@ +#!/usr/bin/python3 + +import json +import os +import re +import sys + +import copr.v3 + +ENV_VARS = { + '_COPR_CONFIG': '~/.config/copr', # Copr config file. Get it through https:///api/. + 'COPR_OWNER': '', # Owner of the Copr project + 'COPR_PROJECT': '', # The Copr project to search + 'COPR_PACKAGE': '', # Name of the package to look for. This is optional - if empty, any package in the + # project is considered. + 'PKG_RELEASE': '', # The release part of the pkg NEVRA string, e.g. + # 0.201906041623Z.f82f863.add_missing_deps.PR231 + 'COPR_REPO': '', # An alternative to COPR_OWNER & COPR_PROJECT. This env var should hold "owner/project". + 'REGEX': '' # A more general way to search for release_id matches via regex. Generalization of PKG_RELEASE +} +# override defaults with environment variables +for env, default in ENV_VARS.items(): + ENV_VARS[env] = os.getenv(env, default) + + +def _fail(error): + if not error.endswith('\n'): + error += '\n' + sys.stderr.write(error) + # dump ENV dictionary + sys.stderr.write('Passed (or default) environment variables:\n') + for var, value in ENV_VARS.items(): + sys.stderr.write(' {}: {}\n'.format(var, value)) + sys.exit(1) + + +def get_builds(ownername, projectname, configpath, client=None, debug=False): + client = client or copr.v3.Client(copr.v3.config_from_file(path=configpath)) + builds = client.build_proxy.get_list(status='succeeded', + pagination={'order': 'id', 'order_type': 'DESC'}, + ownername=ownername, + projectname=projectname, + packagename=ENV_VARS['COPR_PACKAGE']) + if debug: + json.dump(builds, sys.stderr, sort_keys=True, indent=2) + sys.stderr.write('\n') + return builds + + +def get_latest_build(ownername, projectname, configpath, match_criteria, client=None, debug=False): + client = client or copr.v3.Client(copr.v3.config_from_file(path=configpath)) + builds = get_builds(ownername, projectname, configpath, client, debug) + for build in builds: + # Version in COPR contains VERSION-RELEASE string. We need just the release. + full_name = '{}-{}'.format(build['source_package']['name'], build['source_package']['version']) + release = build['source_package']['version'].split('-')[-1] + if re.match(match_criteria, full_name) or release.startswith(match_criteria): + return build['id'] + return None + + +if __name__ == "__main__": + # Vet arguments in ENV first + ownername = ENV_VARS['COPR_OWNER'] + projectname = ENV_VARS['COPR_PROJECT'] + if ENV_VARS['COPR_REPO']: + if '/' in ENV_VARS['COPR_REPO']: + ownername, projectname = ENV_VARS['COPR_REPO'].split('/', 1) + else: + projectname = ENV_VARS['COPR_REPO'] + # If after all those actions either owner or project is not defined - give up and fail + if not ownername or not projectname: + error = ('Error: Use either COPR_REPO env var in a format "owner/project" or ' + 'COPR_OWNER & COPR_PROJECT env vars to specify the Copr repository to search in.') + _fail(error) + # Check that match criteria is defined + match_criteria = ENV_VARS['REGEX'] or ENV_VARS['PKG_RELEASE'] + # If both REGEX and PKG_RELEASE have been set - inform that regex takes over + if ENV_VARS['REGEX'] and ENV_VARS['PKG_RELEASE']: + sys.stderr.write('Warning: Both REGEX and PKG_RELEASE were set - REGEX has higher priority\n') + if not match_criteria: + error = 'Error: Use either PKG_RELEASE or REGEX env var to specify the match condition for NEVRA string.' + _fail(error) + build_id = get_latest_build(ownername=ownername, + projectname=projectname, + configpath=os.path.expandvars(ENV_VARS['_COPR_CONFIG']), + match_criteria=match_criteria, + debug='--debug' in sys.argv[1:]) + if not build_id: + error = 'Error: The build with the required release has not been found: {}'.format(match_criteria) + _fail(error) + # Output the id of the latest matching build + print(build_id) diff --git a/utils/ibdmp-decode b/utils/ibdmp-decode new file mode 100755 index 0000000..1386835 --- /dev/null +++ b/utils/ibdmp-decode @@ -0,0 +1,265 @@ +#!/usr/bin/python3 + +import base64 +import collections +import hashlib +import re +import sys + +DEBUG = False +RE_HEADER = r'_ibdmp:[0-9]+/[0-9]+[|]chunks=[0-9]+,md5=[0-9a-f]+[|]' +RE_CHUNK = r'_ibdmp:[0-9]+/[0-9]+[|][0-9]+:[A-Za-z0-9+/=]+[|]' + + +def USAGE(): + self = sys.argv[0].split('/')[-1] + lines = [ + "usage: %s path/to/console.log path/to/target.tar.xz" % self, + "", + "Decode debug tarball emitted by leapp's initramfs in-band", + "console debugger, ibdmp().", + ] + sys.stderr.writelines('%s\n' % l for l in lines) + sys.exit(2) + + +def LOG_DEBUG(msg): + if DEBUG: + sys.stderr.write('DEBUG: %s\n' % msg) + + +def LOG_WARN(msg): + sys.stderr.write('%s\n' % msg) + + +class IbdmpDecodeError(ValueError): + pass + + +class UsageError(ValueError): + pass + + +class _Chunk: + + @classmethod + def from_raw1(cls, raw_chunk): + if not raw_chunk.startswith('_ibdmp:'): + LOG_WARN("invalid chunk payload (no '_ibdmp:'?): %s" + % raw_chunk) + raise IbdmpDecodeError(raw_chunk) + areas = raw_chunk.split('|') + parts = areas[1].split(':') + return cls( + ordinal=int(parts[0]), + payload=str(parts[1]), + ) + + def __init__(self, ordinal, payload): + self.ordinal = ordinal + self.payload = payload + + +class Header: + """ + Chunk set header + """ + + @classmethod + def from_rawN(cls, raw_headers): + """ + Initialize chunk header from header chunk candidates + + raw_headers is a list of strings that contain encoded chunk + parameters for the whole chunk set, ie. number of chunks, number + of iterations, and MD5 hash of the content encoded in the chunk set. + + Raw header chunks can be corrupted so this factory will choose + winner based on prevalence. + + For chunk set example in ChunkCounter.__init__ corresponding + raw headers could look similar to this: + + _ibdmp:1/3|chunks=2,md5=281cc34e13cb4a502abd340fd07c4020| + _ibdmp:2/3|chunks=2,md5=281cc34e13cb4a502abd340fd07c4020| + _ibdmp:3/3|chun?s=2,md5=281cc34e13cb4a502abd340fd07c4020| + + In this case, the winner is the first and second one. + """ + cntr = collections.Counter([ + Header._from_raw1(rh) for rh in raw_headers + ]) + if not cntr: + LOG_WARN("no dumps found in this console log") + raise IbdmpDecodeError() + winner = cntr.most_common()[0][0] + LOG_DEBUG("header winner: %s" % winner) + return winner + + @classmethod + def _from_raw1(cls, raw_header): + parts = raw_header.split('|') + _, stats = parts[0].split(':') + pairs = parts[1].split(',') + if not pairs[0].startswith('chunks='): + LOG_WARN("invalid header chunk payload (no chunks=?): %s" + % raw_header) + raise IbdmpDecodeError(raw_header) + if not pairs[1].startswith('md5='): + LOG_WARN("invalid header chunk payload (no md5=?): %s" + % raw_header) + raise IbdmpDecodeError(raw_header) + return cls( + chunks=int(pairs[0].split('=')[1]), + md5=str(pairs[1].split('=')[1]), + csets=int(stats.split('/')[1]), + ) + + def __init__(self, chunks, md5, csets): + self.chunks = chunks + self.md5 = md5 + self.csets = csets + + def __eq__(self, othr): + return (self.chunks, self.md5) == (othr.chunks, othr.md5) + + def __hash__(self): + return hash((self.chunks, self.md5)) + + def __neq__(self, othr): + return not self.__eq__(othr) + + def __str__(self): + return ("Header(csets=%r,chunks=%r,md5=%r)" + % (self.csets, self.chunks, self.md5)) + + +class ChunkCounter: + """ + Chunk collector + + Initialize with Header that you have some condfidence in + (see Header.from_rawN), and set of raw chunks. + + Chunks could be corrupted but they should come in N replicated + sets, so for every position in the chunk set, the initializer + will select most prevalent variant of the given chunk. + + Eg. if chunk set was: + + _ibdmp:1/3|1:A/sl1cEofBASe64/| + _ibdmp:1/3|2:paDD3d==========| + _ibdmp:2/3|1:A/sl1cEofBASe64/| + _ibdmp:2/3|2:paDD3d========!=| + _ibdmp:3/3|1:A/sl1cEofBASe64/| + _ibdmp:3/3|2:paDD3d==========| + + on position 2, the corrupted chunk will be removed. + + Use decode() to get the encoded tarball bytes, or decode_to() + to write it to a file. + """ + + def __init__(self, header, raw_chunks): + self.header = header + self._bagset = collections.defaultdict(collections.Counter) + LOG_DEBUG('header.chunks=%r' % header.chunks) + for cr in raw_chunks: + c = _Chunk.from_raw1(cr) + LOG_DEBUG('c.ordinal=%r' % c.ordinal) + self._bagset[c.ordinal].update([c.payload]) + + @property + def chunks(self): + """ + Selected chunks from all known + """ + out = [] + for idx in range(1, self.header.chunks + 1): + cbag = self._bagset.get(idx) + if not cbag: + sys.stderr.write('Missing chunk id: %d/%d\n' + % (idx, self.header.chunks)) + continue + winner, score = cbag.most_common()[0] + confidence = 100 * (score / self.header.csets) + LOG_DEBUG("chunk position winner: %d: %s (%d%%)" + % (idx, winner, confidence)) + out.append(winner) + return out + + def decode(self): + """ + Decode tarball from valid chunk data + """ + tarball = base64.b64decode(''.join(self.chunks)) + tarball_md5 = hashlib.md5(tarball).hexdigest() + if not tarball_md5 == self.header.md5: + LOG_WARN("MD5 mismatch: %s != %s" % (tarball_md5, self.header.md5)) + return tarball + + def decode_to(self, tarpath): + """ + Decode and write tarball to *path*. + """ + with open(tarpath, 'w') as f: + f.buffer.write(self.decode()) + + +def readwin2(fh): + """ + From filehandle *fh*, yield joined lines 1+2, then 2+3, + etc. Whitespace is stripped before joining. + """ + a = fh.readline() + if not a: + return + while True: + b = fh.readline() + if not b: + return + out = a.rstrip() + b.rstrip() + a, b = b, None + yield out + + +def main(args): + + LOG_DEBUG(args) + try: + source, target = args + except ValueError: + raise UsageError() + + raw_headers = set() + raw_chunks = set() + + with open(source) as f: + for jline in readwin2(f): + for m in re.findall(RE_HEADER, jline): + raw_headers.add(m) + for m in re.findall(RE_CHUNK, jline): + raw_chunks.add(m) + + if not raw_headers: + LOG_WARN("no headers found") + raise IbdmpDecodeError() + LOG_DEBUG("raw headers found: %d" % len(raw_headers)) + + if not raw_chunks: + LOG_WARN("no chunks found") + raise IbdmpDecodeError() + LOG_DEBUG("raw chunks found: %d" % len(raw_chunks)) + + header = Header.from_rawN(raw_headers) + ccounter = ChunkCounter(header, raw_chunks) + ccounter.decode_to(target) + + +if __name__ == '__main__': + try: + main(sys.argv[1:]) + except UsageError: + USAGE() + except IbdmpDecodeError: + sys.exit(3) diff --git a/utils/install_actor_deps.py b/utils/install_actor_deps.py new file mode 100644 index 0000000..b0b0c76 --- /dev/null +++ b/utils/install_actor_deps.py @@ -0,0 +1,66 @@ +""" +Script for installing dependencies for specific actor. +It is called from Makefile install-deps target. +If given actor doesn't exist, script exits with return +code 1 and stderr message. +If given actor doesn't have Makefile, warning printed on stderr. +If no actor is specified dependencies will be installed +for all actors with Makefile. + +usage: python install_actor_deps.py [--actor actorname] +""" + +import argparse +import os +import sys +from subprocess import check_call, CalledProcessError + + +def error(msg, rc): + sys.stderr.write(msg) + sys.exit(rc) + + +def install(path): + cmd = "make -f {} install-deps".format(path) + try: + check_call(cmd, shell=True) + except CalledProcessError as e: + error(str(e) + '\n', e.returncode) + + +def install_actor_deps(actor, directory): + for root, dirs, files in os.walk(directory): + if actor in dirs: + makefile_path = os.path.join(root, actor, 'Makefile') + if os.path.isfile(makefile_path): + install(makefile_path) + else: + sys.stderr.write("Actor '{}' doesn't have Makefile!\n".format(actor)) + return + error("Actor '{}' doesn't exist!\n".format(actor), 1) + + +def install_all_deps(directory, repos): + repos = repos.split() if repos else repos + for root, dirs, files in os.walk(directory): + if repos and not any([repo in dirs for repo in repos]): + continue + if 'Makefile' in files: + install(os.path.join(root, 'Makefile')) + + +if __name__ == "__main__": + ACTORS_DIR = './repos' + + parser = argparse.ArgumentParser() + parser.add_argument( + "--actor", help="name of the actor for which to install dependencies") + parser.add_argument( + "--repos", help="repositories to look into") + args = parser.parse_args() + + if args.actor: + install_actor_deps(args.actor, ACTORS_DIR) + else: + install_all_deps(ACTORS_DIR, args.repos) diff --git a/utils/install_commands.sh b/utils/install_commands.sh new file mode 100755 index 0000000..877b4c7 --- /dev/null +++ b/utils/install_commands.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +LEAPP_CLI_COMMANDS_PATH=$($1 -c "import leapp.cli.commands; print(leapp.cli.commands.__path__[0])") +echo "Installing commands to \"$LEAPP_CLI_COMMANDS_PATH\"" +for folder in `ls -1 commands/`; do + if [[ $folder != "tests" ]]; then + cp -a commands/$folder $LEAPP_CLI_COMMANDS_PATH; + fi +done diff --git a/utils/library_path.py b/utils/library_path.py new file mode 100755 index 0000000..43a5485 --- /dev/null +++ b/utils/library_path.py @@ -0,0 +1,15 @@ +import logging +import sys + +from leapp.repository.scan import find_and_scan_repositories + + +if __name__ == '__main__': + logging.basicConfig(level=logging.INFO, filename='/dev/null') + logger = logging.getLogger('run_pytest.py') + + BASE_REPO = 'repos' + repos = find_and_scan_repositories(BASE_REPO, include_locals=True) + repos.load() + + print(' '.join(repos.libraries)) diff --git a/utils/update_dashboard.sh b/utils/update_dashboard.sh new file mode 100755 index 0000000..b9f425c --- /dev/null +++ b/utils/update_dashboard.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Decrypt private SSH key +ENCRYPTED_FILE=.travis/githubio-data-idrsa +DECRYPTED_FILE=${ENCRYPTED_FILE}-dec +openssl aes-256-cbc -K $aes_encryption_key -iv $aes_encryption_iv -in $ENCRYPTED_FILE -out $DECRYPTED_FILE -d + +# Setup SSH agent with decrypted private SSH key +eval "$(ssh-agent -s)" +chmod 0600 $DECRYPTED_FILE +ssh-add $DECRYPTED_FILE + +# Clone githubio-data repository +git clone --depth 1 --branch master git@github.com:oamg/githubio-data + +cd githubio-data +# Setting username and email for committer +git config user.name "Leapp Build Automation" +git config user.email "leapp+build+automation@not-for-real.leapp" + +# Update data +mv -f ../discover.json files/discover.json + +# Stage and commit +git add files/discover.json +git commit -s -m "Leapp dashboard discover for ${TRAVIS_COMMIT}" --allow-empty + +# Push changes +git push origin master